# 生理量測
## 取得量測類型列表 (WEB & APP)
Request:
```url=
GET /phy/kind
```
Response (成功):
```json=
{
"success": true,
"data":[
{"id": 1, "name": "身高", "code":"height", "description": "cm"},
{"id": 2, "name": "體重", "code":"weight", "description": "kg"},
...
]
}
```
## 新增量測紀錄 (WEB & APP)
Request:
```url=
POST /phy
```
Payload:
```json=
{
"dateTime": 1585546156101,
"patientId": 999, //不填的話,會以Token的patientId寫入
"device": "手動新增",
"data":[
{"kindId": 1, "value": 180},
{"kindId": 2, "value": 75},
{"kindId": 3, "value": 22},
{"kindId": 4, "value": 120},
{"kindId": 5, "value": 90},
{"kindId": 6, "value": 140},
{"kindId": 9, "value": 19.1, "insulinId" : 100}
]
}
```
Response (成功):
```json=
{
"success": true,
"data":[
{"id": 1, "kindId": 1, "value": 180},
{"id": 2, "kindId": 2, "value": 75},
{"id": 3, "kindId": 3, "value": 22},
{"id": 4, "kindId": 4, "value": 120},
{"id": 5, "kindId": 5, "value": 90},
{"id": 6, "kindId": 6, "value": 140},
{"id": 7, "kindId": 9, "value": 19.1, "insulinId" : 100} "insulinId" : 100}
]
}
```
## 整批更新 (APP)
```url
PUT /phy/bulkUpdate
```
Payload:
```json=
{
"dateTime": 1585546156101,
"patientId": 999, //不填的話,會以Token的patientId寫入
"device": "手動新增",
"data":[
{"id": 1, "kindId": 1, "value": 180},
{"id": 2, "kindId": 2, "value": 75},
{"id": 3, "kindId": 3, "value": 22},
{"id": 4, "kindId": 4, "value": 110},
{"id": 5, "kindId": 5, "value": 90},
//{"id": 6, "kindId": 6, "value": 140},
{"id": 7, "kindId": 9, "value": 19.1, "insulinId" : 100} "insulinId" : 100}
]
}
```
Response (成功):
```json=
{
"success": true,
"data":[
{"id": 8, "kindId": 1, "value": 180},
{"id": 9, "kindId": 2, "value": 75},
{"id": 10, "kindId": 3, "value": 22},
{"id": 11, "kindId": 4, "value": 110},
{"id": 12, "kindId": 5, "value": 90},
{"id": 13, "kindId": 9, "value": 19.1, "insulinId" : 100}
]
}
```
## 編輯量測紀錄 (<font color="red">Web專用</font>)
Request:
```url=
PUT /phy/$id
```
Payload:
```json=
{
"dateTime": 1585546156101,
"value": 26.5,
"kindId": 9,
"insulinId": 1, // InsulinID if need. Null is also available
}
```
Response (成功):
```json=
{
"success": true,
"data" : {
"id": 100,
"dateTime": 1585546156101,
"value": 26.5,
"kindId": 9,
"insulinId": 1
}
}
```
## 刪除量測紀錄(<font color="red">Web專用</font>)
Request:
```url=
DELETE /phy/$id
```
Response (成功):
```json=
{
"success": true,
}
```
## 取得量測紀錄(<font color="red">Web專用</font>)
Request:
```url=
GET /phy?$queryParams
```
[Query Params:]
| 欄位 | 型態 | 預設 | 說明 |
| -------- | -------- | -------- |-------- |
| kind | json | 無 | 量測種類 id 範例: kind:{"id":[1,2,5,6]}|
| patientId| number | 1 | Patient ID |
| page | number | 1 | 當前頁數 |
| pageSize | number | -1 | 每頁結果數量,-1 為顯示所有 |
| sort | string | 無 | 排序欄位|
| startDate | timestamp | 無 | 要搜尋的日期區間
| endDate | timestamp | 無 | 要搜尋的日期區間
| startTime | string | 無 | 要搜尋的時間區間 範例 05:20
| endTime | string | 無 | 要搜尋的時間區間 範例 18:50
Response (成功):
```json=
{
"success": true,
"total": 20,
"data":[
{"id":1,"kindId":1,"value":187,"dateTime": 1585546156101,
"remark":"", "device":"手動新增"},
{"id":2,"kindId":2,"value":75,"dateTime": 1585546156101,
"remark":"", "device":"手動新增"},
{"id":3,"kindId":9,"value":35,"dateTime": 1585546156101,
"remark":"Apidra 愛胰達", "device":"Diabnext-C3Xs"},
{"id":4,"kindId":12,"value":25,"dateTime": 1585546156101,
"remark":"{"height":{"id":1, "value":187},
"weight":{"id":2, "value":75}}",
"device":"Diabnext-C3Xs"}
// 前端需顯示(身高/體重)顯示現存BMI如何得出
// 且BMI可以被update竄改(但還是保留原數值身高體重)
// 如引用之體重與身高數值被刪除,此筆BMI也要被刪除
// 故必須紀錄引用之身高體重ID
]
}
```
# 查詢(<font color="red">App專用</font>)
## 最近各項數值
Request:
```url=
GET /phy/recent
```
Response (成功):
```json=
{
"success": true,
"total": 2,
"data": {
"weight":{
"bodyWeight": 75,
"bmi": 22.5,
"fat": 32
},
"heart": {
"systolic": 75,
"diastolic": 25,
"heartRate": 32
},
"insulin":{
"beforeMeals": 75,
"afterMeals": 22.5,
"insulin": 32
},
"oxygen":{
"temperature": 75.4,
"oxygen": 22
}
}
}
```
<!-- Request:
```url=
GET /phy/recent
```
Response (成功):
```json=
{
"success": true,
"data":[
{"id":1,"kindId":1,"value":187,"dateTime": 1585546156101},
{"id":2,"kindId":2,"value":75,"dateTime": 1585546156101},
{"id":3,"kindId":9,"value":35,"dateTime": 1585546156101,
"insulinId":1}, // If kindId == 9, need insulin type
{"id":4,"kindId":12,"value":25,"dateTime": 1585546156101}
]
}
``` -->
## 體重BMI體脂
Attribute | Description | IsRequired| Remark
-|-|-|-
dateTime | number | true | 測量時間
isApp | Boolean | true | 手動新增
bodyWeight | number | false | 體重
fat | number | false | 體脂
### 查詢
```url=
GET /phy/weight
```
Query Params:
| 欄位 | 型態 | 預設 | 說明 |
|---|---|---|---|---|
| page | number |1| 當前頁數|
| pageSize | number |10| 每頁結果數量,-1 為顯示所有|
| sort | string | dateTime | 排序欄位
| startAt | number | false | 從(測量時間)
| endAt | number | false | 結束(測量時間)
| avg | number | number| 0:當日 1:日平均 2 :月平均 |
| desc | boolean | false | 是否倒序排列?
| 欄位 | 型態 | 說明 |
|---|---|---|---|---|
bodyWeightAvg | number | 日/月平均體重
bmiAvg | number | 日/月平均BMI
fatAvg | number | 日/月平均體脂
bodyWeightMax | number | 日/月最高體重
bmiMax | number | 日/月最高BMI
fatMax | number | 日/月最高體脂
bodyWeightMin | number | 日/月最低體重
bmiMin | number | 日/月最低BMI
fatMin | number | 日/月最低體脂
Response (成功):
```json=
// avg == 0 當日單項數值陣列
{
"success": true,
"total": 2,
"data": {
"bodyWeightAvg" : 32,
"bmiAvg": 20,
"fatAvg": 32,
"bodyWeightMax" : 32,
"bmiMax": 20,
"fatMax": 32,
"bodyWeightMin" : 32,
"bmiMin": 20,
"fatMin": 32,
"phyWeight":[{
"dateTime": 1583991833000,
"bodyWeight": 72,
}, {
"dateTime": 1583991863330,
"bodyWeight": 75,
}, {
"dateTime": 1583991863330,
"bmi": 25,
}, {
"dateTime": 1583991863330,
"fat": 32,
},
...
]
}
}
// avg == 1 or 2 平均數值、多項目陣列
{
"success": true,
"total": 2,
"data": {
"bodyWeightAvg" : 32,
"bmiAvg": 20,
"fatAvg": 32,
"bodyWeightMax" : 32,
"bmiMax": 20,
"fatMax": 32,
"bodyWeightMin" : 32,
"bmiMin": 20,
"fatMin": 32,
"phyWeight":[{
"dateTime": 1583991833330,
"bodyWeight": 72,
"fat": 32,
"bmi": 25
}, {
"dateTime": 1583991833330,
"bodyWeight": 72,
"fat": 32,
"bmi": 25
}, {
"dateTime": 1583991833330,
"bodyWeight": 72,
"fat": 32,
"bmi": 25
}
...
]
}
}
```
## 血壓心律
Attribute | Description | IsRequired| Remark
-|-|-|-
dateTime | number | true | 測量時間
systolic | number | false | 收縮壓
diastolic | number | false | 舒張壓
heartRate | number | false | 心率
### 查詢
```url=
GET /phy/heart
```
Query Params:
| 欄位 | 型態 | 預設 | 說明 |
|---|---|---|---|---|
| page | number |1| 當前頁數|
| pageSize | number |10| 每頁結果數量,-1 為顯示所有|
| sort | string | dateTime | 排序欄位
| startAt | number | false | 從(測量時間)
| endAt | number | false | 結束(測量時間)
| avg | number | number| 0:當日 1:日平均 2 :月平均 |
| desc | boolean | false | 是否倒序排列?
| 欄位 | 型態 | 說明 |
|---|---|---|---|---|
systolicAvg | number | 日/月平均收縮壓
diastolicAvg | number | 日/月平均舒張壓
heartRateAvg | number | 日/月平均心律
systolicMax | number | 日/月最高收縮壓
diastolicMax | number | 日/月最高舒張壓
heartRateMax | number | 日/月最高心律
systolicMin | number | 日/月最低收縮壓
diastolicMin | number | 日/月最低舒張壓
heartRateMin | number | 日/月最低心律
Response (成功):
```json=
// avg == 0 當日單項數值陣列
{
"success": true,
"total": 2,
"data":{
"systolicAvg": 72,
"diastolicAvg": 20,
"heartRateAvg": 32,
"systolicMax": 72,
"diastolicMax": 20,
"heartRateMax": 32,
"systolicMin": 72,
"diastolicMin": 20,
"heartRateMin": 32,
"phyHeart":[{
"dateTime": 1583991833330,
"systolic": 72
}, {
"dateTime": 1583991863330,
"systolic": 72
}, {
"dateTime": 1583991863330,
"diastolic": 10
}, {
"dateTime": 1583991863330,
"heartRate": 32
},
...
]
}
}
// avg == 1 or 2 平均數值、多項目陣列
{
"success": true,
"total": 2,
"data":{
"systolicAvg": 72,
"diastolicAvg": 20,
"heartRateAvg": 32,
"systolicMax": 72,
"diastolicMax": 20,
"heartRateMax": 32,
"systolicMin": 72,
"diastolicMin": 20,
"heartRateMin": 32,
"phyHeart":[{
"dateTime": 1583991833330,
"systolic": 72,
"diastolic": 10,
"heartRate": 32
}, {
"dateTime": 1583991833330,
"systolic": 72,
"diastolic": 10,
"heartRate": 32
}, {
"dateTime": 1583991833330,
"systolic": 72,
"diastolic": 10,
"heartRate": 32
}
...
]
}
}
```
## 血糖胰島素
Attribute | Description | IsRequired| Remark
-|-|-|-
dateTime | number | true | 測量時間
beforeMeals | number | false | 飯前血糖
afterMeals | number | false | 飯後血糖
insulinId | number | false | 胰島素編號
insulin | number | false | 胰島素劑量
### 查詢
```url=
GET /phy/insulin
```
Query Params:
| 欄位 | 型態 | 預設 | 說明 |
|---|---|---|---|---|
| page | number |1| 當前頁數|
| pageSize | number |10| 每頁結果數量,-1 為顯示所有|
| sort | string | dateTime | 排序欄位
| startAt | number | false | 從(測量時間)
| endAt | number | false | 結束(測量時間)
| avg | number | number| 0:當日 1:日平均 2 :月平均 |
| desc | boolean | false | 是否倒序排列?
| 欄位 | 型態 | 說明 |
|---|---|---|---|---|
beforeMealsAvg | number | 日/月平均餐前血糖
afterMealsAvg | number | 日/月平均餐後血糖
insulinAvg | number | 日/月平均胰島素
beforeMealsMax | number | 日/月最高餐前血糖
afterMealsMax | number | 日/月最高餐後血糖
insulinMax | number | 日/月最高胰島素
beforeMealsMin | number | 日/月最低餐前血糖
afterMealsMin | number | 日/月最低餐後血糖
insulinMin | number | 日/月最低胰島素
Response (成功):
```json=
// avg == 0 當日單項數值陣列
{
"success": true,
"total": 2,
"data": {
"beforeMealsAvg": 75,
"afterMealsAvg": 22.5,
"insulinAvg": 32.2,
"beforeMealsMax": 75,
"afterMealsMax": 22.5,
"insulinMax": 32.2,
"beforeMealsMin": 75,
"afterMealsMin": 22.5,
"insulinMin": 32.2,
"phyInsulin": [
{
"dateTime": 1585546156101,
"beforeMeals": 75
}, {
"dateTime": 1585546156101,
"beforeMeals": 75
}, {
"dateTime": 1585546156101,
"afterMeals": 22.5
}, {
"dateTime": 1585546156101,
"insulin": 32.5
},
// avg == 0 當日單項數值陣列
// avg == 1 or 2 平均數值、多項目陣列
{
"dateTime": 1583991863330,
"beforeMeals": 75,
"afterMeals": 22.5,
"insulin": 32.5
}
...
]
}
}
// avg == 1 or 2 平均數值、多項目陣列
{
"success": true,
"total": 2,
"data": {
"beforeMealsAvg": 75,
"afterMealsAvg": 22.5,
"insulinAvg": 32.2,
"beforeMealsMax": 75,
"afterMealsMax": 22.5,
"insulinMax": 32.2,
"beforeMealsMin": 75,
"afterMealsMin": 22.5,
"insulinMin": 32.2,
"phyInsulin": [
{
"dateTime": 1583991863330,
"beforeMeals": 75,
"afterMeals": 22.5,
"insulin": 32.5
}, {
"dateTime": 1583991863330,
"beforeMeals": 75,
"afterMeals": 22.5,
"insulin": 32.5
}, {
"dateTime": 1583991863330,
"beforeMeals": 75,
"afterMeals": 22.5,
"insulin": 32.5
}
...
]
}
}
```
## 體溫血氧
Attribute | Description | IsRequired| Remark
-|-|-|-
dateTime | number | true | 測量時間
temperature | number(float4) | false | 體溫
oxygen | number(int4) | false | 血氧
### 查詢
```url=
GET /phy/oxygen
```
Query Params:
| 欄位 | 型態 | 預設 | 說明 |
|---|---|---|---|---|
| page | number |1| 當前頁數|
| pageSize | number |10| 每頁結果數量,-1 為顯示所有|
| sort | string | dateTime | 排序欄位
| startAt | number | false | 從(測量時間)
| endAt | number | false | 結束(測量時間)
| avg | number | number| 0:當日 1:日平均 2 :月平均 |
| desc | boolean | false | 是否倒序排列?
| 欄位 | 型態 | 說明 |
|---|---|---|---|---|
temperatureAvg | number | 日/月平均體溫
oxygenAvg | number | 日/月平均血氧
temperatureMax | number | 日/月最高體溫
oxygenMax | number | 日/月最高血氧
temperatureMin | number | 日/月最低體溫
oxygenMin | number | 日/月最低血氧
Response (成功):
```json=
// if avg == 0 當日單項數值陣列
{
"success": true,
"total": 2,
"data": {
"temperatureAvg": 75.4,
"oxygenAvg": 22,
"temperatureMax": 75.4,
"oxygenMax": 22,
"temperatureMin": 75.4,
"oxygenMin": 22,
"phyOxygen": [
{
"dateTime": 1583991833330,
"temperature": 75.4
}, {
"dateTime": 1583991863330,
"temperature": 75.4
}, {
"dateTime": 1583991863330,
"oxygen": 22
}
...
]
}
}
// avg == 1 or 2 平均數值、多項目陣列
{
"success": true,
"total": 2,
"data": {
"temperatureAvg": 75.4,
"oxygenAvg": 22,
"temperatureMax": 75.4,
"oxygenMax": 22,
"temperatureMin": 75.4,
"oxygenMin": 22,
"phyOxygen": [
{
"dateTime": 1583991863330,
"temperature": 75.4,
"oxygen": 22
}, {
"dateTime": 1583991863330,
"temperature": 75.4,
"oxygen": 22
}, {
"dateTime": 1583991863330,
"temperature": 75.4,
"oxygen": 22
}, {
"dateTime": 1583991863330,
"temperature": 75.4,
"oxygen": 22
}
...
]
}
}
```
# 以下為舊版本API for APP
## 體重BMI體脂
Attribute | Description | IsRequired| Remark
-|-|-|-
dateTime | number | true | 測量時間
isApp | Boolean | true | 手動新增
bodyWeight | number | false | 體重
bmi | number | false | BMI
fat | number | false | 體脂
### 新增
Request:
```url=
POST /phy/weight
```
Payload:
```json=
{
"dateTime": 1585546156101,
"isApp": true,
"bodyWeight": 75,
"bmi": 22.5,
"fat": 32
}
```
Response (成功):
```json=
{
"success": true,
"data": {
"dateTime": 1585546156101,
"isApp": true,
"bodyWeight": 75,
"bmi": 22.5,
"fat": 32
}
}
```
### 查詢
```url=
GET /phy/weight
```
Query Params:
| 欄位 | 型態 | 預設 | 說明 |
|---|---|---|---|---|
| page | number |1| 當前頁數|
| pageSize | number |10| 每頁結果數量,-1 為顯示所有|
| sort | string | dateTime | 排序欄位
| startAt | number | false | 從(測量時間)
| endAt | number | false | 結束(測量時間)
| avg | number | number| 0:當日 1:日平均 2 :月平均 |
| desc | boolean | false | 是否倒序排列?
| 欄位 | 型態 | 說明 |
|---|---|---|---|---|
bodyWeightAvg | number | 日/月平均體重
bmiAvg | number | 日/月平均BMI
fatAvg | number | 日/月平均體脂
bodyWeightMax | number | 日/月最高體重
bmiMax | number | 日/月最高BMI
fatMax | number | 日/月最高體脂
bodyWeightMin | number | 日/月最低體重
bmiMin | number | 日/月最低BMI
fatMin | number | 日/月最低體脂
Response (成功):
```json=
{
"success": true,
"total": 2,
"bodyWeightAvg" : 32,
"bmiAvg": 20,
"fatAvg": 32,
"bodyWeightMax" : 32,
"bmiMax": 20,
"fatMax": 32,
"bodyWeightMin" : 32,
"bmiMin": 20,
"fatMin": 32,
"data": {
"bodyWeightAvg" : 32,
"bmiAvg": 20,
"fatAvg": 32,
"bodyWeightMax" : 32,
"bmiMax": 20,
"fatMax": 32,
"bodyWeightMin" : 32,
"bmiMin": 20,
"fatMin": 32,
"phyWeight":[{
"dateTime": 1583991833330,
"isApp": true,
"bodyWeight": 72,
"bmi": 20,
"fat": 32
}, {
"dateTime": 1583991863330,
"isApp": true,
"bodyWeight": 72,
"bmi": 10,
"fat": 32
},
...
]
}
}
```
## 血壓心律
Attribute | Description | IsRequired| Remark
-|-|-|-
dateTime | number | true | 測量時間
isApp | Boolean | true | 手動新增
systolic | number | false | 收縮壓
diastolic | number | false | 舒張壓
heartRate | number | false | 心率
### 新增
Request:
```url=
POST /phy/heart
```
Payload:
```json=
{
"dateTime": 1585546156101,
"isApp": true,
"systolic": 75,
"diastolic": 25,
"heartRate": 32
}
```
Response (成功):
```json=
{
"success": true,
"data": {
"dateTime": 1585546156101,
"isApp": true,
"systolic": 75,
"diastolic": 25,
"heartRate": 32
}
}
```
### 查詢
```url=
GET /phy/heart
```
Query Params:
| 欄位 | 型態 | 預設 | 說明 |
|---|---|---|---|---|
| page | number |1| 當前頁數|
| pageSize | number |10| 每頁結果數量,-1 為顯示所有|
| sort | string | dateTime | 排序欄位
| startAt | number | false | 從(測量時間)
| endAt | number | false | 結束(測量時間)
| avg | number | number| 0:當日 1:日平均 2 :月平均 |
| desc | boolean | false | 是否倒序排列?
| 欄位 | 型態 | 說明 |
|---|---|---|---|---|
systolicAvg | number | 日/月平均收縮壓
diastolicAvg | number | 日/月平均舒張壓
heartRateAvg | number | 日/月平均心律
systolicMax | number | 日/月最高收縮壓
diastolicMax | number | 日/月最高舒張壓
heartRateMax | number | 日/月最高心律
systolicMin | number | 日/月最低收縮壓
diastolicMin | number | 日/月最低舒張壓
heartRateMin | number | 日/月最低心律
Response (成功):
```json=
{
"success": true,
"total": 2,
"data":{
"systolicAvg": 72,
"diastolicAvg": 20,
"heartRateAvg": 32,
"systolicMax": 72,
"diastolicMax": 20,
"heartRateMax": 32,
"systolicMin": 72,
"diastolicMin": 20,
"heartRateMin": 32,
"phyHeart":[{
"dateTime": 1583991833330,
"isApp": true,
"systolic": 72,
"diastolic": 20,
"heartRate": 32
}, {
"dateTime": 1583991863330,
"isApp": true,
"systolic": 72,
"diastolic": 10,
"heartRate": 32
},
...
]
}
}
```
## 血糖胰島素
Attribute | Description | IsRequired| Remark
-|-|-|-
dateTime | number | true | 測量時間
isApp | Boolean | true | 手動新增
beforeMeals | number | false | 飯前血糖
afterMeals | number | false | 飯後血糖
insulinId | number | false | 胰島素編號
insulin | number | false | 胰島素劑量
### 新增
Request:
```url=
POST /phy/insulin
```
Payload:
```json=
{
"dateTime": 1585546156101,
"isApp": true,
"beforeMeals": 75,
"afterMeals": 22.5,
"insulinId": 1,
"insulin": 32
}
```
Response (成功):
```json=
{
"success": true,
"data": {
"dateTime": 1585546156101,
"isApp": true,
"beforeMeals": 75,
"afterMeals": 22.5,
"insulinId": 1,
"insulin": 32
}
}
```
### 查詢
```url=
GET /phy/insulin
```
Query Params:
| 欄位 | 型態 | 預設 | 說明 |
|---|---|---|---|---|
| page | number |1| 當前頁數|
| pageSize | number |10| 每頁結果數量,-1 為顯示所有|
| sort | string | dateTime | 排序欄位
| startAt | number | false | 從(測量時間)
| endAt | number | false | 結束(測量時間)
| avg | number | number| 0:當日 1:日平均 2 :月平均 |
| desc | boolean | false | 是否倒序排列?
| 欄位 | 型態 | 說明 |
|---|---|---|---|---|
beforeMealsAvg | number | 日/月平均餐前血糖
afterMealsAvg | number | 日/月平均餐後血糖
insulinAvg | number | 日/月平均胰島素
beforeMealsMax | number | 日/月最高餐前血糖
afterMealsMax | number | 日/月最高餐後血糖
insulinMax | number | 日/月最高胰島素
beforeMealsMin | number | 日/月最低餐前血糖
afterMealsMin | number | 日/月最低餐後血糖
insulinMin | number | 日/月最低胰島素
Response (成功):
```json=
{
"success": true,
"total": 2,
"data": {
"beforeMealsAvg": 75,
"afterMealsAvg": 22.5,
"insulinAvg": 32.2,
"beforeMealsMax": 75,
"afterMealsMax": 22.5,
"insulinMax": 32.2,
"beforeMealsMin": 75,
"afterMealsMin": 22.5,
"insulinMin": 32.2,
"phyInsulin": [
{
"dateTime": 1585546156101,
"isApp": true,
"beforeMeals": 75,
"afterMeals": 22.5,
"insulin": 32.2
}, {
"dateTime": 1585546156101,
"isApp": true,
"beforeMeals": 75,
"afterMeals": 22.5,
"insulin": 32.5
},
...
]
}
}
```
## 體溫血氧
Attribute | Description | IsRequired| Remark
-|-|-|-
dateTime | number | true | 測量時間
isApp | Boolean | true | 手動新增
temperature | number(float4) | false | 體溫
oxygen | number(int4) | false | 血氧
### 新增
Request:
```url=
POST /phy/oxygen
```
Payload:
```json=
{
"dateTime": 1585546156101,
"isApp": true,
"temperature": 22.5,
"oxygen": 32
}
```
Response (成功):
```json=
{
"success": true,
"data": {
"dateTime": 1585546156101,
"isApp": true,
"temperature": 75.4,
"oxygen": 22
}
}
```
### 查詢
```url=
GET /phy/oxygen
```
Query Params:
| 欄位 | 型態 | 預設 | 說明 |
|---|---|---|---|---|
| page | number |1| 當前頁數|
| pageSize | number |10| 每頁結果數量,-1 為顯示所有|
| sort | string | dateTime | 排序欄位
| startAt | number | false | 從(測量時間)
| endAt | number | false | 結束(測量時間)
| avg | number | number| 0:當日 1:日平均 2 :月平均 |
| desc | boolean | false | 是否倒序排列?
| 欄位 | 型態 | 說明 |
|---|---|---|---|---|
temperatureAvg | number | 日/月平均體溫
oxygenAvg | number | 日/月平均血氧
temperatureMax | number | 日/月最高體溫
oxygenMax | number | 日/月最高血氧
temperatureMin | number | 日/月最低體溫
oxygenMin | number | 日/月最低血氧
Response (成功):
```json=
{
"success": true,
"total": 2,
"data": {
"temperatureAvg": 75.4,
"oxygenAvg": 22,
"temperatureMax": 75.4,
"oxygenMax": 22,
"temperatureMin": 75.4,
"oxygenMin": 22,
"phyOxygen": [
{
"dateTime": 1583991833330,
"isApp": true,
"temperature": 75.4,
"oxygen": 22
}, {
"dateTime": 1583991863330,
"isApp": true,
"temperature": 75.4,
"oxygen": 22
},
...
]
}
}
```