Requirements
Scope
When measurements are taken, test strip images, measurement details and device information are uploaded from the application to IPP.
This only occurs at the time of the test. If the application is offline at the time of the test results, the test images are not saved and nothing is sent to IPP.
Steps of Greendot app during the upload process.
| Step | From | To | Communication Description |
|---|---|---|---|
| 1 | GreenDot | STS Service | send access_key (token form Gigya login) |
| 2 | STS Service | GreenDot | STS returns credentials to access AWS S3 buckets and also the encrypted PatientId. |
| 3 | GreenDot | AWS S3 | put object "blank-image" as PNG encoded as Base64 |
| 4 | GreenDot | AWS S3 | put object "final-image" as PNG encoded as Base64 |
| 5 | GreenDot | AWS S3 | put object "bundle" as a JSON format document following the FHIR implemention |
Use Cases
| Use Case | Summary | Comments |
|---|---|---|
| 1 | GreenDot App sends BG measurements with even timings | Blank and final images along with events like after_fast, after_meal, before_meal, after_exercise, before_exercise, after_exercising, other |
| 2 | GreenDot App sends a goal for BG measurements | Goal (or Measurement Guideline CarePlan) is sent in a care plan (Master Diabetes Management CarePlan) related to a patient. |
| 3 | GreenDot App sends BG measurements related to a goal | GreenDot is responsible of the relationship BG measurement, CarePlan ('Master Diabetes Management CarePlan') + Goal (or 'MeasurementGuideline CarePlan'). |
| 4 | GreenDot App sends color card information | color card Type id ; color card Lot Id |
| 5 | GreenDot App sends also unsuccessful BG measurements | Error statistic; Log files |
| 6 | GreenDot App sends Research study ID and Research subject ID | This is the data from a different application that is meant for Research studies and only for data lake integration and will not be ingested to FHIR |
Data Points
| Data Point | Description | FHIR Resource & Element | Remarks | FHIR sample |
|---|---|---|---|---|
| encrypted PatientId (FHIR ID) | Who and/or what the observation is about | observation.performer observation.subject.reference | GreenDot app calls STS service and get AWS Credentials,plus encrypted Patient FHIR ID as:response.fhirId |
sample |
| software version | software version running on the device | device.version | VersionNumber.appVersion from library 'react-native-version-number' that dynamically checks for the version build number |
sample |
| software version | software version running on the device | messageHeader.source.version | VersionNumber.appVersion from library 'react-native-version-number' that dynamically checks for the version build number |
sample |
| manufacturer | The device in this case refers to the App itself and not the phone, hence Roche set as a manufacturer. | device.manufacturer | APP.MANUFACTURER = 'Roche' | sample |
| device serial number | Serial number of the device | deviceComponent.productionSpecification.productionSpec specType.coding.code: serial-number | android.os.Build.FINGERPRINT | sample |
| device model | Part number or model number of the device | deviceComponent.productionSpecification.productionSpec specType.coding.code: part-number | android.os.Build.MODEL | sample |
| device firmware | What firmware revision is used for this device? | deviceComponent.productionSpecification.productionSpec specType.coding.code: firmware-revision | android.os.Build.VERSION.SDK_INT | sample |
| operation system version | What software revision is used for this device? | deviceComponent.productionSpecification.productionSpec specType.coding.code : software-revision | android.os.Build.DEVICE | sample |
| type of metric | Unit of Measure for the Metric | deviceMetric.unit (coding) DEVICE_METRIC_UNIT.MG_DL = system: 'http://loinc.org', code: '2339-0',display: 'Glucose [Mass/volume] in Blood', | sample | |
| blood glucose measurement rating | This extension is used to inform in what event of the day does the observation occurs. like after_fast, after_meal, before_meal, after_exercise, before_exercise, after_exercising, other | observation.extension - observation-event-timing | com.roche.greendot.engine.finalValueDetected.getMeasurement().getRating().name() | sample |
| time event classification | It is used to inform the rating from the glucose measurements. Possible ratings are: Not classified, Very low, Low, Good, Very good, High, Very high and Extremely high. | observation.extension - observation-bgmRating | currentMeasurement.bgmType | sample |
| blood glucose measurement value | Actual measurement value result | observation.valueQuantity.value | com.roche.greendot.engine.finalValueDetected.getMeasurement().getValue() | sample |
| blank-image | Test strip image taken before BG test | observation.extension - observation-reference | com.roche.greendot.engine.finalValueDetected.getImages().getBlank() | sample |
| final-image | Test strip image taken after BG test | observation.extension - observation-reference | com.roche.greendot.engine.finalValueDetected.getImages().getFinal() | sample |
| goal | measurement guideline | New profile - Measurement guideline plan | sample | |
| colorCardTypeId | Design type id of the color card used for the measurement | extension on deviceMetric resource - devicemetric-color-card-info | sample | |
| colorCardLotId | Lot id of the color card used for the measurement | extension on deviceMetric resource - devicemetric-color-card-info | sample | |
| Observation status | Status of the observation whether successful or not | Observation.status | sample | |
| Error statistic code | Error statistic code which denotes the errors that occured during the process | Observation-EWM | sample | |
| Images related to the unsuccessful measurement | could be both or one or none of the images | observation.extension - observation-reference - path same as the successful images | sample | |
| Log files generated during the measurement process | there will be 2 log files - measurementLogFile and featureExtractionLogFile | observation.extension (EWM) - observation-reference-files | sample |
Solution Architecture
| Description | Link | Comments |
|---|---|---|
| GreenDot MVP Online version | https://confluence.rochedc.accentureanalytics.com/display/ARCGOV/GreenDot+MVP+Online+version | |
| SugarView 1.1 | https://confluence.rochedc.accentureanalytics.com/display/ARCGOV/SugarView+1.1 | |
| SugarView CE Label (WIP) | https://confluence.rochedc.accentureanalytics.com/pages/viewpage.action?pageId=46465604 | |
| SugarView CE Label bug fixing | https://confluence.rochedc.accentureanalytics.com/display/ARCGOV/SugarView+Architecture |
High-level requirements/Detailed Analysis
| Description | Link | Comments |
|---|---|---|
| Requirements in scope for MVP | https://confluence.rochedc.accentureanalytics.com/display/GD/Data+Requirements | |
| Backend Requirements | https://confluence.rochedc.accentureanalytics.com/display/GD/Backend+Requirements | |
| Data Platform to support FHIR Goals for GreenDot | https://confluence.rochedc.accentureanalytics.com/display/RI/1.12.2.1+High-Level+Functional+Requirements | |
| GreenDot Goals | https://confluence.rochedc.accentureanalytics.com/x/WQKrAw | |
| Color card information | https://confluence.rochedc.accentureanalytics.com/x/Dx8XB | |
| Unsuccessful BG measurements | https://confluence.rochedc.accentureanalytics.com/x/k4ZBB |