BMIは体格指数で、体重と身長から算出されます。1835年にベルギーの数学者アドルフケトレーが、統計的手法を用いて人の身長に対する理想的体重を調べ、実際の体重と比較するための指数として提案したものです。体脂肪率を反映していないため粗い尺度ですが、身長と体重は測定が頑健であり、集団間の比較が可能なため採用されています。
BMI
ノード: bmi
概要
禁忌・注意:
小児および思春期は成長過程にあるため、BMIではなく成長曲線を用いるのが一般的です。
利用対象・利用前提:
成人にのみ用いられる指標です。
算出元データ:
※他のノードのデータで代用可能な場合があります。上記の算出元ノードから遡って確認できます。
算出規則:
算出式
BMI = 体重(kg) ÷ (身長(m))²
エビデンス・出典:
Obesity : preventing and managing the global epidemic : report of a WHO consultation
日本肥満学会は、2000年に「新しい肥満の判定と肥満症の診断基準」を発表し、体格指数(Body Mass Index: BMI)を用いて肥満を判定しています。日本においては、疾患合併率が最も低い BMI 22 を標準体重とし、BMI ≧ 25 を肥満と判定しています。65歳以上の高齢者はフレイルの観点から、日本人の栄養摂取基準(2020年版)において、高齢者のエネルギー必要量の算出では、BMIの範囲の下限が20から21.5 kg/m²のBMIに引き上げられています。
※本ノードの判定基準は、上記ガイドラインなど公的資料に基づいて作成しておりますが、すべての個別条件を反映できるものではありません。
APIリファレンス:
リクエスト例
https://myw-api.wellcle.com/inout/{ノード ID}/
| メソッド | リクエスト URL | 備考 |
|---|---|---|
| POST | https://myw-api.wellcle.com/inout/bmi/ | httpsのみ有効 |
| キー | 値 | 備考 |
|---|---|---|
| Content-Type | application/json | - |
| X-Wellcleapi-Key | {API キー} | {API キー}は、利用登録後に提供するキーを使用する。 |
パラメータ構造
リクエストのボディー部に、JSON形式で下記例のようにphdパラメータを渡す。
phdパラメータは、配列オブジェクトとして、健診データなどの各種データを設定して渡す。
本来数値であるデータ含め、全て文字列データ(JSON においてダブルクォーテーションで囲む)として渡す。
例:BMIノード
{
"phd":{
"height":"171.2",
"weight":"93.4"
}
}
phdパラメータ(BMIノード)
| パラメータ | 型 | 内容 | 有効値範囲 |
|---|---|---|---|
| bmi | number | BMI | min: 0 ~ max: 99.9 |
| height | number | 身長 | min: 0 ~ max: 999.9 |
| weight | number | 体重 | min: 0 ~ max: 999.9 |
レスポンスパラメータ
| パラメータ | 内容 |
|---|---|
| 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/bmi/": {
"post": {
"summary": "bmiノードを実行し、算出結果を返す",
"operationId": "bmi",
"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": {
"bmi": {
"type": "number",
"minimum": 0,
"maximum": 99.9,
"description": "BMI"
},
"height": {
"type": "number",
"minimum": 0,
"maximum": 999.9,
"description": "身長"
},
"weight": {
"type": "number",
"minimum": 0,
"maximum": 999.9,
"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
}
}
}
}
}
}
}
}
}