OmniCare 服務介紹

OmniCare 為華碩健康所發展之醫療物聯網平台,提供醫療器材感測資料的儲存與讀取,其以 JSON 作為傳輸內容之格式標準。OmniCare 提供多元之 API 介面,讓醫療儀器商、醫療資訊服務商、醫療院所等機構能依其角色特性,各自利用對應之 API 介面,達到醫療資訊有效整合與應用之成效,降低醫療資訊服務建置之成本。

 

OmniCare 資料綱要

為整合不同廠商智慧醫材之感測資訊,OmniCare 歸納生理資訊資料綱要如下圖所示,共同類別為 OmniCare_Core,其包含裝置序號(deviceId)、起始時間(time)、結束時間(endTime) 等屬性,各生理資訊子類別繼承核心類別再依其特性擴充其特有屬性欄位。

 

OmniCare平台數據定義 (Schema)

共通參數

deviceId / 裝置名稱 : String

time / 起始時間 : String

endTime / 結束時間 : String

_time / timestamp : Long

生理參數

數值

資料描述

體溫
(omnicare_bodyTemperature)

type/體溫類型[0,1]: String
unit/單位[0,1]: String
value/量測值[0,1]: Float

血糖
(omnicare_bloodGlucose)

sourceType/量測方式[0,1]: String
GLU/血糖值[0,1]: Integer (mg/dL)
HbA1c/糖化血色素值[0,1]: Integer (%)

睡眠
(omnicare_sleep)

sourceType/量測方式[0,1]: String
state/睡眠狀態[0,1]: String
duration/狀態持續時間[0,1]: Integer (s)

血壓
(omnicare_bloodPressure)

sourceType/量測方式[0,1]: String
DIA/舒張壓[0,1]: Integer (mmHg)
SYS/收縮壓[0,1]: Integer (mmHg)
HR 心率 [0,1]: Integer (BPM)
mean 平均壓 [0,1]: double

血氧
(omnicare_SPO2)

sourceType/量測方式[0,1]: String
SPO2/血氧值 [1]: Integer (%)

活動
(omnicare_activity)

type/活動類型[1]: String
value/屬性值[1]: Numeric
unit/屬性值單位[1]: String

心電圖
(omnicare_ecg)

slotId/採樣資料的序號[1]: Integer
qrs/QRS區間[0,1]: double (s)
st/ST值[0,1]: double (mm)
data[0,1]: String
origin/設定原點值[0,1]: Integer
period/取樣時間長度[0,1]: Integer (ms)
factor/校正因子[0,1]: double
lowerLimit/採樣資料的下限值[0,1]: Integer
upperLimit/採樣資料的上限值[0,1]: Integer
dimensions/採樣數[0,1]: Integer
description/資料描述[0,1]: String

光電容積圖
(omnicare_ppg)

slotId/採樣資料的序號[1]: Integer
data[0,1]: String
origin/設定原點值[0,1]: Integer
period/取樣時間長度[0,1]: Integer (ms)
factor/校正因子[0,1]: double
lowerLimit/採樣資料的下限值[0,1]: Integer
upperLimit/採樣資料的上限值[0,1]: Integer
dimensions/採樣數[0,1]: Integer
description/資料描述[0,1]: String

心率變異
(omnicare_HRV)

sourceType[0,1]/量測方式: HRVTypeCode
TAG: Text
TP/總功率: Float (ms^2)
VLFP/極低頻範圍功率: Float (ms^2)
LFP/低頻範圍功率: Float (ms^2)
HFP/高頻範圍功率: Float (ms^2)
nLFP/標準化低頻功率: Float (ms^2)
nHFP/標準化高頻功率: Float (ms^2)
LF_HF/低、高頻功率比值: Float (ms^2)
SDNN/正常心跳間期的標準偏差: Interger (ms)
SDANN/計算短時間的平均正常心跳間期,通常是5分鐘,然後再計算全程的平均標準偏差: Interger (ms)
NN50/正常心跳間期差值超過50毫秒的個數: Interger (ms)
pNN50/相鄰正常心跳間期差值超過50毫秒的比例: Interger (ms)
RMSSD/相鄰正常心跳間奇差值平方和均方根: Interger (ms)
AF/心房顫動指數:
Stress(壓力指數)
VO2(攝氧量): L/min
RRI (心跳間隔時間): (ms)

G Sensor
(omnicare_gSensor)

value/屬性值[1]: Numeric
unit/屬性值單位[1]: String

Location
(omnicare_location)

alt / Altitude : Double
lat / Latitude[0,1]: String
lng / Longitude[0,1]: String

 

環境參數

空氣品質
(omnicare_airQuality)

AQI/空氣品質指標[0,1]: Integer
CO[0,1]: Double(ppm)
CO2[0,1]: Double(ppm)
NO[0,1]: Double(ppb)
NO2[0,1]: Integer(ppb)
SO2[0,1]: Integer(ppb)
PM10[0,1]: Integer(μg/m3)
PM2_5[0,1]: Double(μg/m3)
NH3[0,1]: Double(ppm)
O3[0,1]: Double(ppm)
HCHO/甲醛[0,1]: Double(ppm)
TVOC/總揮發性有機化合物[0,1]: Double(ppm)

環境條件
(omnicare_envCondition)

