運転中や日常生活で気づきにくい視野障害のリスク因子や自覚症状の有無を整理し、眼科健診の受診が推奨されるかどうかを確認するためのノードです。緑内障や網膜色素変性症など、視野障害の原因となる疾患は初期には自覚症状が乏しいことが多く、視力検査のみでは見逃される場合があります。そのため、本ノードでは年齢、生活習慣、既往歴、運転時の気づきなど、健診等で把握可能な項目をもとに受診勧奨の必要性を判断します。本ノードは医学的な診断を行うものではなく、眼科健診・眼科精密検査の受診を促すことを目的としています。
概要
禁忌・注意:
本ノードの結果は診断を示すものではありません。判定結果にかかわらず、見え方に異常を感じる場合や気になる症状がある場合は、速やかに眼科を受診してください。
算出元データ:
age(年齢) qsn_smoking(喫煙) vision_high_myopia(強度の近視である) vision_night_difficulty(暗いところでは見えづらい) family_history_glaucoma(家族に緑内障の人がいる) family_history_retinitis_pigmentosa(家族に網膜色素変性症の人がいる) medical_history_diabetes(糖尿病と診断された) age_over_40(40歳以上である) smoking_status_current(喫煙している) healthcheck_hypertension(健診等で高血圧を指摘された) healthcheck_dyslipidemia(健診等で脂質異常を指摘された) driving_sudden_obstacle(突然、他の車や歩行者等が目の前に飛び出してきたことがある) driving_signal_sign_difficulty(信号機や標識がわかりづらかったことがある) driving_warning_from_others(家族や同乗者から危ない運転と指摘されたことがある) driving_flow_mismatch(周囲の車の流れに乗れないことがある)
※他のノードのデータで代用可能な場合があります。上記の算出元ノードから遡って確認できます。
エビデンス・出典:
自動車運送事業者における視野障害対策マニュアル
※本ノードの判定基準は、上記ガイドラインなど公的資料に基づいて作成しておりますが、すべての個別条件を反映できるものではありません。
APIリファレンス:
リクエスト例
https://myw-api.wellcle.com/inout/{ノード ID}/
| メソッド | リクエスト URL | 備考 |
|---|---|---|
| POST | https://myw-api.wellcle.com/inout/vision_impairment_checklist/ | httpsのみ有効 |
| キー | 値 | 備考 |
|---|---|---|
| Content-Type | application/json | - |
| X-Wellcleapi-Key | {API キー} | {API キー}は、利用登録後に提供するキーを使用する。 |
パラメータ構造
リクエストのボディー部に、JSON形式で下記例のようにphdパラメータを渡す。
phdパラメータは、配列オブジェクトとして、健診データなどの各種データを設定して渡す。
本来数値であるデータ含め、全て文字列データ(JSON においてダブルクォーテーションで囲む)として渡す。
例:BMIノード
{
"phd":{
"height":"171.2",
"weight":"93.4"
}
}
phdパラメータ(視野障害対策チェックリストノード)
| パラメータ | 型 | 内容 | 有効値範囲 |
|---|---|---|---|
| age | integer | 年齢 | min: 0 ~ max: 200 |
| qsn_smoking | string | 喫煙 - 1: はい - 2: 以前は吸っていたが、最近1ヶ月間は吸っていない - 3: いいえ | - |
| vision_high_myopia | string | 強度の近視である | - |
| vision_night_difficulty | string | 暗いところでは見えづらい | - |
| family_history_glaucoma | string | 家族に緑内障の人がいる | - |
| family_history_retinitis_pigmentosa | string | 家族に網膜色素変性症の人がいる | - |
| medical_history_diabetes | string | 糖尿病と診断された | - |
| age_over_40 | string | 40歳以上である | - |
| smoking_status_current | string | 喫煙している | - |
| healthcheck_hypertension | string | 健診等で高血圧を指摘された | - |
| healthcheck_dyslipidemia | string | 健診等で脂質異常を指摘された | - |
| driving_sudden_obstacle | string | 突然、他の車や歩行者等が目の前に飛び出してきたことがある | - |
| driving_signal_sign_difficulty | string | 信号機や標識がわかりづらかったことがある | - |
| driving_warning_from_others | string | 家族や同乗者から危ない運転と指摘されたことがある | - |
| driving_flow_mismatch | string | 周囲の車の流れに乗れないことがある | - |
レスポンスパラメータ
| パラメータ | 内容 |
|---|---|
| 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/vision_impairment_checklist/": {
"post": {
"summary": "vision_impairment_checklistノードを実行し、算出結果を返す",
"operationId": "vision_impairment_checklist",
"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": {
"age": {
"type": "integer",
"minimum": 0,
"maximum": 200,
"description": "年齢"
},
"qsn_smoking": {
"type": "string",
"enum": [
"",
"1",
"2",
"3"
],
"description": "喫煙\n- 1: はい\n- 2: 以前は吸っていたが、最近1ヶ月間は吸っていない\n- 3: いいえ"
},
"vision_high_myopia": {
"type": "string",
"description": "強度の近視である",
"description_sub": [
"はい",
"いいえ"
]
},
"vision_night_difficulty": {
"type": "string",
"description": "暗いところでは見えづらい",
"description_sub": [
"はい",
"いいえ"
]
},
"family_history_glaucoma": {
"type": "string",
"description": "家族に緑内障の人がいる",
"description_sub": [
"はい",
"いいえ"
]
},
"family_history_retinitis_pigmentosa": {
"type": "string",
"description": "家族に網膜色素変性症の人がいる",
"description_sub": [
"はい",
"いいえ"
]
},
"medical_history_diabetes": {
"type": "string",
"description": "糖尿病と診断された",
"description_sub": [
"はい",
"いいえ"
]
},
"age_over_40": {
"type": "string",
"description": "40歳以上である",
"description_sub": [
"はい",
"いいえ"
]
},
"smoking_status_current": {
"type": "string",
"description": "喫煙している",
"description_sub": [
"はい",
"いいえ"
]
},
"healthcheck_hypertension": {
"type": "string",
"description": "健診等で高血圧を指摘された",
"description_sub": [
"はい",
"いいえ"
]
},
"healthcheck_dyslipidemia": {
"type": "string",
"description": "健診等で脂質異常を指摘された",
"description_sub": [
"はい",
"いいえ"
]
},
"driving_sudden_obstacle": {
"type": "string",
"description": "突然、他の車や歩行者等が目の前に飛び出してきたことがある",
"description_sub": [
"はい",
"いいえ"
]
},
"driving_signal_sign_difficulty": {
"type": "string",
"description": "信号機や標識がわかりづらかったことがある",
"description_sub": [
"はい",
"いいえ"
]
},
"driving_warning_from_others": {
"type": "string",
"description": "家族や同乗者から危ない運転と指摘されたことがある",
"description_sub": [
"はい",
"いいえ"
]
},
"driving_flow_mismatch": {
"type": "string",
"description": "周囲の車の流れに乗れないことがある",
"description_sub": [
"はい",
"いいえ"
]
}
},
"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
}
}
}
}
}
}
}
}
}