# 風險評估
---
API 清單
- [最近評估結果](#最近評估結果)
- [評估準備](#評估準備)
- [進行評估](#進行評估)
- [取得評估](#取得評估)
---
## 最近評估結果
```url
GET /risk-assessment/latest
```
#### Request
欄位 | 型態 | 必填 | 預設 | 說明
---|---|---|---|---
```javascript
```
#### Response
欄位 | 型態 | 說明
--- | --- | ---
id | string | 評估id
householdMemberId | string | householdMember ID
assessDate | Date | 評估日期
previousId | string | 前一份評估id
nextId | string | 後一份評估id
assessData | json | 評估設定資料
assessResults | Array [...assessResult] | 評估結果列表
* assessData(Object)
欄位 | 型態 | 說明
--- | --- | ---
gender | int | 性別, 0:女性, 1:男性
age | int | 年齡
glu | int | 空腹血糖(mg/dl), <br/>評估類型[綜合健康年齡, 糖尿病]
got | int | 肝功能指數, <br/>評估類型[綜合健康年齡]
sbp | int | 收縮壓, <br/>評估類型[綜合健康年齡-限男性, 心血管疾病]
ratio | float | 腰臀比, <br/>評估類型[綜合健康年齡-限男性]
hbp | int | 罹患高血壓,(0:無、1:有), <br/>評估類型[綜合健康年齡-限女性]
smoke | int | 吸菸習慣,(0:無、1:有), <br/>評估類型[綜合健康年齡]
tg | int | 三酸甘油脂 (mg/dl), <br/>評估類型[心血管疾病, 糖尿病]
ua | float | 尿酸 (mg/dl), <br/>評估類型[心血管疾病]
cho | int | 總膽固醇 (mg/dl), <br/>評估類型[心血管疾病]
hdlc | int | 高密度膽固醇 (mg/dl), <br/>評估類型[心血管疾病]
bmi | float | 身體組成, <br/>評估類型[心血管疾病]
waist | int | 腰圍 (公分), <br/>評估類型[糖尿病]
* assessResult(Object)
欄位 | 型態 | 說明
--- | --- | ---
assessType | string | 評估類型, HEALTH_AGE:綜合健康年齡, CARDIO:心血管疾病, DIABETES:糖尿病
risk | float | 個人十年內可能罹此疾病之風險值(%)
populationAvg | float | 相同年齡/性別的族群發生此疾病的平均風險值(%)
multipleDiff | float | 個人與該年齡全體人口平均值之差異
healthAge | float | 綜合健康年齡
```javascript
{
"httpCode": 200,
"result": {
"data": {
"id": "33c6fa92-327e-45be-9897-3bd62a98f638",
"householdMemberId": "fdba6e30-ffda-47e4-b378-be7f9de7ba15",
"assessDate": 1634832000000,
"previousId": null,
"nextId": null,
"assessData": {
"gender": 1,
"age": 75,
"glu": 263,
"got": 255,
"sbp": 53,
"ratio": 0.91,
"hbp": 0,
"smoke": 1,
"tg": 287,
"ua": 29.13,
"cho": 61,
"hdlc": 103,
"bmi": 11.21,
"waist": 76
},
"assessResults": [
{
"assessType": "HEALTH_AGE",
"healthAge": 27.19
},
{
"assessType": "CARDIO",
"risk": 2.92,
"populationAvg": 74.88,
"multipleDiff": 82.89
}
]
}
}
}
```
## 評估準備
```url
GET /risk-assessment/prepare
```
#### Request
欄位 | 型態 | 必填 | 預設 | 說明
---|---|---|---|---
```javascript
```
#### Response
欄位 | 型態 | 說明
--- | --- | ---
gender | int | 性別, 0:女性, 1:男性
age | int | 年齡
glu | int | 空腹血糖(mg/dl), <br/>評估類型[綜合健康年齡, 糖尿病]
got | int | 肝功能指數, <br/>評估類型[綜合健康年齡]
sbp | int | 收縮壓, <br/>評估類型[綜合健康年齡-限男性, 心血管疾病]
ratio | float | 腰臀比, <br/>評估類型[綜合健康年齡-限男性]
hbp | int | 罹患高血壓,(0:無、1:有), <br/>評估類型[綜合健康年齡-限女性]
smoke | int | 吸菸習慣,(0:無、1:有), <br/>評估類型[綜合健康年齡]
tg | int | 三酸甘油脂 (mg/dl), <br/>評估類型[心血管疾病, 糖尿病]
ua | float | 尿酸 (mg/dl), <br/>評估類型[心血管疾病]
cho | int | 總膽固醇 (mg/dl), <br/>評估類型[心血管疾病]
hdlc | int | 高密度膽固醇 (mg/dl), <br/>評估類型[心血管疾病]
bmi | float | 身體組成, <br/>評估類型[心血管疾病]
waist | int | 腰圍 (公分), <br/>評估類型[糖尿病]
```javascript
// HttpStatus:422, 3個月內已有評估過
{
"errorMsg": "SERVICE_ERROR.RISK_ASSESSMENT_OVER_TIMES",
"httpCode": 422
}
// HttpStatus:200
{
"httpCode": 200,
"result": {
"data": {
"gender": 1,
"age": 24,
"glu": 88,
"got": 233,
"sbp": 141,
"ratio": 0.59,
"hbp": 0,
"smoke": 1,
"tg": 160,
"ua": 136.1,
"cho": 138,
"hdlc": 76,
"bmi": 40.07,
"waist": 270
}
}
}
```
## 進行評估
```url
POST /risk-assessment/assess
```
#### Request
欄位 | 型態 | 必填 | 預設 | 說明
---|---|---|---|---
assessTypes | Array[...string] | Y | | 評估類型列表, HEALTH_AGE:綜合健康年齡, CARDIO:心血管疾病, DIABETES:糖尿病
glu | int | Y | | 空腹血糖(mg/dl), <br/>評估類型[綜合健康年齡, 糖尿病]
got | int | Y | | 肝功能指數, <br/>評估類型[綜合健康年齡]
sbp | int | Y | | 收縮壓, <br/>評估類型[綜合健康年齡-限男性, 心血管疾病]
ratio | float | Y | | 腰臀比, <br/>評估類型[綜合健康年齡-限男性]
hbp | int | Y | | 罹患高血壓,(0:無、1:有), <br/>評估類型[綜合健康年齡-限女性]
smoke | int | Y | | 吸菸習慣,(0:無、1:有), <br/>評估類型[綜合健康年齡]
tg | int | Y | | 三酸甘油脂 (mg/dl), <br/>評估類型[心血管疾病, 糖尿病]
ua | float | Y | | 尿酸 (mg/dl), <br/>評估類型[心血管疾病]
cho | int | Y | | 總膽固醇 (mg/dl), <br/>評估類型[心血管疾病]
hdlc | int | Y | | 高密度膽固醇 (mg/dl), <br/>評估類型[心血管疾病]
bmi | float | Y | | 身體組成, <br/>評估類型[心血管疾病]
waist | int | Y | | 腰圍 (公分), <br/>評估類型[糖尿病]
* 各評估類型所需必填欄位
- 綜合健康年齡
- glu, 空腹血糖(mg/dl)
- got, 肝功能指數
- sbp, 收縮壓-限男性
- ratio, 腰臀比-限男性
- hbp, 罹患高血壓,(0:無、1:有)-限女性
- smoke, 吸菸習慣,(0:無、1:有)
- 心血管疾病
- sbp, 收縮壓
- tg, 三酸甘油脂 (mg/dl)
- ua, 尿酸 (mg/dl)
- cho, 總膽固醇 (mg/dl)
- hdlc, 高密度膽固醇 (mg/dl)
- bmi, 身體組成
- 糖尿病
- glu, 空腹血糖(mg/dl)
- tg, 三酸甘油脂 (mg/dl)
- waist, 腰圍 (公分)
```javascript
{
"assessTypes": [
"HEALTH_AGE",
"CARDIO",
"DIABETES"
],
"glu": 263,
"got": 79,
"sbp": 116,
"ratio": 0.64,
"hbp": 1,
"smoke": 0,
"tg": 152,
"ua": 179.2,
"cho": 169,
"hdlc": 96,
"bmi": 19.6,
"waist": 110
}
```
#### Response
欄位 | 型態 | 說明
--- | --- | ---
id | string | 評估id
householdMemberId | string | householdMember ID
assessDate | Date | 評估日期
previousId | string | 前一份評估id
nextId | string | 後一份評估id
assessData | json | 評估設定資料
assessResults | Array [...assessResult] | 評估結果列表
* assessData(Object)
欄位 | 型態 | 說明
--- | --- | ---
gender | int | 性別, 0:女性, 1:男性
age | int | 年齡
glu | int | 空腹血糖(mg/dl), <br/>評估類型[綜合健康年齡, 糖尿病]
got | int | 肝功能指數, <br/>評估類型[綜合健康年齡]
sbp | int | 收縮壓, <br/>評估類型[綜合健康年齡-限男性, 心血管疾病]
ratio | float | 腰臀比, <br/>評估類型[綜合健康年齡-限男性]
hbp | int | 罹患高血壓,(0:無、1:有), <br/>評估類型[綜合健康年齡-限女性]
smoke | int | 吸菸習慣,(0:無、1:有), <br/>評估類型[綜合健康年齡]
tg | int | 三酸甘油脂 (mg/dl), <br/>評估類型[心血管疾病, 糖尿病]
ua | float | 尿酸 (mg/dl), <br/>評估類型[心血管疾病]
cho | int | 總膽固醇 (mg/dl), <br/>評估類型[心血管疾病]
hdlc | int | 高密度膽固醇 (mg/dl), <br/>評估類型[心血管疾病]
bmi | float | 身體組成, <br/>評估類型[心血管疾病]
waist | int | 腰圍 (公分), <br/>評估類型[糖尿病]
* assessResult(Object)
欄位 | 型態 | 說明
--- | --- | ---
assessType | string | 評估類型, HEALTH_AGE:綜合健康年齡, CARDIO:心血管疾病, DIABETES:糖尿病
risk | float | 個人十年內可能罹此疾病之風險值(%)
populationAvg | float | 相同年齡/性別的族群發生此疾病的平均風險值(%)
multipleDiff | float | 個人與該年齡全體人口平均值之差異
healthAge | float | 綜合健康年齡
```javascript
// HttpStatus:422, 3個月內已有評估過
{
"errorMsg": "SERVICE_ERROR.RISK_ASSESSMENT_OVER_TIMES",
"httpCode": 422
}
// HttpStatus:422, 風險評估API執行失敗
{
"errorMsg": "SERVICE_ERROR.RISK_ASSESSMENT_SERVICE_FAIL",
"httpCode": 422
}
// HttpStatus:200
{
"httpCode": 200,
"result": {
"data": {
"previousId": null,
"nextId": null,
"assessData": {
"gender": 1,
"age": 24,
"glu": 263,
"got": 79,
"sbp": 116,
"ratio": 0.64,
"hbp": 1,
"smoke": 0,
"tg": 152,
"ua": 179.2,
"cho": 169,
"hdlc": 96,
"bmi": 19.6,
"waist": 110
},
"assessResults": [
{
"assessType": "HEALTH_AGE",
"healthAge": 58.9
},
{
"assessType": "CARDIO",
"risk": 92.48,
"populationAvg": 58.46,
"multipleDiff": 15.14
},
{
"assessType": "DIABETES",
"risk": 75.09,
"populationAvg": 20.33,
"multipleDiff": 45.83
}
]
}
}
}
```
## 取得評估
```url
POST /risk-assessment/detail
```
#### Request
欄位 | 型態 | 必填 | 預設 | 說明
---|---|---|---|---
id | string | Y | | 評估id
```javascript
{
"id": "277fa568-cd35-4b89-899b-bffd1ed85081"
}
```
#### Response
欄位 | 型態 | 說明
--- | --- | ---
id | string | 評估id
householdMemberId | string | householdMember ID
assessDate | Date | 評估日期
previousId | string | 前一份評估id
nextId | string | 後一份評估id
assessData | json | 評估設定資料
assessResults | Array [...assessResult] | 評估結果列表
* assessData(Object)
欄位 | 型態 | 說明
--- | --- | ---
gender | int | 性別, 0:女性, 1:男性
age | int | 年齡
glu | int | 空腹血糖(mg/dl), <br/>評估類型[綜合健康年齡, 糖尿病]
got | int | 肝功能指數, <br/>評估類型[綜合健康年齡]
sbp | int | 收縮壓, <br/>評估類型[綜合健康年齡-限男性, 心血管疾病]
ratio | float | 腰臀比, <br/>評估類型[綜合健康年齡-限男性]
hbp | int | 罹患高血壓,(0:無、1:有), <br/>評估類型[綜合健康年齡-限女性]
smoke | int | 吸菸習慣,(0:無、1:有), <br/>評估類型[綜合健康年齡]
tg | int | 三酸甘油脂 (mg/dl), <br/>評估類型[心血管疾病, 糖尿病]
ua | float | 尿酸 (mg/dl), <br/>評估類型[心血管疾病]
cho | int | 總膽固醇 (mg/dl), <br/>評估類型[心血管疾病]
hdlc | int | 高密度膽固醇 (mg/dl), <br/>評估類型[心血管疾病]
bmi | float | 身體組成, <br/>評估類型[心血管疾病]
waist | int | 腰圍 (公分), <br/>評估類型[糖尿病]
* assessResult(Object)
欄位 | 型態 | 說明
--- | --- | ---
assessType | string | 評估類型, HEALTH_AGE:綜合健康年齡, CARDIO:心血管疾病, DIABETES:糖尿病
risk | float | 個人十年內可能罹此疾病之風險值(%)
populationAvg | float | 相同年齡/性別的族群發生此疾病的平均風險值(%)
multipleDiff | float | 個人與該年齡全體人口平均值之差異
healthAge | float | 綜合健康年齡
```javascript
{
"httpCode": 200,
"result": {
"data": {
"id": "33c6fa92-327e-45be-9897-3bd62a98f638",
"householdMemberId": "fdba6e30-ffda-47e4-b378-be7f9de7ba15",
"assessDate": 1634832000000,
"previousId": null,
"nextId": null,
"assessData": {
"gender": 1,
"age": 75,
"glu": 263,
"got": 255,
"sbp": 53,
"ratio": 0.91,
"hbp": 0,
"smoke": 1,
"tg": 287,
"ua": 29.13,
"cho": 61,
"hdlc": 103,
"bmi": 11.21,
"waist": 76
},
"assessResults": [
{
"assessType": "HEALTH_AGE",
"healthAge": 27.19
},
{
"assessType": "CARDIO",
"risk": 2.92,
"populationAvg": 74.88,
"multipleDiff": 82.89
}
]
}
}
}
```