temp_C [0,1]: Double
temp_F [0,1]: Double
humidity[0,1]: Double(%)
lat / Latitude[0,1]: String
lng / Longitude[0,1]: String

大氣壓力
(omnicare_airPressure)

value/屬性值[1]: Numeric
unit/屬性值單位[1]: String

高度
(omnicare_altitude)

value/屬性值[1]: Numeric
unit/屬性值單位[1]: String

 

API

使用流程

  1. 透過 getToken API 取得帳戶認證 token 及 sguri 參數

  1. 將 token 與 sguri 作為 Request 之標頭參數呼叫其餘 API 服務

ROOT URL

https://{omnicaredomain}:{port}

API

POST /auth/user

使用 OmniCare 服務前,開發者須先以 WebstorageID 進行認證,取得 OmniCare所配發之 Token 及該 WebstorageID 所屬之 ServiceArea,作為其他 API 服務呼叫之標頭資訊。

POST / HTTP/1.1

https://{omnicaredomain}:{port}/auth/user

{

"uid":"test@asuscloud.com",

"pwd":"test@test"

}

Name

Description

Required

uid

ASUS Webstorage Account

Yes

pwd

ASUS Webstorage Account Password

Yes


HTTP/1.1 200

{

"token":"6uad0caas2cy55",

"sguri":"sgd01.asuswebstorage.com",

"status":"0"

}

Name

Description

Return

token

OmniCare API 服務之授權Token

Yes

sguri

Webstorage ID隸屬之服務網址

Yes

status

服務查詢結果狀態(0,1,2)

Yes

msg

服務查詢結果狀態描述

Optional


GET /api/data/device/:deviceId/:startTime/:endTime


Field

Type

Description

Example

deviceId

String

所欲查詢資料之儀器裝置序號

ASUSLife-00002-002

startTime

String

所欲查詢時間之起始時間,以UTC+0 為基準

20170531000000

(2017-05-31 00:00:00)

endTime

String

所欲查詢時間之結束時間,以UTC+0為基準

20170730000000

(2017-07-30 00:00:00)


GET/ HTTP/1.1

https://{omnicaredomain}:{port}/api/data/device/ASUSLife-00002-002/20170531000000/20170730000000

Authorization:6uad0caas2cy55

sguri: sgd01.asuswebstorage.com

{}

Name

Description

Required

Authorization, sguri is required


HTTP/1.1 200

{

"status":"success",

"data":{"omnicare_bloodPressure": [

{

"mean": 84,

"hr": 98,

"time": "2017-07-26 09:51:16",

"endTime": "2017-07-26 09:51:16",

"sys": 62,

"deviceId": "ASUSLife-00002-002",

"dia": 87

},

{

"mean": 79,

"hr": 108,

"time": "2017-07-26 09:51:25",

"endTime": "2017-07-26 09:51:25",

"sys": 77,

"deviceId": "ASUSLife-00002-002",

"dia": 92

},....

],

"omnicare_activity":[ {....}, {...}, ….]

}

}

Name

Description

Return

status

服務查詢結果狀態(success, fail)

Yes

data

所查詢到符合搜尋條件之生理資訊資料

Yes

 

 


 

 

 

 

GET /api/data/schema/:schema/:startTime/:endTime

 

Field

Type

Description

Example

schema

String

所欲查詢資料之生理訊號類型

omnicare_bloodPressure

startTime

String

所欲查詢時間之起始時間,以UTC+0 為基準

20170531000000

(2017-05-31 00:00:00)

endTime

String

所欲查詢時間之結束時間,以UTC+0為基準

20170730000000

(2017-07-30 00:00:00)


GET/ HTTP/1.1

https://{omnicaredomain}:{port}/api/data/device/omnicare_bloodPressure/20170531000000/20170730000000

Authorization:6uad0caas2cy55

sguri: sgd01.asuswebstorage.com


Name

Description

Required

Authorization, sguri is required


HTTP/1.1 200

{

"status":"success",

"data":[

{

"mean": 84,

"hr": 119,

"time": "2017-07-21 17:18:40",

"endTime": "2017-07-21 17:18:40",

"sys": 79,

"deviceId": "ASUSLife-00002-001",

"dia": 97

},

{

"mean": 72,

"hr": 99,

"time": "2017-07-21 17:18:49",

"endTime": "2017-07-21 17:18:49",

"sys": 74,

"deviceId": "ASUSLife-00002-001",

"dia": 71

},

…...

]

}

Name

Description

Return

status

服務查詢結果狀態(success, fail)

Yes

data

所查詢到符合搜尋條件之生理資訊資料

Yes

 

GET /api/devices


GET/ HTTP/1.1

https://{omnicaredomain}:{port}/api/devices

Authorization:6uad0caas2cy55

sguri: sgd01.asuswebstorage.com


Name

Description

Required

Authorization, sguri is required


HTTP/1.1 200

{

"status":"success",

"data":[

{

"DeviceId": "ASUSLife-00002-001"

"startTime": "2017-05-23 00:00:00"

"endTime": "2017-07-23 00:00:00"

},

{

"DeviceId": "ASUSLife-00002-002"

"startTime": "2017-05-23 00:00:00"

"endTime": "2017-07-23 00:00:00"

}

…….

]

}

Name

Description

Return

status

服務查詢結果狀態(success, fail)

Yes

data

所查詢到符合搜尋條件之生理資訊資料

Yes