JSON
{
"resourceType": "StructureDefinition",
"id": "54bdb774-70ec-44fe-920a-afab2733975f",
"meta": {
"versionId": "3",
"lastUpdated": "07/01/2019 17:14:48"
},
"url": "http://roche.com/fhir/rdc/StructureDefinition/phd-devicecomponent",
"version": "1",
"name": "phd-devicecomponent",
"status": "active",
"date": "07/01/2019 17:14:47",
"fhirVersion": "3.0.2",
"mapping": [
{
"identity": "ACSPIX2FHIR",
"name": "ACSPIX (Extensions for IP)"
},
{
"identity": "GREENDOT",
"name": "Greendot"
},
{
"identity": "GLUCI-CHEK",
"name": "FHIR2ACSPIX",
"comment": "The input will be a FHIR file and the output can be 1 to N ACSPIX files, one per each Device Component found."
},
{
"identity": "CDF2FHIR",
"name": "CDF2FHIR"
}
],
"kind": "resource",
"abstract": false,
"type": "DeviceComponent",
"baseDefinition": "http://hl7.org/fhir/StructureDefinition/DeviceComponent",
"derivation": "constraint",
"differential": {
"element": [
{
"id": "DeviceComponent.extension",
"path": "DeviceComponent.extension",
"slicing": {
"discriminator": [
{
"type": "value",
"path": "url"
}
],
"rules": "open"
}
},
{
"id": "DeviceComponent.extension:bolusIncrement",
"path": "DeviceComponent.extension",
"sliceName": "bolusIncrement",
"type": [
{
"code": "Extension",
"profile": "http://roche.com/fhir/rdc/StructureDefinition/device-component-bolus-increment"
}
]
},
{
"id": "DeviceComponent.extension:deliverySpeed",
"path": "DeviceComponent.extension",
"sliceName": "deliverySpeed",
"type": [
{
"code": "Extension",
"profile": "http://roche.com/fhir/rdc/StructureDefinition/device-component-delivery-speed"
}
]
},
{
"id": "DeviceComponent.extension:infusionSetCannulaFillAmt",
"path": "DeviceComponent.extension",
"sliceName": "infusionSetCannulaFillAmt",
"type": [
{
"code": "Extension",
"profile": "http://roche.com/fhir/rdc/StructureDefinition/device-component-infusion-set-cannula-fill-amt"
}
]
},
{
"id": "DeviceComponent.extension:infusionSetTubingFillAmt",
"path": "DeviceComponent.extension",
"sliceName": "infusionSetTubingFillAmt",
"type": [
{
"code": "Extension",
"profile": "http://roche.com/fhir/rdc/StructureDefinition/device-component-infusion-set-tubing-fill-amt"
}
]
},
{
"id": "DeviceComponent.extension:lowCartAlarmQty",
"path": "DeviceComponent.extension",
"sliceName": "lowCartAlarmQty",
"type": [
{
"code": "Extension",
"profile": "http://roche.com/fhir/rdc/StructureDefinition/device-component-low-cart-alarm-qty"
}
]
},
{
"id": "DeviceComponent.extension:primeQty",
"path": "DeviceComponent.extension",
"sliceName": "primeQty",
"type": [
{
"code": "Extension",
"profile": "http://roche.com/fhir/rdc/StructureDefinition/device-component-prime-qty"
}
]
},
{
"id": "DeviceComponent.extension:restUseDays",
"path": "DeviceComponent.extension",
"sliceName": "restUseDays",
"type": [
{
"code": "Extension",
"profile": "http://roche.com/fhir/rdc/StructureDefinition/device-component-rest-use-days"
}
]
},
{
"id": "DeviceComponent.extension:deviceCarePlan",
"path": "DeviceComponent.extension",
"sliceName": "deviceCarePlan",
"type": [
{
"code": "Extension",
"profile": "http://roche.com/fhir/rdc/StructureDefinition/device-component-device-care-plan"
}
]
},
{
"id": "DeviceComponent.extension:maxHourlyBasalRate",
"path": "DeviceComponent.extension",
"sliceName": "maxHourlyBasalRate",
"type": [
{
"code": "Extension",
"profile": "http://roche.com/fhir/rdc/StructureDefinition/device-component-max-hourly-basal-rate"
}
]
},
{
"id": "DeviceComponent.extension:activeBasalProfile",
"path": "DeviceComponent.extension",
"sliceName": "activeBasalProfile",
"type": [
{
"code": "Extension",
"profile": "http://roche.com/fhir/rdc/StructureDefinition/device-component-active-basal-profile"
}
]
},
{
"id": "DeviceComponent.extension:tbrMaxAdjustment",
"path": "DeviceComponent.extension",
"sliceName": "tbrMaxAdjustment",
"type": [
{
"code": "Extension",
"profile": "http://roche.com/fhir/rdc/StructureDefinition/device-component-tbr-max-adjustment"
}
]
},
{
"id": "DeviceComponent.extension:tbrMaxDuration",
"path": "DeviceComponent.extension",
"sliceName": "tbrMaxDuration",
"type": [
{
"code": "Extension",
"profile": "http://roche.com/fhir/rdc/StructureDefinition/device-component-tbr-max-duration"
}
]
},
{
"id": "DeviceComponent.extension:pairedIp",
"path": "DeviceComponent.extension",
"sliceName": "pairedIp",
"type": [
{
"code": "Extension",
"profile": "http://roche.com/fhir/rdc/StructureDefinition/device-component-paired-ip"
}
]
},
{
"id": "DeviceComponent.extension:bolusAdviceEnabled",
"path": "DeviceComponent.extension",
"sliceName": "bolusAdviceEnabled",
"max": "1",
"type": [
{
"code": "Extension",
"profile": "http://roche.com/fhir/rdc/StructureDefinition/device-component-bolus-advice-enabled"
}
]
},
{
"id": "DeviceComponent.extension:maxBolusAmount",
"path": "DeviceComponent.extension",
"sliceName": "maxBolusAmount",
"max": "1",
"type": [
{
"code": "Extension",
"profile": "http://roche.com/fhir/rdc/StructureDefinition/device-component-maximum-bolus-amount"
}
]
},
{
"id": "DeviceComponent.extension:maxQuickBolusAmount",
"path": "DeviceComponent.extension",
"sliceName": "maxQuickBolusAmount",
"max": "1",
"type": [
{
"code": "Extension",
"profile": "http://roche.com/fhir/rdc/StructureDefinition/device-component-maximum-quick-bolus-amount"
}
]
},
{
"id": "DeviceComponent.extension:quickBolusEnabled",
"path": "DeviceComponent.extension",
"sliceName": "quickBolusEnabled",
"max": "1",
"type": [
{
"code": "Extension",
"profile": "http://roche.com/fhir/rdc/StructureDefinition/device-component-quick-bolus-enabled"
}
]
},
{
"id": "DeviceComponent.extension:bolusLagtimeEnabled",
"path": "DeviceComponent.extension",
"sliceName": "bolusLagtimeEnabled",
"max": "1",
"type": [
{
"code": "Extension",
"profile": "http://roche.com/fhir/rdc/StructureDefinition/device-component-bolus-lagtime-enabled"
}
]
},
{
"id": "DeviceComponent.identifier.system",
"path": "DeviceComponent.identifier.system",
"min": 1,
"fixedUri": "http://roche.com/fhir/rdc/sid/device-identifier",
"mapping": [
{
"identity": "ACSPIX2FHIR",
"map": "http://roche.com/fhir/rdc/sid/device-identifier"
},
{
"identity": "GREENDOT",
"map": "http://roche.com/fhir/rdc/sid/device-identifier",
"comment": "Fixed value"
},
{
"identity": "CDF2FHIR",
"map": "http://roche.com/fhir/rdc/sid/device-identifier"
}
]
},
{
"id": "DeviceComponent.identifier.value",
"path": "DeviceComponent.identifier.value",
"comment": "If the value is a full URI, then the system SHALL be urn:ietf:rfc:3986. The value's primary purpose is computational mapping. As a result, it may be normalized for comparison purposes (e.g. removing non-significant whitespace, dashes, etc.) A value formatted for human display can be conveyed using the [Rendered Value extension](extension-rendered-value.html).",
"min": 1,
"mapping": [
{
"identity": "ACSPIX2FHIR",
"map": "partNumber ? `${source}/${partNumber}/${serialNumber}` : `${source}/${serialNumber}",
"comment": "example: source[uDTC/SyncApp/Accu-Chek Smart Pix Software]/ModelNum[555]/SN[009990670]"
},
{
"identity": "GREENDOT",
"map": "Greendot/device model/device serial number",
"comment": "Greendot/<modelNumber>/<serialNumber>"
},
{
"identity": "CDF2FHIR",
"map": "partNumber ? {source}/{partNumber}/{serialNumber} : {source}/{serialNumber}",
"comment": "Source/<ModelUID>/<SerialNumber>"
}
]
},
{
"id": "DeviceComponent.type",
"path": "DeviceComponent.type",
"binding": {
"strength": "preferred",
"valueSetUri": "http://roche.com/fhir/rdc/ValueSet/device-kind"
}
},
{
"id": "DeviceComponent.type.coding.system",
"path": "DeviceComponent.type.coding.system",
"mapping": [
{
"identity": "ACSPIX2FHIR",
"map": "isMeter? http://roche.com/fhir/rdc/cdf : http://snomed.info/sct",
"comment": "Based on device type(BG,IP) system can be assigned"
},
{
"identity": "GREENDOT",
"map": "http://roche.com/fhir/rdc/cs",
"comment": "Fixed value"
},
{
"identity": "CDF2FHIR",
"map": "isMeter? http://roche.com/fhir/rdc/cdf : http://snomed.info/sct",
"comment": "Based on device type(BG,IP) system can be assigned"
}
]
},
{
"id": "DeviceComponent.type.coding.code",
"path": "DeviceComponent.type.coding.code",
"mapping": [
{
"identity": "ACSPIX2FHIR",
"map": "isMeter ? cdf.dev.bgmeter : 69805005",
"comment": "Based on device type (BG,IP) code can be asssigned"
},
{
"identity": "GREENDOT",
"map": "smartPhone",
"comment": "Fixed value"
},
{
"identity": "CDF2FHIR",
"map": "isMeter ? cdf.dev.bgmeter : 69805005",
"comment": "Based on device type (BG,IP) code can be asssigned"
}
]
},
{
"id": "DeviceComponent.type.coding.display",
"extension": [
{
"url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
"valueBoolean": true
}
],
"path": "DeviceComponent.type.coding.display",
"mapping": [
{
"identity": "ACSPIX2FHIR",
"map": "isMeter ? Glucometer : Insulin Pump",
"comment": "Based on device type(BG,IP) display can be assigned"
},
{
"identity": "GREENDOT",
"map": "Smart Phone",
"comment": "Fixed value"
},
{
"identity": "CDF2FHIR",
"map": "isMeter ? Glucometer : Insulin Pump",
"comment": "Based on device type(BG,IP) display can be assigned"
}
]
},
{
"id": "DeviceComponent.lastSystemChange",
"path": "DeviceComponent.lastSystemChange",
"mapping": [
{
"identity": "ACSPIX2FHIR",
"map": "Dt+Tm",
"comment": "ACSPIX Device tag Date and Time fields."
},
{
"identity": "GLUCI-CHEK",
"map": "DEVICE.Dt",
"comment": "Map the Date from the lastSystemChange"
},
{
"identity": "GLUCI-CHEK",
"map": "DEVICE.Tm",
"comment": "Map the Time from the lastSystemChange (hh:mm)"
}
]
},
{
"id": "DeviceComponent.source",
"path": "DeviceComponent.source",
"min": 1,
"type": [
{
"code": "Reference",
"targetProfile": "http://roche.com/fhir/rdc/StructureDefinition/phg-device"
}
]
},
{
"id": "DeviceComponent.source.reference",
"path": "DeviceComponent.source.reference",
"min": 1,
"mapping": [
{
"identity": "ACSPIX2FHIR",
"map": "Device/${deviceId}"
},
{
"identity": "GREENDOT",
"map": "Device/{DeviceId}",
"comment": "<UID of the device resource>"
},
{
"identity": "CDF2FHIR",
"map": "Device/{deviceId}"
}
]
},
{
"id": "DeviceComponent.parent",
"path": "DeviceComponent.parent",
"type": [
{
"code": "Reference",
"targetProfile": "http://roche.com/fhir/rdc/StructureDefinition/phd-devicecomponent"
}
]
},
{
"id": "DeviceComponent.measurementPrinciple",
"path": "DeviceComponent.measurementPrinciple",
"definition": "Omit .measurementPrinciple if other than Glucometer (e.g. IP)\n\"impedance\" used for glucometers.",
"comment": "Omit .measurementPrinciple if other than Glucometer (e.g. IP)\n\"impedance\" used for glucometers.",
"mapping": [
{
"identity": "ACSPIX2FHIR",
"map": "impedance",
"comment": "Fixed value"
},
{
"identity": "GREENDOT",
"map": "optical",
"comment": "Fixed value"
},
{
"identity": "CDF2FHIR",
"map": "impedance",
"comment": "hardcoded value"
}
]
},
{
"id": "DeviceComponent.productionSpecification.specType",
"path": "DeviceComponent.productionSpecification.specType",
"binding": {
"extension": [
{
"url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
"valueString": "DeviceSpecificationSpecType"
}
],
"strength": "extensible",
"valueSetUri": "http://roche.com/fhir/rdc/ValueSet/device-spectype"
}
},
{
"id": "DeviceComponent.productionSpecification.specType.coding.system",
"path": "DeviceComponent.productionSpecification.specType.coding.system",
"mapping": [
{
"identity": "ACSPIX2FHIR",
"map": "http://hl7.org/fhir/specification-type",
"comment": "All occurrences will have fixed value"
},
{
"identity": "GREENDOT",
"map": "http://hl7.org/fhir/specification-type",
"comment": "All occurrence have fixed value"
},
{
"identity": "CDF2FHIR",
"map": "http://hl7.org/fhir/specification-type",
"comment": "All occurrences will have fixed value"
}
]
},
{
"id": "DeviceComponent.productionSpecification.specType.coding.code",
"path": "DeviceComponent.productionSpecification.specType.coding.code",
"mapping": [
{
"identity": "ACSPIX2FHIR",
"map": "serial-number[0] : part-number[1] : unspecified[2]",
"comment": "Fixed value"
},
{
"identity": "GREENDOT",
"map": "serial-number[0] : part-number[1] : unspecified[2] : part-number[3] : hardware-revision[4] : software-revision[5] : firmware-revision[6]",
"comment": "[x] array position and fixed value should be mapped accordingly"
},
{
"identity": "CDF2FHIR",
"map": "serial-number[0] : part-number[1] : unspecified[2]",
"comment": "Fixed value"
}
]
},
{
"id": "DeviceComponent.productionSpecification.specType.coding.display",
"extension": [
{
"url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
"valueBoolean": true
}
],
"path": "DeviceComponent.productionSpecification.specType.coding.display",
"mapping": [
{
"identity": "ACSPIX2FHIR",
"map": "Serial Number[0] : Part Number[1] : Unspecified Production Specification[2]",
"comment": "Fixed value"
},
{
"identity": "GREENDOT",
"map": "Serial Number[0] : Model Number [1] : Model Name[2] : Part Number[3] : Hardware Revision[4] : Software Revision[5] : Firmware Revision[6]",
"comment": "[x] array position and fixed value should be mapped accordingly"
},
{
"identity": "CDF2FHIR",
"map": "Serial Number[0] : Part Number[1] : Unspecified Production Specification[2]",
"comment": "Fixed value"
}
]
},
{
"id": "DeviceComponent.productionSpecification.productionSpec",
"path": "DeviceComponent.productionSpecification.productionSpec",
"mapping": [
{
"identity": "ACSPIX2FHIR",
"map": "SN[0] : ModelNum[1] : Name[2]",
"comment": "Device tage SN , ModelNum and Name"
},
{
"identity": "GREENDOT",
"map": "android.os.Build.FINGERPRINT[0] : android.os.Build.MODEL[1]: android.os.Build.VERSION.SDK_INT[2] : android.os.Build.VERSION.DEVICE[3]",
"comment": "device serial number : device model : device firmware : operation system version"
},
{
"identity": "GLUCI-CHEK",
"map": "DEVICE.Name",
"comment": "IF “DeviceComponent. productionSpecification. specType.coding.code= ‘unspecified’” THEN DeviceComponent. productionSpecification.productionSpec"
},
{
"identity": "GLUCI-CHEK",
"map": "DEVICE.SN",
"comment": "IF “DeviceComponent. productionSpecification. specType.coding.code= ‘serial-number’” THEN DeviceComponent. productionSpecification.productionSpec"
},
{
"identity": "GLUCI-CHEK",
"map": "DEVICE.ModelNum",
"comment": "IF “DeviceComponent. productionSpecification. specType.coding.code= ‘part-number’” THEN DeviceComponent. productionSpecification.productionSpec"
},
{
"identity": "CDF2FHIR",
"map": "SerialNumber[0] : ModelUID[1] : ModelName[2]",
"comment": "<SerialNumber>00057305</SerialNumber> : <ModelUID>481</ModelUID> : <ModelName>Accu-Chek Aviva Insight</ModelName>"
}
]
}
]
}
}