Expanded Examples (relevant for FHIRSTACK Facade)
- Expanded Examples (relevant for FHIRSTACK Facade)
- CGM Sensor - expanded FHIR
- CGM Session - expanded FHIR
- CGM measurement data - expanded FHIR
- Case 1 - With valid CGM, trend and quality values
- Case 2 - With NaN for CGM value and NULL for trend and quality
- CGM flags
- BG data - expanded FHIR
- carbs data - expanded FHIR
- Insulin data - expanded FHIR
- Calibration BG - expanded FHIR
- EMWR - expanded FHIR
- Notes - expanded FHIR
- Default resources to be created
- DM careplan - expanded FHIR
- Target settings - expanded FHIR
- Time block settings - expanded FHIR
- Mobile device - expanded FHIR
CGM Sensor - expanded FHIR
Sample Scenario
| Data Point | Value | unit | Comments |
|---|---|---|---|
| SessionId | AAAA | ||
| Type | CapillaryWholeblood | string | Possible values are CapillaryWholeBlood; CapillaryPlasma; VenousWholeBlood; VenousPlasma; ArterialWholeBlood; ArterialPlasma; UndeterminedWholeBlood; UndeterminedPlasma; InterstitialFluid_ISF; ControlSolution |
| Sample Location | Finger | string | Possible values are Finger; AlternateSiteTest; Earlobe; ControlSolution; SubcutaneousTissue; SampleLocationValueNotAvailable |
| Sample Interval | 5 | min | |
| Lot Number | 12345 | string | |
| SystemID | ABCD-1234 | string | |
| Manufacturer Name | Roche | string | |
| Model Number | 56789 | string | |
| Serial Number | ABCD123467878767 | string | |
| HW Revision | 1.0.0 | string | |
| FW Revision | 2.0.0 | string | |
| SW Revision | 3.0.0 | string | |
| Model Name | Aero | string | |
| Appearance | 0x0D00 (Generic Continuous Glucose Monitor) | string | |
| Mac address (from sessionInfoDBItem) | 00:1B:44:11:3A:B7 | string |
Note: Comments are provided in green in the JSON below
DevceComponent resource for CGM Sensor
A reduced format of this resource will be sent from Confidence. See the section CGM sensor - reduced FHIR. The facade needs to further expand that resource by adding the other relelavnt fields as per our implementation guide. Details are provided in the comments below. Additionally a DeviceMetric resourec has to be created for each CGM Sensor DeviceComponent.
Note: Please see the section Detailed modelling for possible values for how the resource needs to be built for different values of sample type and sample location.
{
"resourceType": "DeviceComponent",
"id": "1e6f0b94-1519-4f95-b50c-758fa3d4ad11", //To be managed by FHIRSTACK
"meta": { //To be updated by facade - FHIR profile for device component for FHIR internal storage
"profile": [
"http://roche.com/fhir/rdc/StructureDefinition/phd-devicecomponent"
]
},
"identifier": { //retain value from the reduced FHIR
"system": "http://roche.com/fhir/rdc/sid/device-identifier",
"value": "confidence/701750003/<serial-number>"
},
"type": {
"coding": [ //To be added by facade - system, code and display for CGM sensor
{
"system": "http://snomed.info/sct",
"code": "701750003",
"display": "Subcutaneous glucose sensor"
}
],
"text": "CGMSensor" //static text describing that this resource is for the details of a CGM Sensor
},
"source": { //To be added by facade - link to the Device resource of Confidence app
"reference": "Device/1e6f0b94-1519-4f95-b50c-758fa3d4ad10"
},
"parent": { //To be added by facade - link to the DeviceComponent resource of the dummy smartphone created for the patient
"reference": "DeviceComponent/1e6f0b94-1519-4f95-b50c-758fa3d4ad12"
},
"measurementPrinciple": "other", //To be added by the facade - always "other"
"productionSpecification": [
{
"specType": {
"coding": [ //To be added by the facade - system, code and display for the relevant text from reduced FHIR
{
"system": "http://ncimeta.nci.nih.gov",
"code": "C1115660",
"display": "Lot Number"
}
],
"text": "LotNumber" //retain in case of restore
},
"productionSpec": "12345"
},
{
"specType": {
"coding": [ //To be added by the facade - system, code and display for the relevant text from reduced FHIR
{
"system": "http://ncimeta.nci.nih.gov",
"code": "C3272556",
"display": "Product Identifier"
}
],
"text": "SystemId" //retain in case of restore
},
"productionSpec": "ABCD-1234"
},
{
"specType": {
"coding": [ //To be added by the facade - system, code and display for the relevant text from reduced FHIR
{
"system": "http://ncimeta.nci.nih.gov",
"code": "C0947322",
"display": "Manufacturer"
}
],
"text": "ManufacturerName" //retain in case of restore
},
"productionSpec": "Roche"
},
{
"specType": {
"coding": [ //To be added by the facade - system, code and display for the relevant text from reduced FHIR
{
"system": "http://hl7.org/fhir/specification-type",
"code": "part-number",
"display": "Part Number"
}
],
"text": "ModelNumber" //retain in case of restore
},
"productionSpec": "56789"
},
{
"specType": {
"coding": [ //To be added by the facade - system, code and display for the relevant text from reduced FHIR
{
"system": "http://hl7.org/fhir/specification-type",
"code": "serial-number",
"display": "Serial Number"
}
],
"text": "SerialNumber" //retain in case of restore
},
"productionSpec": "ABCD123467878767"
},
{
"specType": {
"coding": [ //To be added by the facade - system, code and display for the relevant text from reduced FHIR
{
"system": "http://hl7.org/fhir/specification-type",
"code": "hardware-revision",
"display": "Hardware Revision"
}
],
"text": "HWRevision" //retain in case of restore
},
"productionSpec": "1.0.0"
},
{
"specType": {
"coding": [ //To be added by the facade - system, code and display for the relevant text from reduced FHIR
{
"system": "http://hl7.org/fhir/specification-type",
"code": "firmware-revision",
"display": "Firmware Revision"
}
],
"text": "FWRevision"
},
"productionSpec": "2.0.0"
},
{
"specType": {
"coding": [ //To be added by the facade - system, code and display for the relevant text from reduced FHIR
{
"system": "http://hl7.org/fhir/specification-type",
"code": "software-revision",
"display": "Software Revision"
}
],
"text": "SWRevision" //retain in case of restore
},
"productionSpec": "3.0.0"
},
{
"specType": {
"coding": [ //To be added by the facade - system, code and display for the relevant text from reduced FHIR
{
"system": "http://hl7.org/fhir/specification-type",
"code": "unspecified",
"display": "Unspecified Production Specification"
}
],
"text": "ModelName" //retain in case of restore
},
"productionSpec": "Aero"
},
{
"specType": {
"coding": [ //To be added by the facade - system, code and display for the relevant text from reduced FHIR
{
"system": "http://ncimeta.nci.nih.gov",
"code": "C0700364",
"display": "Appearance"
}
],
"text": "Appearance" //retain in case of restore
},
"productionSpec": "0x0D00 (Generic Continuous Glucose Monitor)"
},
{
"specType": {
"coding": [ //To be added by the facade - system, code and display for the relevant text from reduced FHIR
{
"system": "http://roche.com/fhir/rdc/cs",
"code": "mac-address",
"display": "Mac address"
}
],
"text": "MacAddress" //retain in case of restore
},
"productionSpec": "00:1B:44:11:3A:B7"
}
],
"extension": [
{
"url": "http://roche.com/fhir/rdc/StructureDefinition/cgm-session-id",
"valueString": "AAAA" //retain session id from the reduced FHIR. No need to linkto the session resource because there is already a link from the session resource to the deviceComponent. This is retained for restore purpose
},
{
"url": "http://roche.com/fhir/rdc/StructureDefinition/sample-type",
"valueCodeableConcept": {
"coding": [ //To be added by the facade - system, code and display for the relevant text from reduced FHIR
{
"system": "http://ncimeta.nci.nih.gov",
"code": "C0162367",
"display": "Interstitial Fluid"
}
],
"text": "InterstitialFluid_ISF" //retain in case of restore
}
},
{
"url": "http://roche.com/fhir/rdc/StructureDefinition/sample-location",
"valueCodeableConcept": {
"coding": [ //To be added by the facade - system, code and display for the relevant text from reduced FHIR
{
"system": "http://ncimeta.nci.nih.gov",
"code": "C0278403",
"display": "Subcutis"
}
],
"text": "SubcutaneousTissue" //retain in case of restore
}
},
{
"url": "http://roche.com/fhir/rdc/StructureDefinition/sample-interval",
"valueQuantity": {
"value": 5, //retain value from reduced FHIR
"unit": "min",
"system": "http://unitsofmeasure.org", //To be added by facade - system and code for the unit
"code": "min"
}
},
{
"url": "http://roche.com/fhir/rdc/StructureDefinition/provenance-channel",
"valueString": "<channel-name>" //To be added by facade - fill channel data
},
{
"url": "http://roche.com/fhir/rdc/StructureDefinition/provenance-source",
"valueString": "<source-name>" //To be added by facade - fill source data
}
]
}
DeviceMetric resource for each CGM sensor
This resource has to be created by the facade for each CGM Sensor DeviceComponent
{
"resourceType": "DeviceMetric",
"meta": {
"profile": [
"http://roche.com/fhir/rdc/StructureDefinition/dm-device-metric"
]
},
"id": "0053cfd5-a427-4691-8690-b4d956c6e658",
"identifier": { //build based on the deviceComponent identifier
"system": "http://roche.com/fhir/rdc/sid/devicemetric-identifier",
"value": "<deviceComponent.identifier.value>/2344-0"
},
"type": { //always same for CGM
"coding": [
{
"system": "http://loinc.org",
"code": "2344-0",
"display": "Glucose [Mass/volume] in Body fluid"
}
]
},
"unit": { //always same for CGM
"coding": [
{
"system": "http://unitsofmeasure.org",
"code": "mg/dL",
"display": "milligram per deciliter"
}
]
},
"source": {
"reference": "Device/1e6f0b94-1519-4f95-b50c-758fa3d4ad10" //link to the device resource of Confidence app
},
"parent": {
"reference": "DeviceComponent/1e6f0b94-1519-4f95-b50c-758fa3d4ad11" //link to the CGM sensor deviceComponent
},
"operationalStatus": "on",
"category": "measurement",
"measurementPeriod": { // based on the sample interval from Confidence which is also stored in the DeviceComponent ext sample-interval
"repeat": {
"frequency": 1,
"period": 5,
"periodUnit": "min"
}
},
"extension": [
{
"url": "http://roche.com/fhir/rdc/StructureDefinition/provenance-channel",
"valueString": "<channel-name>" //To be added by facade - fill channel data
},
{
"url": "http://roche.com/fhir/rdc/StructureDefinition/provenance-source",
"valueString": "<source-name>" //To be added by facade - fill source data
}
]
}
Device resource for CGM sensor
This resource has to be created by the facade for CGM Sensor Device
{
"resourceType": "Device",
"id": "06e0de19-bef7-4c51-b34e-2ebc5f757432",
"meta": {
"profile": [
"http://roche.com/fhir/rdc/StructureDefinition/phg-device"
]
},
"identifier": [
{
"system": "http://roche.com/fhir/rdc/sid/device-identifier",
"value": "confidence/<serial-number>"
}
],
"status": "active",
"type": {
"coding": [
{
"system": "http://snomed.info/sct",
"code": "701750003",
"display": "Subcutaneous glucose sensor"
}
]
},
"lotNumber": "12345",
"manufacturer": "Roche",
"model": "Aero",
"version": "3.0.0",
"patient": {
"reference": "Patient/2P0tI8p-SF9-6850"
}
}
CGM Session - expanded FHIR
Sample Scenario
| Data Point | Value | unit |
|---|---|---|
| SessionId | AAAA | |
| SessionStatus | Started | possible values: NotConfigured, Started, Stopped, WarmingUp, UnPaired |
| MacAddress | Note: See the section CGM Sensor. As it is relevant to the sensor it is included in the DeviceComponent resource. There is an extension in the DeviceComponent resource that holds the Session ID. | |
| Calculated Session start time | 2020-08-03T05:05:00Z | UTC |
| SessionStartTime (Paring Date) | 2020-08-03T05:00:00Z | UTC |
| CGM Session Run Time | 5 | hours |
| CGM session end time | 2020-08-03T10:00:00Z | UTC |
| NotificationAlreadyScheduled | true | bool |
Note: Comments are provided in green in the JSON below
Paring Date will be same as the session start time
Observation resource for CGM Session
A reduced format of this resource will be sent from Confidence. See the section CGM Session - reduced FHIR. The facade needs to further expand that resource by adding the other relelavnt fields as per our implementation guide. Details are provided in the comments below.
{
"resourceType": "Observation", //FHIR resource type
"id": "1e6f0b94-1519-4f95-b50c-758fa3d4ac4b", //To be managed by FHIRSTACK
"meta": {
"profile": [
"http://roche.com/fhir/rdc/StructureDefinition/miscellaneous-observation" //To be added by facade - FHIR profile for CGM
]
},
"identifier": [
{
"system": "http://roche.com/fhir/rdc/sid/observation/confidence",
"value": "AAAA" //retain same identifier received from Confidence reduced FHIR
}
],
"status": "final", //retain same status received from confidence reduced FHIR
"code": {
"coding": [ //To be added by facade - system, code and display when code.text "CGMSession" is received in the reduced FHIR
{
"system": "http://roche.com/fhir/rdc/cs",
"code": "CGM-session",
"display": "CGM Session"
}
],
"text": "CGMSession" //To be retained as is from the reduced format so that on restore it can be sent back
},
"subject": {
"reference": "Patient/2P0tI8p-SF9-6850" //To be added by facade - - patient link
},
"performer": [
{
"reference": "Patient/2P0tI8p-SF9-6850" //To be added by facade - Patient link
}
],
"effectivePeriod": {
"start": "2020-08-03T05:00:00Z", //To be retained as is from the reduced format
"end": "2020-08-03T10:00:00Z" //To be retained as is from the reduced format
},
"dataAbsentReason": { //To be adedd by the facade - Reduced FHIR will not have any value for this Observation
"coding": [
{
"system": "http://hl7.org/fhir/data-absent-reason",
"code": "unknown",
"display": "Unknown"
}
]
},
"device": { //To be added by facade - link to deviceMetric of relevant CGM sensor deviceComponent
"reference": "DeviceMetric/0053cfd5-a427-4691-8690-b4d956c6e658"
},
"extension": [
{
"url": "http://roche.com/fhir/rdc/StructureDefinition/session-run-time",
"valueQuantity": {
"value": 5, //To be retained as is from the reduced format
"unit": "h",
"system": "http://unitsofmeasure.org", //To be added by facade system and code for the units
"code": "h"
}
},
{
"url": "http://roche.com/fhir/rdc/StructureDefinition/calculated-session-start-time",
"valueDateTime": "2020-08-03T05:05:00Z" //To be retained as is from the reduced format
},
{
"url": "http://roche.com/fhir/rdc/StructureDefinition/session-status",
"valueString": "Started" //To be retained as is from the reduced format
},
{
"url": "http://roche.com/fhir/rdc/StructureDefinition/notification-scheduled-status",
"valueBoolean": true //To be retained as is from the reduced format
},
{
"url": "http://roche.com/fhir/rdc/StructureDefinition/patient-timezone",
"valueString": "+02:00" //to be retained as is from the reduced FHIR format **
},
{
"url": "http://roche.com/fhir/rdc/StructureDefinition/provenance-channel",
"valueString": "<channel-name>" //To be added by facade - fill channel data
},
{
"url": "http://roche.com/fhir/rdc/StructureDefinition/provenance-source",
"valueString": "<source-name>" //To be added by facade - fill source data
}
]
}
** Refer timezone extension page for possible combination of timezone captured HERE
CGM Measurement data - expanded FHIR
 Â
