Overview
The Gluci-Chek App is a mobile application for patients with diabetes under insulin aiming to better keep track of their carbohydrate intakes, insulin doses and blood glucose levels. The objective of the app is that the user can record information on his/her meals, insulin doses and blood levels as a self-monitoring logbook.
IPP Storage
AWS S3 Bucket: A native object storage server provided by AWS to storage all measurements.
FHIR Bundle: The app has the option of synchronizing with IPP (Roche Big Data Platform). If so, it will send data to IPP as soon as it has connection (as soon as it is online) and has new measurement entries in its internal database described above. This data will come from the meters or it will have been entered by the user manually directly in the application. Manual data will be just editable the first 15 minutes. Out of these measurements, the FHIR Bundle will be generated. The JSON file that is sent will follow a specific format and is stored in the FHIR Server hosted on IPP.
Requirements
Scope
- To automatically sync BG values from Accu-Chek Guide and Mobile (via a wirless adapter)
- To authenticate with a Smart Pix Online account (using Gigya OIDC flow) in order to send BG data to Smart Pix Online so that it can be visualized by the patient's doctor
Assumptions
SPOL data ingestion:
In the context of the new data ingestion flow, a process is required to ingest data into FHIR and SPOL (legacy) backend.
This ingestion flow will be used by Gluci-Chek App, but not exclusively.
- Input for this process: 1 FHIR bundle (that later on will be mapped to N ACSPIX files)
- Output: ingested data visible in SPOL patient profile and in FHIR
- The Patient is the requestor of the data ingestion (so Gigya UID corresponds to the patient)
Use Cases
| Use Case | Summary | Comments |
|---|---|---|
| 1 | BG measurement from meter | BG observation sent consists of: - Concentration: number - The BG level measured eg. 128 - Concentration Unit: string - The BG level measurement unit (always mg/dL) - Sample Time: DateTime - The BG measurement timestamp (in milliseconds) - Meal timing flag: with four possible values before meal/ after meal/ bedtime/ fasting |
| 2 | BG measurement manually eneterd | BG observation sent consists of: - Concentration: number - The BG level measured eg. 128 - Concentration Unit: string - The BG level measurement unit (always mg/dL) - Sample Time: DateTime - The BG measurement timestamp (in milliseconds) - Meal timing flag: with four possible values before meal/ after meal/ bedtime/ fasting |
| 3 | Control measurement | In case of a Control measurement, the data sent consists of: - Sample Time - Flag indicating it is a control measurement - Control Solution Level. These values will be discarded, ie. not stored nor sent to SPOL. |
| 4 | Meter sensitivity out of range | In case the measurement is out of the sensitivity range of the device, the data sent consists of: - Sample Time - Flag indicating HI or LO. These values will be displayed and sent to SPOL. |
Data Points
| Data Point | Description | FHIR Resource & Element | Remarks | FHIR Sample |
|---|---|---|---|---|
| Origin of value | Whether the glucose value is entered manually or from a device | deviceComponent.type --> Glucometer (Device) deviceComponent.type --> Smart Phone (Manual) observation.code --> Manual method (qualifier value) (Manual) observation.code --> Glucose [Mass/volume] in Capillary blood by Glucometer |
Gluci-Chek App will be compatible with Accu-Chek Guide and Accu-Chek Mobile (via the wireless adapter) only | sample |
| Type of metric | Unit of Measure for the Metric - 'Glucose [Mass/volume] in Blood', | deviceMetric.unit --> mg/dL | sample | |
| Blood glucose measurement value | Actual measurement value result | observation.valueQuantity.value | sample | |
| Event Timing | Event timing | observation.extension.valueCodeableConcept (observation-event-timing) | Values like: - Before Meal - After Meal - Snack - Before Exercise - Bedtime - Fasting - After Exercise - Illness - Oral medication - Premenstrual - Exercise |
sample |
| BG measurement date and time | Date and time of the BG measurement | observation.effectiveDateTime | sample | |
| Control measurement | In case of a control solution measurement | observation.category --> Control solution observation | Control observation is out of scope at this moment; it will not be sent to IPP platform, so there is no need to model it on FHIR; but Maria C. agrees with leaving the example as is. | sample |
| Meter sensitivity out of range | In case the measurement is out of the sensitivity range of the device | observation.dataAbsentReason.coding --> positive infinity; observation.dataAbsentReason.coding --> negative infinity | sample | |
| Carbs | Estimated carbs | observation.category.coding.code --> carb-observation | sample | |
| Insulin | Insulin administered by patient | MedicationAdministration.dosage.dose.value | there are 3 types - Long acting - Short acting - Mixed |
sample |
Solution Architecture
| Description | Link | Comments |
|---|---|---|
| Gluci-Chek - Solution Architecture for MVP | https://confluence.rochedc.accentureanalytics.com/display/ARCGOV/Gluci-Chek+-+Solution+Architecture |
High-Level Requirements
| Description | Link | Comments |
|---|---|---|
| Gluci-Chek App functional requirements MVP | https://confluence.rochedc.accentureanalytics.com/display/RD/2.7.10.1.2+Gluci-Chek+App+functional+requirements | |
| Gluci-Chek App functional requirements P0 | https://confluence.rochedc.accentureanalytics.com/display/RD/2.7.10.2.1+High-level+functional+requirements | |
| Gluci-Chek App functional requirements P1 | https://confluence.rochedc.accentureanalytics.com/display/RD/2.7.10.3.1+High-level+functional+requirements | |
| SPOL Data Ingestion requirements | https://confluence.rochedc.accentureanalytics.com/display/RD/2.7.10.1.3+SPOL+data+Ingestion+-+Requirements | |
| FHIR Technical specifcations | https://confluence.rochedc.accentureanalytics.com/display/RD/2.7.10.1.4.1+Technical+Specifications | |
| Infrastructure Details | https://confluence.rochedc.accentureanalytics.com/display/RD/2.7.10.1.5+Solution+Architecture | |
| FHIR to ACSPIX Mappings | https://confluence.rochedc.accentureanalytics.com/display/RI/1.11.2+FHIR+to+ACSPIX+mapper |
Non Functional Requirements
| Description | Link | Comments |
|---|---|---|
| Non-Functional Requirements | https://confluence.rochedc.accentureanalytics.com/display/RD/2.7.10.1.6+Non-Functional+Requirements |
Data Protection
Gluci-Chek App shall comply to the following Security guidelines and Data Protection regulation.
| Doc-ID | Title | Applicability for |
|---|---|---|
| Secure JS Coding Guidelines v1.0 | Secure JS Coding Guidelines | Secure development guides provide developers a series of recommendations to follow that allows them to build applications with security techniques. |
| (EU) 2016/679 | Regulation (EU) 2016/679 of the European Parliament and of the Council of 27 April 2016 on the protection of natural persons with regard to the processing of personal data and on the free movement of such data, and repealing Directive 95/46/EC (General Data Protection Regulation) (Text with EEA relevance) | Data Protection regulation for protecting personal data and processing of such data. |
In addition, in order to comply with security requirements
- LHS will be required to provide inputs for a Risk Assessment that will be performed by RDC
- LHS will be required to implement the findings of the remediation plan after the Application Security Assessment that will be run by RDC on the Babylon version
- LHS will be required to fix issues from static code analysis performed by RDC
Quality Management System
In order to comply with RDC St Cugat Quality Management System, LHS will provide the required functional and technical documentation for the software according to these procedures.
*LHS - La Haute Société
Profiles
List of profiles that are relevant to this application
- Command 'link' could not render: File not found for 'subject=dm-patient'
- message-header
- bg-observation
- Command 'link' could not render: File not found for 'subject=observation-control'
- phg-device
- phd-devicecomponent
- dm-device-metric
- health-event-observation
- observation-carbs
- medication-administration