血漿浸透圧の計算
ナトリウム140、血糖90 mg/dL、BUN 14 mg/dLなら、計算上の血漿浸透圧は290 mOsm/kgです。基本的な血液検査の値と、必要ならエタノールを入力すると、合計と各項の寄与が分かります。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- ナトリウム
- 140
- 血糖値
- 90
- Bun
- 14
- エタノール
- 0 mOsm/kg
- ナトリウム項
- 280
- グルコース項
- 5
- BUN項
- 5
算出血漿浸透圧は、基本的な生化学パネルを水1キログラムあたりのミリオスモルに換算して、血漿がどれほど濃いかを見積もります。学生、看護職、ヘルスケアソフトのチームは、張度の学習、低ナトリウム血症の復習、グルコースと尿素がナトリウムほど有効張度を持たずにオスモルを加える理由の説明で、この数値を使います。本計算機はWorthleyの2倍ナトリウム式を適用します。血清ナトリウムの2倍にグルコースを18で割った値と血中尿素窒素を2.8で割った値を加え、任意でエタノールを4.6で割った項を足し、合計を mOsm/kg と各寄与として返します。グルコースと BUN はミリグラム毎デシリットルの非負の有限数として必須です。エタノールを省略するとゼロになります。
算出血漿浸透圧が測るものと必要な入力
血漿浸透圧は、血漿水1キログラムあたりの溶質オスモル数です。検査室は凝固点降下で実測できますが、日常の教育用の値はナトリウム、グルコース、血中尿素窒素からの算出推定です。ナトリウムとそれに伴う陰イオンが数を支配するため、Worthley式はミリ当量毎リットルのナトリウム濃度を2倍します。
ミリグラム毎デシリットルのグルコースは18で割ってミリモル毎リットルに換算します。これはグルコース分子量を10で割った値です。ミリグラム毎デシリットルの血中尿素窒素は2.8で割って換算します。
これは尿素の窒素質量を10で割った値です。エタノールがあるときは4.6で割ります。任意のエタノール(ミリグラム毎デシリットル)はアルコール項を加えます。
省略するとエンジンはゼロを使い、エタノール寄与は透明な無操作になります。教室と一般利用の入力を健全に保つ実用範囲は、ナトリウムがゼロより大きく300まで、グルコース0から2000、BUN 0から400、エタノール0から1000です。非正の血清ナトリウムはこの計算機の妥当なパネルではないためです。
経路は純粋な算術で、ネットワークもモデルも乱数シードも壁時計もありません。
授業や実務での使い方と限界
教室デモ、看護の宿題確認、表計算ごとに Worthley の除数を再実装しない個人学習には、ブラウザ上の無料の血漿浸透圧計算機を使います。検証失敗はエンジンが拒否したあと残高を消費しません。自前の検査単位と臨床フローと組み合わせてください。
慣用単位を一貫させてください。画面が整数しか集めない場合は整数を送り、エンジンは数値文字列も受け付けます。期待は教育用に保ってください。
これは計算と学習の道具であり診断用医療機器ではありません。症状、既知の電解質異常、腎疾患、中毒性アルコール摂取の疑いがある方は、単一の自動数値だけに頼らず専門の医学的助言に従ってください。
活用例
健康教育アプリとワークシート
高血糖、窒素血症、エタノールがそれぞれ算出血漿浸透圧を上げる様子を、18・2.8・4.6 の除数を各クライアントで再実装せずに示します。
よくある質問
血漿浸透圧はどう計算しますか?
Na は mEq/L、グルコース・BUN・エタノールは mg/dL です。応答は mOsm/kg の osmolality と各項を含みます。
どの単位を送ればよいですか?
ナトリウムは mEq/L(Na+ では mmol/L と同じ)。グルコース、血中尿素窒素、任意のエタノールは mg/dL です。グルコースや尿素の SI の mmol/L は送らないでください。項が過小になります。
ナトリウムがゼロまたは負だとどうなりますか?
ナトリウムはゼロより大きい正の数でなければならず、欠落・非数値・ゼロ・負は拒否され課金されません。
エタノールは必須ですか?
いいえ。 エタノールは任意で既定はゼロなので、エタノール項は実質的に和に入りません。
式でナトリウムを2倍にするのはなぜですか?
ナトリウムとそれに伴う陰イオンが、溶けている粒子の大部分を占めるからです。そのためWorthley式ではナトリウムを2倍にし、血糖と尿素は小さな項として加えます。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/health/plasma-osmolality \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"sodium":140,"glucose":90,"bun":14}'const res = await fetch("https://api.kit.forhosting.com/health/plasma-osmolality", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"sodium": 140,
"glucose": 90,
"bun": 14
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/health/plasma-osmolality",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"sodium": 140,
"glucose": 90,
"bun": 14
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/health/plasma-osmolality", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"sodium":140,"glucose":90,"bun":14}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"sodium":140,"glucose":90,"bun":14}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/health/plasma-osmolality", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"sodium": 140,
"glucose": 90,
"bun": 14
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "health.plasma_osmolality",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
ナトリウムは厳密に正の有限数でなければならず、ゼロ・負・欠落・非数値は invalid_input で失敗し課金されません。
算出血漿浸透圧が測るものと必要な入力
必須フィールド sodium、glucose、bun を有限数で送ってください。文書化されている na、glu、blood_urea_nitrogen、etoh などの別名も受け付けます。正の数でないナトリウム(ゼロ、負、欠落、空、無限、非数値)は invalid_input で失敗します。同一入力は常に同一の JSON を返します。
浸透圧、寄与項、応答フィールドの読み方
ワークシート用の算出値だけなら osmolality を使い、高血糖や窒素血症が推定を上げる理由、飲酒歴パネルがエタノール項を要する理由を教えるときは4項を使ってください。van’t Hoff因子からの化学オスモル濃度、実測浸透圧も必要な浸透圧ギャップ製品、すでにミリモル毎リットルのグルコースと尿素を足す SI 単位の計算機と混同しないでください。検索意図も契約も異なります。成功時の応答は、安定した丸めで sodium、glucose、bun、ethanol を返し、unit を mOsm/kg にし、ethanol_provided でクライアントがエタノールを送ったかゼロの既定が使われたかを示します。osmolality フィールドは4項の和です。sodium_term はナトリウムの2倍、glucose_term はグルコースを18で割った値、bun_term は BUN を2.8で割った値、ethanol_term はエタノールを4.6で割った値です。formula 文字列はその Worthley 恒等式を再掲し、method は常に worthley_2na なので、下流コードは形を嗅がずに分岐できます。典型的な成人パネル(ナトリウム140、グルコース90、BUN 14)は280+5+5、すなわち290 mOsm/kg となり、アルコールを省略すると ethanol_term はゼロです。必須欠落、非有限値、範囲外、負のグルコースや BUN、正の数でないナトリウムはすべて invalid_input で失敗し課金されません。
APIの使い方、料金、業務フロー、実用上の限界
必須の sodium、glucose、bun と、アルコール寄与を含めたいときの任意エタノールを JSON 本体で送ってください。健康 SaaS、電子ワークシート、シミュレーションラボ、学習塾、学校 LMS が安定契約を必要とするときは、成功1件あたり $0.002 の KIT 残高による前払い API を使います。グルコースと BUN がミリグラム毎デシリットルでありミリモル毎リットルではないこと、エタノールが呼気値ではなく血清濃度であることを確認し、生パネルとともに osmolality をダッシュボードと sodium、glucose、bun、ethanol、osmolality のエクスポート列へ保存します。SDK を出す作者は osmolality を表、自ら定義する教育用基準帯、式文字列と各項を示す段階的な教材カードへ写せます。
連携の活用例
看護・医学部の宿題
学生が Na・グルコース・BUN パネルを提出し、決定的な Worthley 項つきの期待浸透圧 JSON を自動採点に固定します。
シミュレーションラボと SaaS バックエンド
基本代謝パネルを既に保存するサーバパイプラインが、言語ごとに式を複製せず前払い endpoint で Posm フィールドを取得します。
技術的な質問
血漿浸透圧の計算は無料ですか?
ブラウザツールはお使いの端末で無料です。API 呼び出しは成功1件あたり $0.002 の前払い KIT 残高を使い、検証失敗は課金されません。