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    

Resource name Profile link Category code Meta profile
Message header message-header http://roche.com/fhir/rdc/StructureDefinition/message-header
Device phg-device http://roche.com/fhir/rdc/StructureDefinition/phg-device
DeviceComponent phd-devicecomponent http://roche.com/fhir/rdc/StructureDefinition/phd-devicecomponent
DeviceMetric dm-device-metric http://roche.com/fhir/rdc/StructureDefinition/dm-device-metric
MedicationAdministration medication-administration http://roche.com/fhir/rdc/StructureDefinition/medication-administration
Goal
Command 'link' could not render: File not found for 'subject=dm-goal'
http://roche.com/fhir/rdc/StructureDefinition/goal
Condition condition http://roche.com/fhir/rdc/StructureDefinition/condition
Observation bg-observation clinical-observation http://roche.com/fhir/rdc/StructureDefinition/bg-observation
Observation observation-carbs carb-observation http://roche.com/fhir/rdc/StructureDefinition/observation-carbs
Observation
Command 'link' could not render: File not found for 'subject=observation-EWM'
EWM http://roche.com/fhir/rdc/StructureDefinition/observation-EWM
Observation health-event-observation observation-health-event http://roche.com/fhir/rdc/StructureDefinition/health-event-observation
Observation vitalsigns-observation vital-signs http://roche.com/fhir/rdc/StructureDefinition/vitalsigns-observation
Observation laboratory-observation laboratory http://roche.com/fhir/rdc/StructureDefinition/laboratory-observation
Observation activity-observation 257733005 http://roche.com/fhir/rdc/StructureDefinition/activity-observation
Observation activity-metric-observation C4049938 http://roche.com/fhir/rdc/StructureDefinition/activity-metric-observation
Observation diet-intake-observation 364395008 http://roche.com/fhir/rdc/StructureDefinition/diet-intake-observation
Observation risk-assessment-observation 225338004 http://roche.com/fhir/rdc/StructureDefinition/risk-assessment-observation
Careplan patient-personal-advance-careplan 81334-5 http://roche.com/fhir/rdc/StructureDefinition/patient-personal-advance-careplan
Careplan dm-careplan 412777005 http://roche.com/fhir/rdc/StructureDefinition/dm-careplan
Careplan careplan-target-ranges target-ranges-careplan http://roche.com/fhir/rdc/StructureDefinition/careplan-target-ranges
MedicationRequest
Command 'link' could not render: File not found for 'subject=medication-request'
http://roche.com/fhir/rdc/StructureDefinition/medication-request