---
# System prepended metadata

title: 健康時間軸

---

# 健康時間軸

* 身體指標列表(10個)
    weight(體重)
    BFP(體脂)
    BMI(BMI)
    sphygmus(脈博)
    SBP(收縮壓)
    DBP(舒張壓)
    bloodSugar(血糖)
    bloodOxygen(血氧)
    insulin(胰島素)
    bodyTemperature(體溫)

## 取回某人的量測數值及跟上次記錄作比較
UIUX : 使用於時間軸上方的legend數值
DESC - 取最後一筆不為null的值(v1)，並與倒數第二筆同樣不為null記錄(v2)作對比，得到上升，持平，下降的趨勢
role -  v1 > v2 -> 上升
        v1 = v2 -> 持平
        v1 < v2 -> 下降

Attribute | Description | Remark
-|-|-
value | number | 量測數值
trend | number | 1(上升)/0(持平)/-1(下降) 
updateTime | timeStamp | 更新時間

Request
```url=
POST /case/$id/timeline/legend
```
PayLoad
* indicator 請見上述"身體指標列表"
```json=
{
    indicator: ['weight', 'BMI']
}
```

Response
```json=
{
    weight: {
          value: 60,
          trend: -1, //-1(下降)/0(持平)/1(上升)/null
          updateTime: 1583991833330
    },
    BMI: {
        value: null,
        trend: null,
        updateTime: null
    }
    // 無值或無趨勢需要補null
}
```

## 取回某人的-量測記錄
UIUX : 使用於顯示量測記錄
DESC - 取回某人某段日期、時間區間的量測記錄
role - 例如日期為2020/02/10 - 2020/02/12，時間為08:00-14:00
    需取回
    2020/02/10 08:00-1400
    2020/02/11 08:00-1400
    2020/02/12 08:00-1400的量測記錄

Attribute | Description | Remark
-|-|-
indicator | String Array | 指標
startAt | timeStamp | 起始時間
endAt | timeStamp | 結束時間
timeStartAt | String | 起始時間區段
timeEndAt | String | 結束時間區段


Request
```url=
POST /case/$id/timeline/record
```
PayLoad
* indicator 請見上述"身體指標列表"
```json=
{
    indicator: ['weight', 'BMI'],
    startAt: 1583991833330,
    endAt: 1583992833330,
    timeStartAt: '08:00',
    timeEndAt: '14:00'
}
```
Response
```json=
respon
{
    data: {
        weight: [{
            date: 1585294669231, // 日期
            isUnusual: true, // 該筆是否超出理想值
            value: 100, // 值
            unit: 'kg', // 單位
            equipment: 'Bathroom scale' // 量測設備名稱
        },{
            date: 1585294669231,
            isUnusual: true,
            value: 100,
            unit: 'kg',
            equipment: 'Bathroom scale'
        }],
        BMI: [{
            date: 1585294669231,
            isUnusual: true,
            value: 18,
            unit: '%',
            equipment: 'Bathroom scale'
        }]
    }
}...
```

## 取回某人的-健康趨勢
UIUX : 使用於顯示健康時間軸
DESC - 取回某人某段日期的量測數據(需事先運算)
role - 每一筆記錄需有四個資料
    最大值、最小值、平均值，量測筆數(從該「區間」中的所有量測資料得到max，min，avg，amount)
    區間
        周 -> 一天有四個區間，分別為「早，中，晚，飯前」， 將區間內的量測記錄計算匯整成一筆記錄
        月 -> 以天為區間，將區間內的量測記錄計算匯整成一筆記錄
        年 -> 以週為區間，將區間內的量測記錄計算匯整成一筆記錄

Attribute | Description | Remark
-|-|-
indicator | String Array | 指標
startAt | timeStamp | 起始時間
endAt | timeStamp | 結束時間
period| String| 'w'(周)/'m'(月)/'y'(年)


Request
```url=
POST /case/$id/timeline/trend
```
PayLoad
* indicator 請見上述"身體指標列表"
```json=
{
    indicator: ['weight', 'BMI'],
    startAt: 1583991833330,
    endAt: 1583992833330,
    period: 'w'
}
```
Response
```json=
response
{
    data: {
        weight: [{
            date: 1585294669231,
            max: 71,
            min: 68,
            avg: 69,
            amount: 3 
        },{
            date: 1585294669231,
            max: null,
            min: null,
            avg: null,
            amount: null,
        }],
        BMI: [{
            date: 1585294669231,
            max: 20.1,
            min: 19.4,
            avg: 19.8,
            amount: 7 
        }]
        無值需要補區間，值需要補null
    }
}...
```

## 取回某人的-健康狀況
UIUX : 使用於顯示-健康狀況
DESC - 取回某人最近七天(不包含當天)顯示不正常之量測數據統計

Attribute | Description | Remark
-|-|-
id | String | Primary Key
systolicBloodPressureTimes | number | 收縮壓-高於正常值(140)次數
diastolicBloodPressureTimes | number | 舒張壓-高於正常值(90)次數
beforeMealBloodSugarTimes | number | 空腹血糖-高於正常值(100)次數
afterMealBloodSugarTimes | number | 飯後血糖-高於正常值(150)次數
digestCaloriesDays | number | 消耗熱量-小於建議(500kcal)天數
forgetMedicine | number | 忘記用藥次數
suggestion | String | 照護建議
dateTimeStart | timeStamp | 起始時間
dateTimeEnd | timeStamp | 結束時間

Request
```url=
POST /case/$id/status
```
Response
```json=
{
   "success": true,
   "data": {
       systolicBloodPressureTimes: 6,
       diastolicBloodPressureTimes: 5,
       beforeMealBloodSugarTimes: 2,
       afterMealBloodSugarTimes: 2,
       digestCaloriesDays: 3,
       digestCaloriesDays: 3,
       suggestion: '建議進行飲食評估並增加運動量以改善體重與血壓情形',
       dateTimeStart: 1585294669231,
       dateTimeEnd: 1585296669231
   }
}
```