中性脂肪の値を、脂質異常診断基準および、標準的な健診・保健指導プログラム(令和6年度版)に記述されている保健指導判定値・受診勧奨判定値を基に判定するものです。基本的には10時間以上の空腹時の採血を想定していますが、令和5年度までの健診データは食後時間を合わせた判定はされていません。
中性脂肪判定
ノード: nfat_level
概要
利用対象・利用前提:
成人(15歳以上)
算出元データ:
※他のノードのデータで代用可能な場合があります。上記の算出元ノードから遡って確認できます。
算出規則:
1.中性脂肪値 nfat が未入力の場合:
| 条件 | 返却値 | 備考 |
|---|---|---|
| nfat が未入力 | (空文字) | 値が存在しない場合 |
2.空腹時中性脂肪として扱う条件:
次のいずれかを満たす場合、nfat を「空腹時」とみなす。
- 採血時間 bctaftermeal が「食後10時間以上」
- fnfat が有効で、かつ fnfat == nfat
| 条件(nfat) | 返却値 | 備考 |
|---|---|---|
| nfat ≥ 1000 | 9 | |
| nfat ≥ 500 | 8 | |
| nfat ≥ 300 | 7 | |
| nfat ≥ 150 | 4 | |
| nfat < 150 | 1 |
3.随時中性脂肪として扱う条件:
次のいずれかを満たす場合、nfat を「随時(非空腹時)」とみなす。
- 採血時間 bctaftermeal が有効で「食後10時間以上」以外
- cnfat が有効で、かつ cnfat == nfat
| 条件(nfat) | 返却値 | 備考 |
|---|---|---|
| nfat ≥ 1000 | 9 | |
| nfat ≥ 500 | 8 | |
| nfat ≥ 300 | 7 | |
| nfat ≥ 175 | 4 | |
| nfat < 175 | 1 |
4.空腹か随時か判定できない場合:
(上記2・3のどちらの条件にも当てはまらない場合)
メッセージ:「採血時間(食後)が不明ですが随時中性脂肪として取り扱いました」
| 条件(nfat) | 返却値 | 備考 |
|---|---|---|
| nfat ≥ 1000 | 9 | 随時基準を使用 |
| nfat ≥ 500 | 8 | |
| nfat ≥ 300 | 7 | |
| nfat ≥ 175 | 4 | |
| nfat < 175 | 1 |
エビデンス・出典:
動脈硬化性疾患予防ガイドライン 2022年版特定健康診査
特定保健指導の円滑な実施に向けた手引き(第 4.2版)
※本ノードの判定基準は、上記ガイドラインなど公的資料に基づいて作成しておりますが、すべての個別条件を反映できるものではありません。
APIリファレンス:
リクエスト例
https://myw-api.wellcle.com/inout/{ノード ID}/
| メソッド | リクエスト URL | 備考 |
|---|---|---|
| POST | https://myw-api.wellcle.com/inout/nfat_level/ | httpsのみ有効 |
| キー | 値 | 備考 |
|---|---|---|
| Content-Type | application/json | - |
| X-Wellcleapi-Key | {API キー} | {API キー}は、利用登録後に提供するキーを使用する。 |
パラメータ構造
リクエストのボディー部に、JSON形式で下記例のようにphdパラメータを渡す。
phdパラメータは、配列オブジェクトとして、健診データなどの各種データを設定して渡す。
本来数値であるデータ含め、全て文字列データ(JSON においてダブルクォーテーションで囲む)として渡す。
例:BMIノード
{
"phd":{
"height":"171.2",
"weight":"93.4"
}
}
phdパラメータ(中性脂肪判定ノード)
| パラメータ | 型 | 内容 | 有効値範囲 |
|---|---|---|---|
| nfat | integer | 中性脂肪 | min: 0 ~ max: 99999 |
| bctaftermeal | string | 採血時間(食後) - 1: 食後10時間未満 - 2: 食後10時間以上 - 3: 食後3.5時間以上10時間未満 - 4: 食後3.5時間未満 | - |
| fnfat | integer | 空腹時中性脂肪 | min: 0 ~ max: 99999 |
| cnfat | integer | 随時中性脂肪 | min: 0 ~ max: 99999 |
レスポンスパラメータ
| パラメータ | 内容 |
|---|---|
| node | ノードID |
| name | ノード名 |
| status | ステータスコード(下表参照) |
| msg | メッセージ |
| value | 結果値 |
| base | 当該健康情報を算出するにあたり元となった健康情報・健診データのレスポンスを配列で出力する。 ※当該レスポンスを base パラメーター内で再帰的に出力する。 |
上記以外に健康情報に付属する解説等を出力する場合があります。
ステータスコード
| httpステータス | ステータスコード(status) | 内容 |
|---|---|---|
| 200 | 1 | 正常 |
| 220 | 2 | ワーニング (結果値を出力したが注釈がある) |
| 430 | 3 | 通常エラー (結果値を出力するための計算に失敗した) |
| 440 | 4 | 設定エラー (リクエスト時のAPIキーの不整合やroleパラメーターの誤り等) |
| 450 | 5 | 内部エラー (システム内部の問題が発生した) |
上記以外に、200番台、400番台における標準的なhttpステータスコードを出力する場合があります。
{
"openapi": "3.1.0",
"info": {
"title": "WellcleAPI",
"description": "健診結果から健康情報を提供するAPI",
"version": "v1.1"
},
"servers": [
{
"url": "https://myw-api.wellcle.com"
}
],
"paths": {
"/inout/nfat_level/": {
"post": {
"summary": "nfat_levelノードを実行し、算出結果を返す",
"operationId": "nfat_level",
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"role": {
"type": "object",
"description": "ロール情報",
"properties": {
"revision": {
"type": "string",
"enum": [
"2"
],
"description": "リビジョン指定"
},
"mode": {
"type": "string",
"enum": [
"1"
],
"description": "選択肢のコード指定\n- 0: 自動判定\n- 1: コード指定"
}
},
"additionalProperties": true
},
"phd": {
"type": "object",
"description": "PHR",
"properties": {
"nfat": {
"type": "integer",
"minimum": 0,
"maximum": 99999,
"description": "中性脂肪"
},
"bctaftermeal": {
"type": "string",
"enum": [
"",
"1",
"2",
"3",
"4"
],
"description": "採血時間(食後)\n- 1: 食後10時間未満\n- 2: 食後10時間以上\n- 3: 食後3.5時間以上10時間未満\n- 4: 食後3.5時間未満"
},
"fnfat": {
"type": "integer",
"minimum": 0,
"maximum": 99999,
"description": "空腹時中性脂肪"
},
"cnfat": {
"type": "integer",
"minimum": 0,
"maximum": 99999,
"description": "随時中性脂肪"
}
},
"additionalProperties": true
}
},
"required": [
"phd"
]
}
}
}
},
"responses": {
"200": {
"description": "正常",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"status": {
"type": "integer",
"enum": [
1,
2
],
"description": "出力ステータス\n- 1: 正常\n- 2: 正常(注釈あり)"
},
"value": {
"type": "string",
"description": "結果値"
},
"url": {
"type": "string",
"description": "結果URL"
},
"msg": {
"type": "string",
"description": "メッセージ"
},
"validation": {
"type": "array",
"items": {
"type": "object",
"properties": {
"node": {
"type": "string"
},
"status": {
"type": "integer",
"enum": [
1,
2,
3,
4,
5
],
"description": "入力ステータス\n- 1: 正常\n- 2: 正常(注釈あり)\n- 3: 入力エラー\n- 4: 設定エラー\n- 5: 内部エラー"
},
"msg": {
"type": "string",
"description": "メッセージ"
}
},
"description": "入力値判定"
}
}
},
"required": [
"status"
],
"additionalProperties": true
}
}
}
},
"422": {
"description": "算出エラー",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"status": {
"type": "integer",
"enum": [
3
],
"description": "出力ステータス\n- 3: 算出エラー"
},
"msg": {
"type": "string",
"description": "メッセージ"
},
"validation": {
"type": "array",
"items": {
"type": "object",
"properties": {
"node": {
"type": "string"
},
"status": {
"type": "integer",
"enum": [
1,
2,
3,
4,
5
],
"description": "入力ステータス\n- 1: 正常\n- 2: 正常(注釈あり)\n- 3: 入力エラー\n- 4: 設定エラー\n- 5: 内部エラー"
},
"msg": {
"type": "string",
"description": "メッセージ"
}
},
"description": "入力値判定"
}
}
},
"required": [
"status"
],
"additionalProperties": true
}
}
}
},
"400": {
"description": "設定エラー",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"status": {
"type": "integer",
"enum": [
4
],
"description": "出力ステータス\n- 4: 設定エラー"
},
"msg": {
"type": "string",
"description": "メッセージ"
},
"validation": {
"type": "array",
"items": {
"type": "object",
"properties": {
"node": {
"type": "string"
},
"status": {
"type": "integer",
"enum": [
1,
2,
3,
4,
5
],
"description": "入力ステータス\n- 1: 正常\n- 2: 正常(注釈あり)\n- 3: 入力エラー\n- 4: 設定エラー\n- 5: 内部エラー"
},
"msg": {
"type": "string",
"description": "メッセージ"
}
},
"description": "入力値判定"
}
}
},
"required": [
"status"
],
"additionalProperties": true
}
}
}
},
"500": {
"description": "内部エラー",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"status": {
"type": "integer",
"enum": [
5
],
"description": "出力ステータス\n- 5: 内部エラー"
},
"msg": {
"type": "string",
"description": "メッセージ"
},
"validation": {
"type": "array",
"items": {
"type": "object",
"properties": {
"node": {
"type": "string"
},
"status": {
"type": "integer",
"enum": [
1,
2,
3,
4,
5
],
"description": "入力ステータス\n- 1: 正常\n- 2: 正常(注釈あり)\n- 3: 入力エラー\n- 4: 設定エラー\n- 5: 内部エラー"
},
"msg": {
"type": "string",
"description": "メッセージ"
}
},
"description": "入力値判定"
}
}
},
"required": [
"status"
],
"additionalProperties": true
}
}
}
}
}
}
}
}
}