🔍Observation
Data models
Kligo's API uses OpenMHealth as a standard data format. In this page you can find examples of data points returned from every devices compatible with Kligo.
Kligo adds some properties to OpenMHealth standard such as archived
and consultationId
consultationId
: This parameter is defined by Kligo. It is used to identify the consultation. When the user starts an encounter then a consultationId is generated. Each data point will inherit the same consultationId until the user starts a new consultation.archived
: This boolean is set to true once the consultation is over. Therefore the user has started a new consultation.
Data point examples
Kligo's datapoints override Open mHealth default measurement.
Blood pressure monitor
Here is a sample heart rate data point in JSON delivered by Kligo:
{
"deviceId":"5bcde9cc1b23d30019e47f7f",
"deviceType":"blood_pressure_monitor",
"consultationId":"0fecc0fc-9c07-4576-8917-549c5aec3e9b",
"id":"c79d09fa-2cd4-4139-8f3b-aa947fb66fee",
"value":66,
"unit":"mmHg",
"type":"diastolic_blood_pressure",
"archived":false,
"timestamp":1544799982719
},
{
"deviceId":"5bcde9cc1b23d30019e47f7f",
"deviceType":"blood_pressure_monitor",
"consultationId":"0fecc0fc-9c07-4576-8917-549c5aec3e9b",
"id":"36943935-38a6-47cc-b5e4-d8245eba141d",
"value":122,
"unit":"mmHg",
"type":"systolic_blood_pressure",
"archived":false,
"timestamp":1544800685145
},
{
"deviceId":"5bcde9cc1b23d30019e47f7f",
"deviceType":"blood_pressure_monitor",
"consultationId":"0fecc0fc-9c07-4576-8917-549c5aec3e9b",
"id":"868b215d-4597-40bb-9109-de3d07b1c74f","value":70,
"unit":"bpm",
"type":"heart_rate",
"archived":false,
"timestamp":1544800685168
},
For instance, heart rate measurements can either be made by blood pressure monitors or oxymeters. If the user wants to favor one device over another one, delivering device types allows your software to filter out data points.
Weight scale
{
"deviceId":"59fc6fcc0639bb000fe98d23",
"deviceType":"body_scale",
"consultationId":"224e2420-55b3-4676-bff8-58f20e5d7f3f",
"id":"1b749937-689e-4bd2-a1d4-fc561baa22a7",
"value":78.2,
"unit":"kg",
"type":"body_weight",
"archived":false,
"timestamp":1537286406129
}
{
"deviceId":"59fc6fcc0639bb000fe98d23",
"deviceType":"body_scale",
"consultationId":"224e2420-55b3-4676-bff8-58f20e5d7f3f",
"id":"1b749937-689e-4bd2-a1d4-fc561baa22a7",
"value":78.2,
"unit":"kg",
"type":"body_weight",
"archived":false,
"timestamp":1537286406129
},
{
"deviceId":"59fc6fcc0639bb000fe98d23",
"deviceType":"body_scale",
"consultationId":"224e2420-55b3-4676-bff8-58f20e5d7f3f",
"id":"96a2b1b2-4f08-43e6-bd3f-e2ea51175503",
"value":4481,
"unit":"ohm",
"type":"body_impedance",
"archived":false,
"timestamp":1537288188891
}
If your software sends to Kligo the patient's height (currently in development) (more information) Kligo can send you back more data, such as bmi etc... :
{
"deviceId":"59fc6fcc0639bb000fe98d23",
"deviceType":"body_scale",
"consultationId":"eabdc349-2053-470b-8f0b-28bf837b7866",
"id":"36915685-dad7-427a-8fbf-1a6116be94b5",
"components":{
"body_weight":{
"value":78,
"unit":"kg"
},
"body_impedance":{
"value":4481,
"unit":"ohm"
},
"body_fat_%":{
"value":23,
"unit":"%"
},
"total_body_water_percentage":{
"value":["data"],
"unit":"%"
},
"body_muscle_percentage":{
"value":["data"],
"unit":"%"
},
"bone_weight":{
"value":["data"],
"unit":"kg"
},
"body_mass_index":{
"value":["data"],
"unit":"kg/m^2"
},
"calorie":{
"value":["data"],
"unit":"cal"
}
},
"type":"partial_body_composition",
"archived":false,
"timestamp":1546864517568
}
Thermometer
{
"deviceId":"5a9ed48fe61a9b001914b27c",
"deviceType":"thermometer",
"consultationId":"0ead9198-5fcf-45b8-b5f8-9978334a7179",
"id":"05704627-65fa-4e0c-933c-2a70d077b2ca",
"value":36.7,
"unit":"C",
"type":"body_temperature",
"archived":false,
"timestamp":1539878211041
}
Glucometer
{
"deviceId":"58e74a1a880c8b0024d51955",
"deviceType":"blood_glucose_monitor",
"consultationId":"8e2887f3-3bd7-4bfc-800d-aae6e301f45d",
"id":"dd920ef6-53ef-45b7-8fe3-d81ba91f7bee",
"value":180,
"unit":"mg/dL",
"type":"blood_glucose",
"archived":false,
"timestamp":1546873605412
}
Oxymeter
{
"deviceId":"5c336cfc155a9f0017714ab2",
"deviceType":"pulse_oximeter",
"consultationId":"f80546a9-1198-4b0a-a005-e6de07d94893",
"id":"f3142649-37e0-4dac-8d3d-02c01fbe7304",
"value":81,
"unit":"bpm",
"type":"heart_rate",
"archived":false,
"timestamp":1546874219777
},
{
"deviceId":"5c336cfc155a9f0017714ab2",
"deviceType":"pulse_oximeter",
"consultationId":"f80546a9-1198-4b0a-a005-e6de07d94893",
"id":"77c6c043-a1ee-43d8-8771-2bcd176bbc5c",
"value":98,
"unit":"%",
"type":"oxygen_saturation",
"archived":false,
"timestamp":1546874220777
}
Height gauge
{
"deviceId":"5c336cfc155a9f0017714ab2",
"deviceType":"weight_scale",
"consultationId":"f80546a9-1198-4b0a-a005-e6de07d94893",
"id":"1b749937-689e-4bd2-a1d4-fc561baa22a7",
"value":78.2,
"unit":"kg",
"type":"body_weight",
"archived":false,
"timestamp":1537286406129
},
{
"deviceId":"5c336cfc155a9f0017714ab2",
"deviceType":"weight_scale",
"consultationId":"f80546a9-1198-4b0a-a005-e6de07d94893",
"id":"1b749937-689e-4bd2-a1d4-fc561baa22a7",
"value":24,
"unit":"kg/m^2",
"type":"body_mass_index",
"archived":false,
"timestamp":1537286406129
},{
"deviceId":"5c336cfc155a9f0017714ab2",
"deviceType":"weight_scale",
"consultationId":"f80546a9-1198-4b0a-a005-e6de07d94893",
"id":"77c6c043-a1ee-43d8-8771-2bcd176bbc5c",
"value":178,
"unit":"cm",
"type":"body_height",
"archived":false,
"timestamp":1546874220777
}
ECG
There are currently two ways of getting data from the ECG:
ECG report: this is a pdf file that Kligo will save on the user's computer. The REST server shows the pointer the ECG on the corresponding record.
ECG data: this is basically raw data coming from the ECG that Kligo will serve from the REST server.
Result after using the EDAN - SE-301
{
"deviceId":"59c4df93435de3002411c59d",
"deviceType":"ecg",
"consultationId":"c06e3e80-b28f-4890-bc26-956a3a5b8fc6",
"id":"00ffa56c-6a06-45c6-9383-d182fd211080",
"value":"/Users/docteur/Downloads/14-20171117-184952.pdf",
"type":"ecg_report",
"archived":false,
"timestamp":1507626814399
}
ECG Data using the Diagnosis - Istel HR-2000
{
"deviceId":"59c4df93435de3002411c59d",
"deviceType":"ecg",
"consultationId":"eabdc349-2053-470b-8f0b-28bf837b7866",
"id":"36915685-dad7-427a-8fbf-1a6116be94b5",
"components":{
"L1":{
"value":[0.00032,-0.00477,/* ... */],
"unit":"mV"
},
"L2":{
"value":[0.00032,-0.00477,/* ... */],
"unit":"mV"
},
"L3":{
"value":[0.00032,-0.00477,/* ... */],
"unit":"mV"
},
"aVF":{
"value":[0.00032,-0.00477,/* ... */],
"unit":"mV"
},
"aVR":{
"value":[0.00032,-0.00477,/* ... */],
"unit":"mV"
},
"aVL":{
"value":[0.00032,-0.00477,/* ... */],
"unit":"mV"
}
},
"type":"ecg_data",
"archived":false,
"timestamp":1546864517568
}
Result after using the CheckMe Pro
{
"deviceId": "98c4df93435de3002411t43e",
"deviceType": "ecg",
"consultationId": "3632b347-5fc5-4a4d-880d-b12245621b48",
"id": "3b6aa6b9-96df-4151-be99-9be90b08f65c",
"components": {
"L1": {
"value": [0.00032,-0.00477,/* ... */],
"unit": "uV",
"interpretation": "N"
},
"ST_amplitude": {
"value": 0,
"unit": "mV"
},
"QT_interval": {
"value": 404,
"unit": "ms"
},
"QRS_duration": {
"value": 68,
"unit": "ms"
},
"QTc": {
"value": 400,
"unit": "ms"
},
"PVC": {
"value": 0,
"unit": ""
},
"heart_rate": {
"value": 59,
"unit": "/min"
}
},
"type": "ecg_data",
"archived": false,
"timestamp": 1547197077666
}
Spirometer
{
"deviceId":"59c4df93435de30024751c5a",
"deviceType":"spirometer",
"consultationId":"afd2c1a5-0112-4ee5-8e56-43addd80d7fa",
"id":"1496fb4a-128e-4636-90bf-6dcfbcc7fa25",
"components":{
"FVC":{
"value":2.3399999141693115,
"unit":"L"
},
"FEV1":{
"value":2.3399999141693115,
"unit":"L"
},
"PEF":{
"value":3.180000066757202,
"unit":"L/s"
},
"Flow":{
"value":["data"],
"unit":"L/s"
}
},
"type":"Spirometry panel",
"archived":false,
"timestamp":1544628006343
}
Stethoscope
Audio streams are encoded in PCM 16 bits (little endian) and can be easily buffered into an audio input.
Here are 10 secs of audio recording sampled from the ekuorePro. This recording can be played using ffplay
:
ffplay -f s16le -ar 44100 -ac 2 samples_pcm16le
Summary Table
This table holds every type of data points available through Kligo's API.
type
device
systolic_blood_pressure
blood pressure monitor
diastolic_blood_pressure
blood pressure monitor
heart_rate
blood pressure monitor, pulse_oxymeter, ecg
body_weight
weight scale
body_impedance
weight scale
body_fat_percentage
weight scale
total_body_water_percentage
weight scale
body_muscle_percentage
weight scale
bone_weight
weight scale
calorie
weight scale
body_mass_index
weight scale
body_temperature
thermometer
blood_glucose
glucometer
oxygen_saturation
pulse_oxymeter, ecg
body_height
weight_scale
albumin
urine_analysis
bilirubin
urine_analysis
creatinine
urine_analysis
glucose
urine_analysis
ketone
urine_analysis
leukocyte
urine_analysis
nitrite
urine_analysis
occult_blood
urine_analysis
ph
urine_analysis
protein
urine_analysis
specific_gravity
urine_analysis
urobilinogen
urine_analysis
albumin_creatinine
urine_analysis
protein_creaninine
urine_analysis
hcg
immuno_analysis
ecg_report
ecg
ecg_data
ecg
spirometry_panel
spirometer
sonography_report
spirometer
ketone
glucometer
hematocrit
glucometer
hemoglobin
glucometer
uric_acid
glucometer
total_cholesterol
glucometer
Last updated
Was this helpful?