Overview
The mySugr diabetes app is a mobile application that enables a user to sync and track their blood glucose. One can either pair various glucometers/insulin pens/CGMs/Pumps etc or enter values manually in the application. mySugr back-end collects data from various sources and sends the FHIR bundles to IPP.
The bundles received will be ingested to the FHIR server and later also integrated with the data lake.
Some data points that are spported by the ACSPIX format are integrated with RDCP/SPOL.
Details of the data points are under the Requirements section
Apple Health and Google Fit:
All BG entries from Google fit and Apple Health are considered as manual entries because there is no way of knowing the original source of them.
mySugr - SPOL/RDCP integration:
- Doctor triggers an invitation for the patient to setup data-sharing from mySugr to Smart Pix Online
- Once the patient has granted consent the sharing of BG data starts
- Only the data points that are currently supported by the ACSPIX format are integrated with SPOL/RDCP (For example: Device details, Blood glucose measurements, various tags etc)
Data Points
Note: If all the columns of the table are not visible, please reduce the zoom % of the browser
Requirements - Data Group 0
| Data Point | Unit | Description | FHIR Resource & Element | Remarks (Integrated with SPOL) | FHIR Sample |
|---|---|---|---|---|---|
| blood_glucose_measurement | mg/dl | Blood glucose measurement taken by using any method | Observation.valueQuantity (category=clinical-observation) (code=362943005/41653-7 depending on source) | Yes | Sample |
| date_of_entry | timestamp | Date of measurement or activity | Observation.effectiveDateTime (category=clinical-observation) (code=362943005/41653-7 depending on source) | Yes | Sample |
| source_id | string | Manufacturing information of source of the observation. The ID of the source. For devices, this will usually be some serial number | DeviceComponent | Yes | Sample |
| source_type | string | Enumerated type of the device which performed the observation. The type of the source. For devices, this will usually be some device identifier (e.g., "sanofi_ibgstar"). | DeviceComponent | Yes | Sample |
Requirements - Data Group 1
| Data Point | Unit | Description | FHIR Resource & Element | Remarks (Integrated with SPOL) | FHIR Sample |
|---|---|---|---|---|---|
| meal_carbohydrates | g | Amount of carbohydrates in the accompanying meal | Observation.valueQuantity (category=carb-observation; code=9059-7) | Yes | meal-carbohydrates |
| pen_basal_injection_units (long-acting) | IU | Basal insulin injection delivered by pen | MedicationAdministration.dosage.dose (MedicationAdministration.medicationCodeableConcept code=25305005) | Yes | Insulin pen data |
| pen_bolus_injection_units (short-acting) | IU | Bolus insulin injection delivered by pen | MedicationAdministration.dosage.dose (MedicationAdministration.medicationCodeableConcept code=411531001) | Yes | Insulin pen data |
| drug_Type | string | Name of the drug (insulin) administered | MedicationAdministration.medicationCodeableConcept.text | No (there is no provision to send this information in the BG ACSPIX format which is used to send pen basal and bolus insulin details) | Insulin pen data |
| status_flags | Int | Status flags returned in the configuration of the pen during administration of medication | Observation.valueCodeableConcept (category="EWM") | No (there is no provision to send this information in the BG ACSPIX format which is used to send pen basal and bolus insulin details) | Pen errors and warnings |
| mysugr.hardware.user.device.properties (Insulin Pen) | - | Details of the device (in this case Insulin Pen) | DeviceComponent | Yes | Insulin pen data |
| Tag - after_meal | - | see Tags - Revised approach | Yes | see Tags - Revised approach | |
| Tag - after_sports | - | see Tags - Revised approach | Yes | see Tags - Revised approach | |
| Tag - bedtime | - | see Tags - Revised approach | Yes | see Tags - Revised approach | |
| Tag - before_meal | - | see Tags - Revised approach | Yes | see Tags - Revised approach | |
| Tag - before_sports | - | see Tags - Revised approach | Yes | see Tags - Revised approach | |
| Tag - breakfast | - | see Tags - Revised approach | Yes | see Tags - Revised approach | |
| Tag - dinner | - | see Tags - Revised approach | Yes | see Tags - Revised approach | |
| Tag - fasting | - | see Tags - Revised approach | No (to be implemented with 6.0.0) | see Tags - Revised approach | |
| Tag - hyper_feeling | - | see Tags - Revised approach | No (there is no provision to send this information in the ACSPIX format) | see Tags - Revised approach | |
| Tag - hypo-feeling | - | see Tags - Revised approach | Yes | see Tags - Revised approach | |
| Tag - lunch | - | see Tags - Revised approach | Yes | see Tags - Revised approach | |
| Tag - sick | - | see Tags - Revised approach | Yes | see Tags - Revised approach | |
| Tag - snack | - | see Tags - Revised approach | Yes | see Tags - Revised approach | |
| Tag - stress | - | see Tags - Revised approach | Yes | see Tags - Revised approach | |
| airshot | - | MedicationAdministration resource similar to pen basal/bolus entries with status "entered-in-error" and a "reasonNotGiven" | No (There is no provision in the ACSPIX spec for this) | Airshot |
Requirements - Data Group 2
| Data Point | Unit | Description | FHIR Resource & Element | Remarks (Integrated with SPOL) | FHIR Sample |
|---|---|---|---|---|---|
| sensor_measurements_start_date_local | timestamp | Time of measurement start | Observation.effectiveDateTime (category=vital-signs; code=434910001) | No | CGM observation |
| sensor_measurements_end_date_local | timestamp | Time of measurement completion | Not Mapped - CGM measurement is a point in time, meaning the start and end date are equal | No | CGM observation |
| sensor_measurements_record_reference | string | Unique identifier of the measurement performed by a sensor | Observation.identifier.value (category=vital-signs; code=434910001) | No | CGM observation |
| sensor_measurements_value | float | Value of measurement from a sensor | Observation.valueQuantity.value (category=vital-signs; code=434910001) | No | CGM observation |
| sensor_measurement_source_id | string | Manufacturing information of source of the observation (This is the identifier of a source that is available from the service/device where the data is imported from) | DeviceComponent.productionSpecification.productionSpec for DeviceComponent.productionSpecification.specType="source-id" | No | CGM device data |
| sensor_measurement_source_type | string | Type of source of the observation - device or a 3rd party service (MEDTRONIC, FreestyleLibre, GoogleFit, HealthKit, Senseonics, Dexcom) | DeviceComponent.productionSpecification.productionSpec for DeviceComponent.productionSpecification.specType="source-type" | No | CGM device data |
| sensor_measurement_source_class | string | Supertype of source of the observation - device or a 3rd party service (currently the two possible values: "device" and "service") | DeviceComponent.productionSpecification.productionSpec for DeviceComponent.productionSpecification.specType="source-class" | No | CGM device data |
| sensor_measurement_measurement_type | string | Enumerated type of the device which performed the observation (CGM or PEDOMETER) | DeviceComponent.productionSpecification.productionSpec for DeviceComponent.productionSpecification.specType="measurement-type" | No | CGM device data |
| sensor_measurement_unit | string | Enumerated type of the unit of the performed observation | DeviceMetric.unit.coding.code (Devicemetric.type=2344-0) | No | CGM device data |
Requirements - Data Group 3a
| Data Point | Unit | Description | FHIR Resource & Element | Remarks (Integrated with SPOL) | FHIR Sample |
|---|---|---|---|---|---|
| blood_pressure_diastolic | mmHg | Blood pressure - Diastolic | Observation.component.valueQuantity (category=vital-signs; code=75367002; component.code=271650006) | No | Vital signs and lab related data points |
| blood_pressure_systolic | mmHg | Blood pressure - Systolic | Observation.component.valueQuantity (category=vital-signs; code=75367002; component.code=271649006) | No | Vital signs and lab related data points |
| body_weight | kg | Measured body weight at the specified time | Observation.valueQuantity (category=vital-signs; code=29463-7) | No | Vital signs and lab related data points |
| hba1c | mmol/mol | Glycated haemoglobin measuerement | Observation.valueQuantity (category=Laboratory; code=59261-8) | No | Vital signs and lab related data points |
| ketones | mmol/L | Ketone measurement | Observation.valueQuantity (category=Laboratory; code=59431004) | No | Vital signs and lab related data points |
| body_mass_index | kg/m2 | Body Mass Index | Observation.valueQuantity (category=vital-signs; code=39156-5) | No | Vital signs and lab related data points |
| note | string | Arbitrary note attributed to the related data | Observation.comment | No | Vital signs and lab related data points |
| Tags (DG3) | - | standalone/tags associated with measurements | see Tags - Revised approach | No | see Tags - Revised approach |
| exercise_description_text | string | General physical activity performed - description of activity | Observation.valueString (Activity observation category=257733005; code=280147009) | No | Activity related data points |
| exercise_duration | seconds | General physical activity duration | Observation.valueQuantity (Activity metric observation category=C4049938; code=55411-3) | No | Activity related data points |
| exercise_intensitiy | int (1-3) | General physical activity estimated intensity | Observation.valueQuantity (Activity metric observation category=C4049938; code=74008-4) | No | Activity related data points |
| steps_count | steps (int) | Pedometer steps count | Observation.valueQuantity (Activity metric observation category=C4049938; code=C3166374) | No | Activity related data points |
| meal_description_text | string | Meal description | Observation.valueString (category=364395008; code=246251008) | No | Meal related data points |
| meal_image(s) | image file | Photo taken by the user of a meal, which can be attached to a logentry | Observation.extension - observationreference on observation resource (category=364395008; code=246251008) | No | Meal related data points |
| logentry_nutritional_constituents | list of strings | Type of nutrition that was consumed with the observation or activity. List of tags the user can choose | Observation.component (category=364395008; code=246251008) | No | Meal related data points |
| therapy settings | - | settings of the user in the mysugr app | see User therapy settings | see User therapy settings | User therapy settings |
| insights_algorithm_name | string | Arbitrary string for the name of the algorithm which was performed as risk assessment for the patient | Observation.method.coding ( category=Risk assessment (procedure); code=225338004) | No | Inights related medical data |
| insights_algorithm_version | string | Arbitrary string for the version of the algorithm which was performed as risk assessment for the patient | Observation.extension - algorithm-version on observation resource ( category=Risk assessment (procedure); code=225338004) | No | Inights related medical data |
| insights_date_from | timestamp | Time of range start of data collected for the algorithm calculation | Observation.effectivePeriod ( category=Risk assessment (procedure); code=225338004) | No | Inights related medical data |
| insights_date_to | timestamp | Time of range end of data collected for the algorithm calculation | Observation.effectivePeriod ( category=Risk assessment (procedure); code=225338004) | No | Inights related medical data |
| insights_created_at | timestamp | Time of creation of the algorithm calculation | Observation.extension - created-at-timestamp on observation resource ( category=Risk assessment (procedure); code=225338004) | No | Inights related medical data |
| insights_delivered_at | timestamp | Time of when the patient was sent the calculation/insight/prediction | Observation.issued( category=Risk assessment (procedure); code=225338004) | No | Inights related medical data |
| insights_type_id | string | Type of insight/calculation/risk assessment performed for the patient | Observation.code.coding ( category=Risk assessment (procedure); code=225338004) | No | Inights related medical data |
| insights_value | string | Calculated value - result of the risk assessment algorithm | Observation.ValueString ( category=Risk assessment (procedure); code=225338004) | No | Inights related medical data |
| bolus_correction_insulin_units | insulin units | Bolus correction insulin amount (administered to correct a high blood glucose level) | MedicationAdministration.extension - bolus-correction-insulin-units | No | Medication related data - Bolus correction and food |
| bolus_food_insulin_units | insulin units | Bolus food insulin amount (administered following a meal) | MedicationAdministration.extension - bolus-food-insulin-units | No | Medication related data - Bolus correction and food |
| logentry_medication_name | string | Name of the consumed drug/medicine | MedicationAdministration.medicationCodeableConcept.text (category=medicationCodeableConcept; code=46992007) | No | Medication related data - Drug name and amount |
| logentry_medication_amount | int | Amount of the consumed drug/medicine | MedicationAdministration.dosage.dose.value (category=dosage; code=Pill) | No | Medication related data - Drug name and amount |
| date | timestamp | Input date of the verified medical data | Observation.effectiveDateTime | No | Data points not considered for modelling, as this information is already covered in the individual data points. |
| record_reference | string | Verification identifier of a device which performed the observation | Observation.identifier | No | Data points not considered for modelling, as this information is already covered in the individual data points. |
| source_class | string | Supertype of source of the observation - device or a 3rd party service | The source class of the verification. This can be something like "DEVICE | No | Data points not considered for modelling, as this information is already covered in the individual data points. |
| verifies_date_of_entry | bool | Flag if the device is also the verified of the effective date of the observation | the logentry's dateOfEntry has also been verified as part of the attribute verification. | No | Data points not considered for modelling, as this information is already covered in the individual data points. |
| verifies_date_of_entry | bool | Flag if the device is also the verified of the effective date of the observation | the logentry's dateOfEntry has also been verified as part of the attribute verification. | No | Data points not considered for modelling, as this information is already covered in the individual data points. |
| location_latitude | float | Location of measurement or activity | No | The location of measurement/activity data point has been de-prioritized |
Requirements - Data Group 3b
| Data Point | Unit | Description | FHIR Resource & Element | Remarks (Integrated with SPOL) | FHIR Sample |
|---|---|---|---|---|---|
| recommended_total_bolus | IU | The total amount of bolus recommended by the bolus calculator. This is the sum of meal and correction components of recommended bolus | MedicationRequest extension advice-total-component-recommended (sent only when bolus calculator was used) | Yes | Recommended bolus |
| recommended_meal_bolus | IU | The meal component of bolus recommended by the bolus calculator | MedicationRequest extension advice-meal-component-recommended (sent only when bolus calculator was used) | Yes | Recommended bolus |
| recommended_correction_bolus | IU | The correction component of bolus recommended by the bolus calculator | MedicationRequest extension advice-bg-component-recommended (sent only when bolus calculator was used) | Yes | Recommended bolus |
| selected_total_bolus | IU | The total amount of bolus selected by the user. This is the sum of meal and correction components of selected bolus | MedicationRequest extension advice-total-component-selected (if Bolus calculator was used) | Yes | Selected bolus |
| selected_meal_bolus | IU | The meal component of bolus selected by the user. | MedicationRequest extension advice-meal-component-selected (if Bolus calculator was used) | Yes | Selected bolus |
| selected_correction_bolus | IU | The correction component of bolus selected by the user. | MedicationRequest extension advice-bg-component-selected (if Bolus calculator was used) | Yes | Selected bolus |
| confirmed_total_bolus | IU | The total amount of bolus already delivered and confirmed by a pump. This is the sum of meal and correction bolus | MedicationRequest extension advice-total-component-confirmed (if Bolus calculator was used) + MedicationRequest.dosageInstruction (if Bolus calculator was used) + MedicationAdministration.dose (medicationCodeableConcept.code = 411531001) |
Yes | Confirmed bolus |
| confirmed_meal_bolus | IU | The amount of meal bolus already delivered and confirmed by a pump | MedicationRequest extension advice-meal-component-confirmed (if Bolus calculator was used) + MedicationAdministration.extension bolus-food-insulin-units (medicationCodeableConcept.code = 411531001) |
Yes | Confirmed bolus |
| confirmed_correction_bolus | IU | The amount of correction bolus already delivered and confirmed by a pump | MedicationRequest extension advice-bg-component-confirmed (if Bolus calculator was used) + MedicationAdministration.extension bolus-correction-insulin-units (medicationCodeableConcept.code = 411531001) |
Yes | Confirmed bolus |
| bolus_delivery_type | enum on client [PUMP_STANDARD(0), PUMP_EXTENDED(1), PUMP_MULTIWAVE(2), int on backend | The way of the bolus delivery | MedicationRequest extension advicedBolusType (if Bolus calculator was used) + MedicationAdministration.extension admin-type (medicationCodeableConcept.code = 411531001) (if bolus is confirmed by the pump) |
Yes | Bolus delivery type |
| immediate_insulin | 1 insulin unit on backend (decimal (10,2)) | The amount of insulin to be delivered as early and as quick as the device allows | MedicationRequest extension immediate-bolus-insulin-amount (if Bolus calculator was used) + MedicationAdministration.extension immediate-bolus-insulin-amount (medicationCodeableConcept.code = 411531001) (if bolus is confirmed by the pump) |
Yes | Immediate insulin |
| delayed_insulin | 1 insulin unit on backend (decimal (10,2)) | The amount of insulin set to be delivered over a long period of time | MedicationRequest extension extended-bolus-insulin-amount (if Bolus calculator was used) + MedicationAdministration.extension extended-bolus-insulin-amount (medicationCodeableConcept.code = 411531001) (if bolus is confirmed by the pump) |
Yes | Delayed insulin |
| delayed_duration | millisecond | The amount of time in which the delayed insulin amount is to be delivered | MedicationRequest extension extended-bolus-duration (if Bolus calculator was used) + MedicationAdministration.extension extended-bolus-duration (medicationCodeableConcept.code = 411531001) (if bolus is confirmed by the pump) |
Yes | Delayed duration |
| bolus_id | string | The delivery-device-specific identifier of a bolus delivery | MedicationRequest.identifier.value (if Bolus calculator was used) + MedicationAdministration.identifier.value (not to be used directly as value, needs to be built. Details in the sample) |
Yes | Samples |
| bolus_activation_type | enum on client, [MANUAL_BOLUS(0), MANUALLY_CHANGED_RECOMMENDED_BOLUS(1), RECOMMENDED_BOLUS(2), COMMANDED_BOLUS(3), BLIND_BOLUS(4)]; |
The cause of the bolus delivery | MedicationRequest extension bolus-activation-type (if Bolus calculator was used) + MedicationAdministration.extension bolus-activation-type(medicationCodeableConcept.code = 411531001) (if bolus is confirmed by the pump) |
Yes (partially. not all the codes are available in ACSPIX) | Bolus activation type |
| therapy setting - mysugr.therapy.insulin.activeduration | seconds | Insulin active duration | extension careplan-therapy-insulin-active-duration on CarePlan (category = 81334-5) | No | Therapy settings |
| therapy setting - mysugr.therapy.insulinpump.type | string | Name of the insulin pump | extension careplan-therapy-insulin-pump-type on CarePlan (category = 81334-5) | No | Therapy settings |
| therapy setting -mysugr.boluscalculator.calculationcount | integer | Number of times boluscalculator was used | extension careplan-therapy-bolus-calculator-count on CarePlan (category = 81334-5) | No | Therapy settings |
| therapy setting - mysugr.boluscalculator.enabled | boolean | boluscalculator status is enabled/disabled by the user | extension device-component-bolus-advice-enabled on CarePlan (category = 81334-5) | No | Therapy settings |
Profiles
List of profiles that are relevant to this application
- Details and Examples
- Data group 0
- Data group 1
- meal-carbohydrates
- meal-carbohydrates - WIP
- Insulin pen data
- Pen errors and warnings
- Tags - Former approach [Deprecated]
- Tags - Revised approach
- airshot
- Data group 2
- Data group 3a
- Vital signs and lab related data points
- Tags [Deprecated]
- Tags [Revised approach]
- Activity related data points
- Meal related data points
- Insights related medical data
- User therapy settings
- Medication related data bolus correction and food bolus
- Medication related data drug name and quantity
- Data Group 3b
- Basal related Data
- Edited values [Former approach - BG Integration]
- Edited Values approach [Final approach]
- Observation resource
- MedicationAdministration resource
- Goal resource
- Condition resource
- CarePlan resource
- MedicationRequest resource
- Deleted Values approach [Final approach]