BG data - expanded FHIR
Sample Scenario
| Data Point | Value | unit |
|---|---|---|
| Blood Glucose Value | 118 | mg/dL |
| Notes | Blood Glucose Observation | string |
| Time Stamp | 2020-08-04T15:00:16Z | UTC |
Observation resource for BG measurement
A reduced format of this resource will be sent from Confidence. See the section BG data - reduced FHIR. The facade needs to further expand that resource by adding the other relavent fields as per our implementation guide. Details are provided in the comments below in green.
Below is an example JSON for the observation resource having bg information in expanded FHIR format
{
"resourceType": "Observation",
"id": "905f85cd-5c11-47a8-8325-f7a176f434b5", //To be managed by FHIRSTACK
"meta": {
"profile": [ //To be updated by facade - FHIR profile for bg observation for FHIR internal storage
"http://roche.com/fhir/rdc/StructureDefinition/bg-observation"
]
},
"identifier": [
{
"system": "http://roche.com/fhir/rdc/sid/observation/confidence",
"value": "<confidence unique identifier>" //retain same identifier received from Confidence reduced FHIR
}
],
"status": "final", //retain same status received from confidence
"category": [ //To be added by facade - category for bg will always be Clinical Observation
{
"coding": [
{
"system": "http://roche.com/fhir/rdc/cs",
"code": "clinical-observation",
"display": "Clinical Observation"
}
]
}
],
"code": {
"coding": [ //To be added by facade - system, code and display when code.text "BloodGlucoseValue" is received in the reduced FHIR
{
"system": "http://snomed.info/sct",
"code": "362943005",
"display": "Manual method (qualifier value)"
}
],
"text": "BloodGlucoseValue" //To be retained as is from the reduced format so that on restore it can be sent back
},
"subject": {
"reference": "Patient/2P0tI8p-SF9-6850" //To be added by facade - patient link
},
"effectiveDateTime": "2020-08-04T15:00:16Z", //Retain same value from Confidence reduced FHIR
"performer": [
{
"reference": "Patient/2P0tI8p-SF9-6850" //To be added by facade - patient link
}
],
"comment": "Blood Glucose Observation", //Retain same value from Confidence reduced FHIR
"valueQuantity": {
"value": "102", //retain value from reduced FHIR
"unit": "mg/dL", //retain value from reduced FHIR
"system": "http://unitsofmeasure.org", //To be added by facade - the system and code details for bg
"code": "mg/dL"
},
"device": {
"reference": "DeviceMetric/id-deviceMetric-smartPhone-bg" //To be added by facade - link to deviceMetric of smart phone capturing bg value .
},
"extension": [
{
"url": "http://roche.com/fhir/rdc/StructureDefinition/patient-timezone",
"valueString": "+02:00" //retain same data from Confidence reduced FHIR
},
{
"url": "http://roche.com/fhir/rdc/StructureDefinition/provenance-channel",
"valueString": "<channel-name>" //To be added by facade - fill channel data
},
{
"url": "http://roche.com/fhir/rdc/StructureDefinition/provenance-source",
"valueString": "<source-name>" //To be added by facade - fill source data
}
]
}
carbs data - expanded FHIR
Sample Scenario
| Data Point | Value | unit |
|---|---|---|
| Carbs | 10 | grams |
| Time Stamp | 2020-08-04T15:00:16Z | UTC |
Observation resource for carbs measurement
A reduced format of this resource will be sent from Confidence. See the section Carbs data - reduced FHIR. The facade needs to further expand that resource by adding the other relavent fields as per our implementation guide. Details are provided in the comments below in green.
Below is an example JSON for the observation resource having Nutritional value of Carbohydrate intake information in expanded FHIR format
{
"resourceType": "Observation",
"id": "805f85cd-8c10-47a8-8325-f7a176f444b4", To be managed by FHIRSTACK
"meta": {
"profile": [ //To be updated by facade - FHIR profile for carbs observation for FHIR internal storage
"http://roche.com/fhir/rdc/StructureDefinition/nutritional-value-observation"
]
},
"status": "final", //retain same status received from confidence
"identifier": [
{
"system": "http://roche.com/fhir/rdc/sid/observation/confidence",
"value": "<confidence unique identifier>" //retain same identifier received from Confidence reduced FHIR
}
],
"category": [ //To be added by facade - category for Carbs will always be Nutritional value, function (observable entity).
{
"coding": [
{
"system": "http://snomed.info/sct",
"code": "84626001",
"display": "Nutritional value, function (observable entity)"
}
]
}
],
"code": {
"coding": [ //To be added by facade - system, code and display when code.text "Carbs" is received in the reduced FHIR
{
"system": "http://loinc.org",
"code": "9060-5",
"display": "Carbohydrate intake Measured"
}
],
"text": "Carbs" //To be retained as is from the reduced format so that on restore it can be sent back
},
"subject": {
"reference": "Patient/2P0tI8p-SF9-6850" //To be added by facade - patient link
},
"effectiveDateTime": "2020-08-04T15:00:16Z", //Retain same value from Confidence reduced FHIR
"performer": [
{
"reference": "Patient/2P0tI8p-SF9-6850" //To be added by facade - patient link
}
],
"valueQuantity": {
"value": "10", //retain value from reduced FHIR
"unit": "g", //retain value from reduced FHIR
"system": "http://unitsofmeasure.org", //To be added by facade - the system and code details for Carbs
"code": "g"
},
"device": {
"reference": "DeviceMetric/id-deviceMetric-smartPhone-carb" //To be added by facade - link to deviceMetric of smart phone capturing carbs value .
},
"extension": [
{
"url": "http://roche.com/fhir/rdc/StructureDefinition/patient-timezone",
"valueString": "+02:00" //retain same data from Confidence reduced FHIR
},
{
"url": "http://roche.com/fhir/rdc/StructureDefinition/provenance-channel",
"valueString": "<channel-name>" //To be added by facade - fill channel data
},
{
"url": "http://roche.com/fhir/rdc/StructureDefinition/provenance-source",
"valueString": "<source-name>" //To be added by facade - fill source data
}
]
}
Insulin data - expanded FHIR
Sample Scenario
| Data Point | Value | unit |
|---|---|---|
| Bolus Insulin | 3 | iU |
| Basal Insulin | 5 | iU |
| Time Stamp | 2020-08-04T15:00:16Z | UTC |
Medication Adminstration resource for Insulin value
A reduced format of this resource will be sent from Confidence. See the section Insulin data - reduced FHIR. The facade needs to further expand that resource by adding the other relavent fields as per our implementation guide. Details are provided in the comments below in green.
Below are examples of Medication adminstration resource having Insulin information in expanded FHIR format
Sample basal (long-acting)
{
"resourceType": "MedicationAdministration",
"id": "a4815578-c404-42a6-91a5-bd0c0439789b", To be managed by FHIRSTACK
"meta": {
"profile": [ //To be updated by facade - FHIR profile for medication adminstration for FHIR internal storage
"http://roche.com/fhir/rdc/StructureDefinition/medication-administration"
]
},
"identifier": [
{
"system": "http://roche.com/fhir/rdc/sid/medication-administration/confidence",
"value": "<confidence unique identifier>" //retain same identifier received from Confidence reduced FHIR
}
],
"status": "completed", //retain same status received from confidence
"medicationCodeableConcept": {
"coding": [ To be added by facade - system, code and display when medicationCodeableConcept.text "BolusInsulin" is received in the reduced FHIR
{
"system": "http://snomed.info/sct",
"code": "25305005",
"display": "Long-acting insulin (substance)"
}
],
"text": "BasalInsulin" //To be retained as is from the reduced format so that on restore it can be sent back
},
"subject": {
"reference": "Patient/2P0tI8p-SF9-6850" //To be added by facade - patient link
},
"effectiveDateTime": "2020-08-04T15:00:16Z", //Retain same value from Confidence reduced FHIR
"performer": [
{
"actor": {
"reference": "Patient/2P0tI8p-SF9-6850" //To be added by facade - patient link
}
}
],
"dosage": {
"dose": {
"value": "5", //retain value from reduced FHIR
"unit": "[iU]", //retain value from reduced FHIR
"system": "http://unitsofmeasure.org", //To be added by facade - the system and code details for Insulin
"code": "[iU]"
}
},
"extension": [
{
"url": "http://roche.com/fhir/rdc/StructureDefinition/parent-device-metric",
"valueReference": {
"reference": "DeviceMetric/id-deviceMetric-smartPhone-insulin" //To be added by facade - link to deviceMetric of smart phone capturing insulin value
}
},
{
"url": "http://roche.com/fhir/rdc/StructureDefinition/patient-timezone",
"valueString": "+02:00" //retain same data from Confidence reduced FHIR
},
{
"url": "http://roche.com/fhir/rdc/StructureDefinition/provenance-channel",
"valueString": "<channel-name>" //To be added by facade - fill channel data
},
{
"url": "http://roche.com/fhir/rdc/StructureDefinition/provenance-source",
"valueString": "<source-name>" //To be added by facade - fill source data
}
]
}
Sample bolus (short-acting)
{
"resourceType": "MedicationAdministration",
"id": "50e98533-db88-43d5-8db2-e224148e93f4",
"meta": {
"profile": [ //To be retained as is from the reduced format - FHIR profile for Insulin
"http://roche.com/fhir/rdc/StructureDefinition/medication-administration"
]
},
"identifier": [
{
"system": "http://roche.com/fhir/rdc/sid/medication-administration/confidence",
"value": "<confidence unique identifier>" //retain same identifier received from Confidence reduced FHIR
}
],
"status": "completed", //retain same status received from confidence
"medicationCodeableConcept": {
"coding": [ To be added by facade - system, code and display when medicationCodeableConcept.text "BolusInsulin" is received in the reduced FHIR
{
"system": "http://snomed.info/sct",
"code": "411531001",
"display": "Short-acting insulin (substance)"
}
],
"text": "BolusInsulin" //To be retained as is from the reduced format so that on restore it can be sent back
},
"subject": {
"reference": "Patient/2P0tI8p-SF9-6850" //To be added by facade - patient link
},
"effectiveDateTime": "2020-04-28T09:20:00Z", //Retain same value from Confidence reduced FHIR
"performer": [
{
"actor": {
"reference": "Patient/2P0tI8p-SF9-6850" //To be added by facade - patient link
}
}
],
"dosage": {
"dose": {
"value": "2", //retain value from reduced FHIR
"unit": "[iU]", //retain value from reduced FHIR
"system": "http://unitsofmeasure.org", //To be added by facade - the system and code details for Insulin
"code": "[iU]"
}
},
"extension": [
{
"url": "http://roche.com/fhir/rdc/StructureDefinition/parent-device-metric",
"valueReference": {
"reference": "DeviceMetric/id-deviceMetric-smartPhone-insulin" //To be added by facade - link to deviceMetric of smart phone capturing insulin value .
}
},
{
"url": "http://roche.com/fhir/rdc/StructureDefinition/patient-timezone",
"valueString": "+02:00" //retain same data from Confidence reduced FHIR
},
{
"url": "http://roche.com/fhir/rdc/StructureDefinition/provenance-channel",
"valueString": "<channel-name>" //To be added by facade - fill channel data
},
{
"url": "http://roche.com/fhir/rdc/StructureDefinition/provenance-source",
"valueString": "<source-name>" //To be added by facade - fill source data
}
]
}
Calibration BG - expanded FHIR
Sample Scenario
| Data Point | Value | unit | comment |
|---|---|---|---|
| SessionId | AAAA | ||
| GlucoseConcentration (BG) | 104 | mg/dL | |
| CalibrationTime | 2020-08-04T15:00:16Z | UTC | |
| CalibrationType | CapillaryWholeBlood | String | Possible values are CapillaryWholeBlood; CapillaryPlasma; VenousWholeBlood; VenousPlasma; ArterialWholeBlood; ArterialPlasma; UndeterminedWholeBlood; UndeterminedPlasma; InterstitialFluid_ISF; ControlSolution |
| CalibrationSampleLocation | Finger | String | Possible values are Finger; AlternateSiteTest; Earlobe; ControlSolution; SubcutaneousTissue; SampleLocationValueNotAvailable |
| NextCalibrationTime | 360 | min | |
| CalibrationDataRecordNumber | 3 | ||
| CalibrationStatus | CalibrationProcessPending | String | Possible values are CalibrationDatarejected; CalibrationDataoutofrange; CalibrationProcessPending |
Observation resource for Calibration BG measurement
A reduced format of this resource will be sent from Confidence. See the section Calibration BG - reduced FHIR. The facade needs to further expand that resource by adding the other relavent fields as per our implementation guide. Details are provided in the comments below in green.
Note: Please see the section Detailed modelling for possible values for how the resource needs to be built for different values of Calibration Type and Calibration Sample Location.
Below is an example JSON for the Calibration observation resource having bg information in expanded FHIR format
{
"resourceType": "Observation",
"id": "1e6f0b94-1519-4f95-b50c-758fa3d4ac4b", //To be managed by FHIRSTACK
"meta": {
"profile": [ //To be updated by facade - FHIR profile for Calibration observation for FHIR internal storage
"http://roche.com/fhir/rdc/StructureDefinition/observation-calibration"
]
},
"identifier": [
{
"system": "http://roche.com/fhir/rdc/sid/observation/confidence",
"value": "<confidence unique identifier>" //retain same identifier received from Confidence reduced FHIR
}
],
"related": [
{
"type": "derived-from",
"target": {
"reference": "Observation/0053cfd5-a427-4691-8690-b4d956c6e690", //To be added by facade based on the SessionID (target.display) in the reduced FHIR. Link to the relevant CGM session observation
"display": "AAAA" //To be retained as is from the reduced format so that on restore it can be sent back
}
}
],
"status": "final", //retain same status received from confidence reduced FHIR
"category": [ //To be added by facade - category for Calibration observation will always be Calibration
{
"coding": [
{
"system": "http://ncimeta.nci.nih.gov",
"code": "C0006751",
"display": "Calibration"
}
]
}
],
"code": {
"coding": [ //To be added by facade - system, code and display when code.text "GlucoseConcentration(BG)" is received in the reduced FHIR
{
"system": "http://ncimeta.nci.nih.gov",
"code": "C0337438",
"display": "Glucose Measurement"
}
],
"text": "GlucoseConcentration(Calibration)" //To be retained as is from the reduced format so that on restore it can be sent back
},
"subject": {
"reference": "Patient/2P0tI8p-SF9-6850" //To be added by facade - patient link
},
"effectiveDateTime": "2020-08-04T15:00:16Z", //Retain same value from Confidence reduced FHIR
"performer": [
{
"reference": "Patient/2P0tI8p-SF9-6850" //To be added by facade - patient link
}
],
"valueQuantity": {
"value": "104", //retain value from reduced FHIR
"unit": "mg/dL", //retain value from reduced FHIR
"system": "http://unitsofmeasure.org", //To be added by facade - the system and code details.
"code": "mg/dL"
},
"bodySite": {
"coding": [ //To be added by facade - system, code and display when bodysite.text "Finger" is received in the reduced FHIR
{
"system": "http://ncimeta.nci.nih.gov",
"code": "C0016129",
"display": "Finger"
}
],
"text": "Finger" //To be retained as is from the reduced format so that on restore it can be sent back
},
"device": { //To be added by facade - link to deviceMetric of smart phone capturing bg value .
"reference": "DeviceMetric/id-deviceMetric-smartPhone-bg"
},
"extension": [
{
"url": "http://roche.com/fhir/rdc/StructureDefinition/patient-timezone",
"valueString": "+02:00" //To be retained as is from the reduced format
},
{
"url": "http://roche.com/fhir/rdc/StructureDefinition/sample-type",
"valueCodeableConcept": {
"coding": [ //To be added by facade - system, code and display when valueCodeableConcept.text "CapillaryWholeBlood" is received in the reduced FHIR
{
"system": "http://ncimeta.nci.nih.gov",
"code": "C0229666",
"display": "Capillary Blood"
}
],
"text": "CapillaryWholeBlood" //To be retained as is from the reduced format so that on restore it can be sent back
}
},
{
"url": "http://roche.com/fhir/rdc/StructureDefinition/next-calibration-time",
"valueQuantity": {
"value": 360, //To be retained as is from the reduced format
"unit": "min", //To be retained as is from the reduced format
"system": "http://unitsofmeasure.org", //To be added by facade system and code for the units
"code": "min"
}
},
{
"url": "http://roche.com/fhir/rdc/StructureDefinition/calibration-count",
"valueInteger": 3 //To be retained as is from the reduced format
},
{
"url": "http://roche.com/fhir/rdc/StructureDefinition/calibration-action",
"valueString": "CalibrationProcessPending" //To be retained as is from the reduced format
},
{
"url": "http://roche.com/fhir/rdc/StructureDefinition/provenance-channel",
"valueString": "<channel-name>" //To be added by facade - fill channel data
},
{
"url": "http://roche.com/fhir/rdc/StructureDefinition/provenance-source",
"valueString": "<source-name>" //To be added by facade - fill source data
}
]
}
EMWR - expanded FHIR
Sample Scenario
| Data Point | Value | unit | Comment |
|---|---|---|---|
| SessionId | CGMSesssion AAAA | ||
| InstanceId | EEMMWW | mg/dL | |
| MessageSource | 2 | Possible values are 0 = None, 1 = Application, 2 = CGM | |
| EventName | M_CALIBRATION_REQUIRED | String | Possible values are M_CALIBRATION_REQUIRED; M_CGM_BATTERY_LOW; M_CGM_SENSOR_MALFUNCTION_WITH_SESSION_STOP; W_CGM_SENSOR_MALFUNCTION_WITHOUT_SESSION_STOP; R_CGM_SESSION_END; M_END_OF_OPERATION; M_CGM_CONNECTION_LOST; M_SENSOR_TEMP_LOW; M_SENSOR_TEMP_HIGH; M_RC_COMM_FAILED; W_CGM_CALIBRATION_OUT_OF_RANGE; M_HYPO_MESSAGE; W_HYPER_MESSAGE; E_DATA_INTEGRITY_ERROR; M_RC_COMM_FAILED; W_HYPO_PREDICTION_MESSAGE; W_LENGTH_OF_STAY_MESSAGE; M_CALIBRATION_CRITICAL |
| TimeOffsetOccurance | 200 | min | |
| State | Snoozed | String | Possible values are NotProcessed, Processed, Snoozed, Dismissed |
| SnoozeWakeupTime | 2020-08-05T15:10:16Z | UTC | |
| TimeWhenProcessed | 2020-08-05T15:15:16Z | UTC | |
| Type | Warning | String | Possible values are Error; Maintenance; Warning; Reminder; Message |
| Time Stamp | 2020-08-04T15:00:16Z | UTC |
EWM Observation resource for Calibration BG measurement
A reduced format of this resource will be sent from Confidence. See the section EMWR - reduced FHIR. The facade needs to further expand that resource by adding the other relavent fields as per our implementation guide. Details are provided in the comments below in green.
Note: Please see the section Detailed modelling for possible values for how the resource needs to be built for different values of EMWR Type, EMWR Event Name and Message Source
Below is an example JSON for the EWM observation resource in expanded FHIR format
{
"resourceType": "Observation",
"id": "qe6f0b94-1519-4f95-b50c-758fa3d4ac55", //To be managed by FHIRSTACK
"meta": {
"profile": [ //To be updated by facade - FHIR profile for Calibration observation for FHIR internal
"http://roche.com/fhir/rdc/StructureDefinition/observation-EWM"
]
},
"identifier": [
{
"system": "http://roche.com/fhir/rdc/sid/observation/confidence",
"value": "EEMMWW" //retain same identifier received from Confidence reduced FHIR
}
],
"status": "final", //retain same status received from confidence reduced FHIR
"category": [ //To be added by facade - category for Calibration observation will always be "Error, Warning, Maintenance, Status"
{
"coding": [
{
"system": "http://roche.com/fhir/rdc/cs",
"code": "EWM",
"display": "Error, Warning, Maintenance, Status"
}
]
}
],
"code": {
"coding": [ //To be added by facade - system, code and display when code.text "Warning" is received in the reduced FHIR.
{
"system": "http://roche.com/fhir/rdc/cs",
"code": "WARNING",
"display": "Warning"
}
],
"text": "Warning" //To be retained as is from the reduced format so that on restore it can be sent back
},
"subject": {
"reference": "Device/0053cfd5-a427-4691-8690-b4d956c6e698" //To be added by facade - Device link
},
"effectiveDateTime": "2020-08-04T15:00:16Z", //Retain same value from Confidence reduced FHIR
"performer": [
{
"reference": "Patient/2P0tI8p-SF9-6850" //To be added by facade - patient link
}
],
"valueCodeableConcept": { //To be added by facade - system, code and display when code.text "M_CALIBRATION_REQUIRED" is received in the reduced FHIR.
"coding": [
{
"system": "http://roche.com/fhir/rdc/cs",
"code": "WARNING_49",
"display": "Calibration Required"
}
],
"text": "M_CALIBRATION_REQUIRED" //To be retained as is from the reduced format so that on restore it can be sent back
},
"related": [
{
"type": "derived-from",
"target": {
"reference": "Observation/0053cfd5-a427-4691-8690-b4d956c6e690", //To be added by facade based on the SessionID (target.display) in the reduced FHIR. Link to the relevant session observation
"display": "AAAA" //To be retained as is from the reduced format so that on restore it can be sent back
}
}
],
"device": {
"reference": "DeviceMetric/id-deviceMetric-CGM", //To be added by facade based on the device.display in the reduced FHIR. link to relavent device metric.
"display": "2" //To be retained as is from the reduced format so that on restore it can be sent back
},
"extension": [
{
"url": "http://roche.com/fhir/rdc/StructureDefinition/time-offset",
"valueQuantity": {
"value": 200, //retain value from reduced FHIR
"unit": "min", //retain value from reduced FHIR
"system": "http://unitsofmeasure.org", //To be added by facade - the system and code
"code": "min"
}
},
{
"url": "http://roche.com/fhir/rdc/StructureDefinition/ewm-state",
"valueString": "Snoozed" //retain value from reduced FHIR
},
{
"url": "http://roche.com/fhir/rdc/StructureDefinition/snooze-wakeup-time",
"valueDateTime": "2020-08-05T15:10:16Z" //retain value from reduced FHIR
},
{
"url": "http://roche.com/fhir/rdc/StructureDefinition/time-when-processed",
"valueDateTime": "2020-08-05T15:15:16Z" //retain value from reduced FHIR
},
{
"url": "http://roche.com/fhir/rdc/StructureDefinition/patient-timezone",
"valueString": "+02:00" //retain value from reduced FHIR
},
{
"url": "http://roche.com/fhir/rdc/StructureDefinition/provenance-channel",
"valueString": "<channel-name>" //To be added by facade - fill channel data
},
{
"url": "http://roche.com/fhir/rdc/StructureDefinition/provenance-source",
"valueString": "<source-name>" //To be added by facade - fill source data
}
]
}
Notes - Expanded FHIR
Sample Scenario
| Data Point | Value | unit | Comment |
|---|---|---|---|
| Notes | sample note entered along with log entry | String | The note field is where a patient can store additional information along with the log entry |
Note: Comments are provided in green in the JSON below
Observation resource for Notes
A reduced format of this resource will be sent from Confidence. See the section Notes - reduced FHIR. The facade needs to further expand that resource by adding the other relavent fields as per our implementation guide. Details are provided in the comments below in green.
Below is an example JSON for the EWM observation resource in expanded FHIR format
{
"resourceType": "Observation", //FHIR resource type
"id": "ae6f0b94-1519-4f95-b50c-758fa3d4ac4d", //To be managed by FHIRSTACK
"meta": {
"profile": [
"http://roche.com/fhir/rdc/StructureDefinition/miscellaneous-observation" //To be added by facade - FHIR profile for CGM
]
},
"identifier": [
{
"system": "http://roche.com/fhir/rdc/sid/observation/confidence",
"value": "<confidence unique identifier>" //retain same identifier received from Confidence reduced FHIR
}
],
"status": "final", //retain same status received from confidence reduced FHIR
"code": {
"coding": [ //To be added by facade - system, code and display when code.text "Notes" is received in the reduced FHIR
{
"system": "http://ncimeta.nci.nih.gov",
"code": "C1317574",
"display": "Note"
}
],
"text": "Notes" //To be retained as is from the reduced format so that on restore it can be sent back
},
"valueString": "sample note entered along with log entry", //To be retained as is from the reduced format
"subject": { //To be added by facade - - patient link
"reference": "Patient/2P0tI8p-SF9-6850"
},
"performer": [ //To be added by facade - - patient link
{
"reference": "Patient/2P0tI8p-SF9-6850"
}
],
"effectiveDateTime": "2020-08-03T05:00:00Z", //To be retained as is from the reduced format
"device": {
"reference": "DeviceMetric/0053cfd5-a427-4691-8690-b4d956c6e658" //To be added by facade - link to dummy deviceMetric because Notes coming from an application do not have a specific deviceMetric
},
"extension": [
{
"url": "http://roche.com/fhir/rdc/StructureDefinition/patient-timezone",
"valueString": "+02:00" //to be retained as is from the reduced FHIR format
},
{
"url": "http://roche.com/fhir/rdc/StructureDefinition/provenance-channel",
"valueString": "<channel-name>" //To be added by facade - fill channel data
},
{
"url": "http://roche.com/fhir/rdc/StructureDefinition/provenance-source",
"valueString": "<source-name>" //To be added by facade - fill source data
}
]
}
Default resources to be created
The following resources have to be created by the facade additionally in order to comply with RDC Implementation guide.
Patient
{
"resourceType": "Patient",
"id": "3f6AHVp-w86-1061",
"meta": {
"profile": [
"http://roche.com/fhir/rdc/StructureDefinition/patient"
]
},
"identifier": [
{
"use": "official",
"system": "http://roche.com/fhir/rdc/sid/pid/gigya",
"value": "210527-confidence-dev"
}
],
"active": true
}
Device
There will be one Device resource for the ConfidenceApp integration
{
"resourceType": "Device",
"id": "confidence-1.0.0",
"meta": {
"profile": [
"http://roche.com/fhir/rdc/StructureDefinition/phg-device"
]
},
"extension": [
{
"url": "http://roche.com/fhir/rdc/StructureDefinition/provenance-source",
"valueString": "confidence"
},
{
"url": "http://roche.com/fhir/rdc/StructureDefinition/provenance-channel",
"valueString": "confidence"
}
],
"status": "active",
"type": {
"coding": [
{
"system": "http://roche.com/fhir/rdc/cdf",
"code": "cdf.dev.im",
"display": "Manual interface"
}
]
},
"manufacturer": "Roche",
"model": "confidence",
"version": "1.0.0"
}
DeviceComponent for a dummy SmartPhone
The ConfidenceApp does not share details of the smartphone on which the application is installed. However, we need a DeviceComponent for the smart phone to link the BG, Carb, Insulin etc. from the logbook.
{
"resourceType": "DeviceComponent",
"id": "cf.devicecomponent.3f6AHVp-w86-1061",
"meta": {
"profile": [
"http://roche.com/fhir/rdc/StructureDefinition/phd-devicecomponent"
]
},
"extension": [
{
"url": "http://roche.com/fhir/rdc/StructureDefinition/provenance-source",
"valueString": "confidence"
},
{
"url": "http://roche.com/fhir/rdc/StructureDefinition/provenance-channel",
"valueString": "confidence"
}
],
"identifier": {
"system": "http://roche.com/fhir/rdc/sid/device-identifier",
"value": "confidence/<patient-id>"
},
"type": {
"coding": [
{
"system": "http://roche.com/fhir/rdc/cs",
"code": "smartPhone",
"display": "Smart Phone"
}
]
},
"lastSystemChange": "2021-06-01T00:00:00.000Z",
"source": {
"reference": "Device/confidence-1.0.0"
}
}
DeviceMetric for BG/Calibration
A DeviceMetric resource is needed to link an Observation to a DeviceComponent.
{
"resourceType": "DeviceMetric",
"meta": {
"profile": [
"http://roche.com/fhir/rdc/StructureDefinition/dm-device-metric"
]
},
"extension": [
{
"url": "http://roche.com/fhir/rdc/StructureDefinition/provenance-source",
"valueString": "confidence"
},
{
"url": "http://roche.com/fhir/rdc/StructureDefinition/provenance-channel",
"valueString": "confidence"
}
],
"id": "cf.dmglucose.3f6AHVp-w86-1061",
"identifier": {
"system": "http://roche.com/fhir/rdc/sid/devicemetric-identifier",
"value": "<deviceComponent.identifier.value>/2339-0"
},
"type": {
"coding": [
{
"system": "http://loinc.org",
"code": "2339-0",
"display": "Glucose [Mass/volume] in Blood"
}
]
},
"unit": {
"coding": [
{
"system": "http://unitsofmeasure.org",
"code": "mg/dL",
"display": "milligram per deciliter"
}
]
},
"source": {
"reference": "Device/confidence-1.0.0"
},
"parent": {
"reference": "DeviceComponent/cf.devicecomponent.3f6AHVp-w86-1061" //link to the dummy smartphone devicecomponent resource
},
"operationalStatus": "on",
"category": "measurement"
}
DeviceMetric for Carb
A DeviceMetric resource is needed to link an Observation to a DeviceComponent.
{
"resourceType": "DeviceMetric",
"id": "cf.dmcarbs.3f6AHVp-w86-1061",
"meta": {
"profile": [
"http://roche.com/fhir/rdc/StructureDefinition/dm-device-metric"
]
},
"extension": [
{
"url": "http://roche.com/fhir/rdc/StructureDefinition/provenance-source",
"valueString": "confidence"
},
{
"url": "http://roche.com/fhir/rdc/StructureDefinition/provenance-channel",
"valueString": "confidence"
}
],
"identifier": {
"system": "http://roche.com/fhir/rdc/sid/devicemetric-identifier",
"value": "<deviceComponent.identifier.value>/2331003"
},
"type": {
"coding": [
{
"system": "http://snomed.info/sct",
"code": "2331003",
"display": "Carbohydrate (substance)"
}
]
},
"unit": {
"coding": [
{
"system": "http://unitsofmeasure.org",
"code": "g",
"display": "gram"
}
]
},
"source": {
"reference": "Device/confidence-1.0.0"
},
"parent": {
"reference": "DeviceComponent/cf.devicecomponent.3f6AHVp-w86-1061" //link to the dummy smartphone devicecomponent resource
},
"operationalStatus": "on",
"category": "measurement"
}
DeviceMetric for Insulin
A DeviceMetric resource is needed to link a MedcationAdministration to a DeviceComponent.
{
"id": "cf.dmins.3f6AHVp-w86-1061",
"meta": {
"profile": [
"http://roche.com/fhir/rdc/StructureDefinition/dm-device-metric"
]
},
"extension": [
{
"url": "http://roche.com/fhir/rdc/StructureDefinition/provenance-source",
"valueString": "confidence"
},
{
"url": "http://roche.com/fhir/rdc/StructureDefinition/provenance-channel",
"valueString": "confidence"
}
],
"resourceType": "DeviceMetric",
"identifier": {
"system": "http://roche.com/fhir/rdc/sid/devicemetric-identifier",
"value": "<deviceComponent.identifier.value>/67866001"
},
"type": {
"coding": [
{
"system": "http://snomed.info/sct",
"code": "67866001",
"display": "Insulin (substance)"
}
]
},
"unit": {
"coding": [
{
"system": "http://unitsofmeasure.org",
"code": "[iU]",
"display": "international unit"
}
]
},
"source": {
"reference": "Device/confidence-1.0.0"
},
"parent": {
"reference": "DeviceComponent/cf.devicecomponent.3f6AHVp-w86-1061" //link to the dummy smartphone devicecomponent resource
},
"operationalStatus": "on",
"category": "measurement"
}
DeviceMetric for EMWR / Notes
A DeviceMetric resource is needed to link an Observation to a DeviceComponent. This is a dummy deviceMetric because errors/messages/Notes coming from an application do not have a specific deviceMetric
{
"id": "cf.dmemwr.3f6AHVp-w86-1061",
"meta": {
"profile": [
"http://roche.com/fhir/rdc/StructureDefinition/dm-device-metric"
]
},
"extension": [
{
"url": "http://roche.com/fhir/rdc/StructureDefinition/provenance-source",
"valueString": "confidence"
},
{
"url": "http://roche.com/fhir/rdc/StructureDefinition/provenance-channel",
"valueString": "confidence"
}
],
"resourceType": "DeviceMetric",
"identifier": {
"system": "http://roche.com/fhir/rdc/sid/devicemetric-identifier",
"value": "<deviceComponent.identifier.value>/10003008"
},
"type": {
"coding": [
{
"system": "http://snomed.info/sct",
"code": "10003008",
"display": "Non-specific (qualifier value)"
}
]
},
"unit": {
"coding": [
{
"system": "http://ncimeta.nci.nih.gov",
"code": "C1272460",
"display": "Not Applicable"
}
]
},
"source": {
"reference": "Device/confidence-1.0.0"
},
"parent": {
"reference": "DeviceComponent/cf.devicecomponent.3f6AHVp-w86-1061" //link to the dummy smartphone devicecomponent resource
},
"operationalStatus": "on",
"category": "measurement"
}
Dummy DeviceComponent and DevceMetric for a Sensor if the Session data is shared before the Sensor data
If the session is shared before the sensor, the facade creates temporarily a dummy DeviceComponent and DeviceMetric until the actual sensor details is received. This is because the session Observation needs to be linked to the sensor deviceComponent. Once the sensor details are received the DeviceComponent and DeviceMetric are updated as per Sensor
{
"resourceType": "DeviceComponent",
"id": "cf.dccgm.xaHovTo-GZa-9.ZZZZ",
"meta": {
"profile": ["http://roche.com/fhir/rdc/StructureDefinition/phd-devicecomponent"]
},
"extension": [{
"url": "http://roche.com/fhir/rdc/StructureDefinition/cgm-session-id",
"valueString": "ZZZZ"
}, {
"url": "http://roche.com/fhir/rdc/StructureDefinition/provenance-channel",
"valueString": "confidence"
}, {
"url": "http://roche.com/fhir/rdc/StructureDefinition/provenance-source",
"valueString": "confidence"
}],
"identifier": {
"system": "http://roche.com/fhir/rdc/sid/device-identifier",
"value": "default-sensor/0130a615-4687-4e8f-ab6c-8df7e5fb48c6"
},
"type": {
"coding": [{
"system": "http://snomed.info/sct",
"code": "701750003",
"display": "Subcutaneous glucose sensor"
}],
"text": "CGMSensor"
},
"source": {
"reference": "Device/confidence-1.0.0"
},
"parent": {
"reference": "DeviceComponent/cf.globaldc.xaHovTo-GZa-9"
}
}
{
"resourceType": "DeviceMetric",
"id": "cf.dmcgm.xaHovTo-GZa-9.ZZZZ",
"meta": {
"profile": [
"http://roche.com/fhir/rdc/StructureDefinition/dm-device-metric"
]
},
"extension": [{
"url": "http://roche.com/fhir/rdc/StructureDefinition/provenance-source",
"valueString": "confidence"
}, {
"url": "http://roche.com/fhir/rdc/StructureDefinition/provenance-channel",
"valueString": "confidence"
}],
"identifier": {
"system": "http://roche.com/fhir/rdc/sid/devicemetric-identifier",
"value": "default-sensor/0130a615-4687-4e8f-ab6c-8df7e5fb48c6/2344-0"
},
"type": {
"coding": [{
"system": "http://loinc.org",
"code": "2344-0",
"display": "Glucose [Mass/volume] in Body fluid"
}]
},
"unit": {
"coding": [{
"system": "http://unitsofmeasure.org",
"code": "mg/dL",
"display": "milligram per deciliter"
}]
},
"source": {
"reference": "Device/confidence-1.0.0"
},
"parent": {
"reference": "DeviceComponent/cf.dccgm.xaHovTo-GZa-9.ZZZZ"
},
"operationalStatus": "on",
"category": "measurement"
}
DM careplan - expanded FHIR
This is example of expanded format for Diabetes Management careplan which is a Master careplan associated to a patient, which holds all other careplans as a Master (parent) careplan.
{
"resourceType": "CarePlan",
"id": "93034f38-6c66-4297-af64-e0088eaa4ff0", //To be managed by FHIRSTACK
"meta": {
"profile": [ //To be updated by facade - FHIR profile for dm-careplan for FHIR internal storage
"http://roche.com/fhir/rdc/StructureDefinition/dm-careplan"
]
},
"identifier": [
{
"system": "http://roche.com/fhir/rdc/sid/careplan/confidence",
"value": "cf-dmcp-001" //retain same identifier received from Confidence reduced FHIR
}
],
"category": [ //To be added by facade - category for dm-careplan will always be "Diabetes clinical management plan"
{
"coding": [
{
"system": "http://snomed.info/sct",
"code": "412777005",
"display": "Diabetes clinical management plan"
}
]
}
],
"status": "active", //retain same status received from confidence
"intent": "plan", //retain same intent received from confidence
"title": "Diabetes Management Plan", //retain same title received from confidence
"subject": {
"reference": "Patient/14435e70-25d8-4db4-8941-9a191735b31e"
},
"extension": [
{
"url": "http://roche.com/fhir/rdc/StructureDefinition/provenance-channel",
"valueString": "<channel-name>" //To be added by facade - fill channel data
},
{
"url": "http://roche.com/fhir/rdc/StructureDefinition/provenance-source",
"valueString": "<source-name>" //To be added by facade - fill source data
}
]
}
Target settings - expanded FHIR
sample scenario :
| Data Point | Value | unit |
|---|---|---|
| Lower target | 70 | mg/dL |
| Upper target | 180 | mg/dL |
Note: Comments are provided in green in the JSON below
Below is an example JSON for the Therapy Time block settings (Target ranges) in careplan and goal resource in expanded FHIR format. TherapyTimeBlock currently spans for one whole day and it is captured in Target ranges careplan- scheduledTiming.
Target ranges - Careplan :
{
"resourceType": "CarePlan",
"id": "941f886d-bfb8-43c6-a979-54d582a4a88f", //To be managed by FHIRSTACK
"meta": { //To be updated by facade - FHIR profile for careplan target ranges for FHIR internal storage
"profile": [
"http://roche.com/fhir/rdc/StructureDefinition/careplan-target-ranges"
]
},
"identifier": [
{
"system": "http://roche.com/fhir/rdc/sid/careplan/confidence",
"value": "cf-tgcp-001" //retain same identifier received from Confidence reduced FHIR
}
],
"partOf": [
{
"reference": "CarePlan/93034f38-6c66-4297-af64-e0088eaa4ff0" //To be added by facade - based on identifier value of careplan resource
"identifier": {
"value": "cf-dmcp-001" //retain same identifier received from Confidence reduced FHIR
}
}
],
"status": "active", //retain same status received from confidence
"intent": "plan", //retain same intent received from confidence
"category": [ //To be added by facade - category will be Target ranges plan
{
"coding": [
{
"system": "http://roche.com/fhir/rdc/cs",
"code": "target-ranges-careplan",
"display": "Target ranges plan"
}
]
}
],
"title": "Target ranges plan", //retain same title received from confidence
"subject": { //To be added by facade - patient link
"reference": "Patient/14435e70-25d8-4db4-8941-9a191735b31e"
},
"activity": [
{
"detail": {
"category": {
"coding": [ //To be added by facade - system, code and display when category.text "Observation" is received in the reduced FHIR
{
"system": "http://hl7.org/fhir/care-plan-activity-category",
"code": "observation",
"display": "Observation"
}
],
"text": "Observation" //To be retained as is from the reduced format so that on restore it can be sent back
},
"code": {
"coding": [ //To be added by facade - system, code and display when code.text "Identified target range activity" is received in the reduced FHIR
{
"system": "http://roche.com/fhir/rdc/cs",
"code": "identified-target-range-activity",
"display": "Identified target range activity"
}
],
"text": "Identified target range activity" //To be retained as is from the reduced format so that on restore it can be sent back
},
"goal": [
{
"reference": "Goal/c882e4c5-91b9-4b4e-86b2-bc42fa6119ed",//To be added by facade - based on identifier value of goal resource
"identifier": {
"value": "cf-goal-001" //retain value from reduced FHIR
}
},
{
"reference": "Goal/8fc3a008-0dfa-4d41-991c-21dbe3fdac35",//To be added by facade - based on identifier value of goal resource
"identifier": {
"value": "cf-goal-002" //retain value from reduced FHIR
}
}
],
"status": "unknown",
"scheduledTiming": {
"repeat": {
"duration": 1440,
"durationUnit": "min",
"timeOfDay": [
"00:00:00"
]
}
}
}
}
],
"extension": [
{
"url": "http://roche.com/fhir/rdc/StructureDefinition/provenance-channel",
"valueString": "<channel-name>" //To be added by facade - fill channel data
},
{
"url": "http://roche.com/fhir/rdc/StructureDefinition/provenance-source",
"valueString": "<source-name>" //To be added by facade - fill source data
}
]
}
Goal resources
Lower - Hypoglycemia
{
"id": "c882e4c5-91b9-4b4e-86b2-bc42fa6119ed", //To be managed by FHIRSTACK
"resourceType": "Goal",
"status": "planned", //retain value from reduced FHIR
"meta": { //To be updated by facade - FHIR profile for goal for FHIR internal storage
"profile": [
"http://roche.com/fhir/rdc/StructureDefinition/goal"
]
},
"identifier": [
{
"system": "http://roche.com/fhir/rdc/sid/goal/confidence",
"value": "cf-goal-001" //retain same identifier received from Confidence reduced FHIR
}
],
"description": {
"coding": [ //To be added by facade - coding will be Hypoglycemia based on description.text = Lower target
{
"system": "http://snomed.info/sct",
"code": "302866003",
"display": "Hypoglycemia (disorder)"
}
],
"text": "Hypoglycemia"//To be retained as is from the reduced format so that on restore it can be sent back
},
"subject": { //To be added by facade - patient link
"reference": "Patient/14435e70-25d8-4db4-8941-9a191735b31e"
},
"target": {
"measure": {
"coding": [ //To be added by facade - system, code and display when measure.text "mg/dL" is received in the reduced FHIR
{
"system": "http://loinc.org",
"code": "32016-8",
"display": "Glucose [Mass/volume] in Capillary blood"
}
],
"text": "mg/dL"//To be retained as is from the reduced format so that on restore it can be sent back
},
"detailQuantity": {
"value": 70, //retain value from reduced FHIR
"comparator": "<=", // To be added by facade - the comparator, system and code details for goal
"unit": "mg/dL", //retain value from reduced FHIR
"system": "http://unitsofmeasure.org",
"code": "mg/dL"
}
},
"extension": [
{
"url": "http://roche.com/fhir/rdc/StructureDefinition/provenance-channel",
"valueString": "<channel-name>" //To be added by facade - fill channel data
},
{
"url": "http://roche.com/fhir/rdc/StructureDefinition/provenance-source",
"valueString": "<source-name>" //To be added by facade - fill source data
}
]
}
Higher - Hyperglycemia
{
"id": "8fc3a008-0dfa-4d41-991c-21dbe3fdac35", //To be managed by FHIRSTACK
"resourceType": "Goal",
"status": "planned", //retain value from reduced FHIR
"meta": { //To be updated by facade - FHIR profile for goal for FHIR internal storage
"profile": [
"http://roche.com/fhir/rdc/StructureDefinition/goal"
]
},
"identifier": [
{
"system": "http://roche.com/fhir/rdc/sid/goal/confidence",
"value": "cf-goal-002" //retain same identifier received from Confidence reduced FHIR
}
],
"description": {
"coding": [ //To be added by facade - coding will be Hyperglycemia based on description.text = Higher target
{
"system": "http://snomed.info/sct",
"code": "80394007",
"display": "Hyperglycemia (disorder)"
}
],
"text": "Hyperglycemia"
},
"subject": { //To be added by facade - patient link
"reference": "Patient/14435e70-25d8-4db4-8941-9a191735b31e"
},
"target": {
"measure": {
"coding": [ //To be added by facade - system, code and display when measure.text "mg/dL" is received in the reduced FHIR
{
"system": "http://loinc.org",
"code": "32016-8",
"display": "Glucose [Mass/volume] in Capillary blood"
}
],
"text": "mg/dL"//To be retained as is from the reduced format so that on restore it can be sent back
},
"detailQuantity": {
"value": 180, //retain value from reduced FHIR
"comparator": ">=", // To be added by facade - the comparator, system and code details for goal
"unit": "mg/dL", //retain value from reduced FHIR
"system": "http://unitsofmeasure.org",
"code": "mg/dL"
}
},
"extension": [
{
"url": "http://roche.com/fhir/rdc/StructureDefinition/provenance-channel",
"valueString": "<channel-name>" //To be added by facade - fill channel data
},
{
"url": "http://roche.com/fhir/rdc/StructureDefinition/provenance-source",
"valueString": "<source-name>" //To be added by facade - fill source data
}
]
}
Time block settings - expanded FHIR
sample scenario :
| Data Point | Value | unit |
|---|---|---|
| Time Block status | True | Boolean |
| Time Block Start Time | 08:00:00 | HH:MM:SS |
| Time Block End Time | 11:59:00 | HH:MM:SS |
| Hypo Limit | 80 | mg/dL |
| Hyper Limit | 130 | mg/dL |
| Hypo Lower Limit | 54 | mg/dL |
| Hypo Alert | True | Boolean |
| Hyper Alert | True | Boolean |
| Urgent Hypo Alert | false | Boolean |
Note: Comments are provided in green in the JSON below
Below is an example JSON for the Careplan resource having Timeblock information in reduced FHIR format
Bolus Advice careplan
{
"resourceType": "CarePlan", //FHIR resource type
"id": "7fa36838-6730-44ae-aaba-fffc4c5551f5",
"meta": { //Should be sent by Confidence saying which profile the below resource conforms to.
"profile": [
"http://roche.com/fhir/rdc/StructureDefinition/careplan-bolus-advice"
]
},
"identifier": [
{
"system": "http://roche.com/fhir/rdc/sid/careplan/confidence", //always same for resourceType careplan
"value": "cf-bol-adv-cp-001" // Unique identifier from confidence
}
],
"basedOn": [
{
"reference": "CarePlan/careplan-dm-careplan-example", //To be added by facade - based on identifier value of careplan resource
"identifier": {
"value": "cf-dmcp-001" // Unique identifier for related dm-careplan
}
}
],
"partOf": [
{
"reference": "CarePlan/careplan-dm-careplan-example",
"identifier": {
"value": "cf-dmcp-001" // Unique identifier for related dm-careplan
}
}
],
"status": "active", //Status will be 'active' for careplan
"intent": "plan", //intent will be 'plan' for careplan
"category": [ // Category will be added by facade as Bolus management plan
{
"coding": [
{
"system": "http://roche.com/fhir/rdc/cs",
"code": "bolus-management-careplan",
"display": "Bolus management plan"
}
]
}
],
"title": "Bolus Advice Careplan", //title will be 'Bolus Advice Careplan' for careplan-target-ranges
"extension": [
{
"extension": [
{
"url": "TimeblockStatus",
"valueBoolean": true
},
{
"url": "startTime",
"valueTime": "08:00:00"
},
{
"url": "endTime",
"valueTime": "11:59:00"
},
{
"url": "LowerLimit",
"valueQuantity": {
"value": 80,
"unit": "mg/dL",
"system": "https://unitsofmeasure.org",// To be added by facade
"code": "mg/dL"// To be added by facade
}
},
{
"url": "UpperLimit",
"valueQuantity": {
"value": 130,
"unit": "mg/dL",
"system": "https://unitsofmeasure.org",// To be added by facade
"code": "mg/dL"// To be added by facade
}
},
{
"url": "UrgentLowerLimit",
"valueQuantity": {
"value": 54,
"unit": "mg/dL",
"system": "https://unitsofmeasure.org",// To be added by facade
"code": "mg/dL"// To be added by facade
}
},
{
"url": "HypoAlert",
"valueBoolean": true
},
{
"url": "HyperAlert",
"valueBoolean": true
},
{
"url": "UrgentHypoAlert",
"valueBoolean": false
}
],
"url": "http://roche.com/fhir/rdc/StructureDefinition/careplan-timeblock-options"
},
{
"url": "http://roche.com/fhir/rdc/StructureDefinition/provenance-channel",
"valueString": "<channel-name>" //To be added by facade - fill channel data
},
{
"url": "http://roche.com/fhir/rdc/StructureDefinition/provenance-source",
"valueString": "<source-name>" //To be added by facade - fill source data
}
],
"subject": {
"reference": "Patient/<patient reference>" // This value will be overwritten by the FHIR Server to put the fhir id of the user sending data from auth header
}
}
Mobile device - expanded FHIR (This modelling will be implemented by confidence in future)
Sample Scenario
| Data Point | Value | unit | Comments |
|---|---|---|---|
| Mobile Model Number | 5.0 | string | This is Mobile model number |
| Mobile OS version | 11.0 | string | This is Mobile OS version |
Note: Comments are provided in green in the JSON below
Example :
{
"resourceType": "DeviceComponent",
"id": "cf.globaldc.3f6AHVp-w86-1061",
"meta": {
"profile": [
"http://roche.com/fhir/rdc/StructureDefinition/phd-devicecomponent"
]
},
"identifier": {
"system": "http://roche.com/fhir/rdc/sid/device-identifier",
"value": "<confidence unique identifier>"
},
"type": {
"coding": [
{
"system": "http://roche.com/fhir/rdc/cs",
"code": "smartPhone",
"display": "Smart Phone"
}
],
"text": "smartPhone"
},
"productionSpecification": [
{
"specType": {
"coding": [
{
"system": "http://hl7.org/fhir/specification-type",
"code": "part-number",
"display": "Part Number"
}
],
"text": "MobileModelNumber"
},
"productionSpec": "5.0"
},
{
"specType": {
"coding": [
{
"system": "http://hl7.org/fhir/specification-type",
"code": "software-revision",
"display": "Software Revision"
}
],
"text": "MobileOSVersion"
},
"productionSpec": "11.0"
}
],
"lastSystemChange": "2021-06-01T00:00:00.000Z",
"source": {
"reference": "Device/confidence-1.0.0"
},
"extension": [
{
"url": "http://roche.com/fhir/rdc/StructureDefinition/sample-interval",
"valueQuantity": {
"value": 0
}
}
]
}