JSON

{
    "resourceType": "StructureDefinition",
    "id": "54bdb774-70ec-44fe-920a-afab2733975f",
    "meta": {
        "versionId": "3",
        "lastUpdated": "2019-07-01T17:14:48.8551466+00:00"
    },
    "url": "http://roche.com/fhir/rdc/StructureDefinition/phd-devicecomponent",
    "version": "1",
    "name": "phd-devicecomponent",
    "status": "active",
    "date": "2019-07-01T17:14:47.8173022+00:00",
    "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>"
                    }
                ]
            }
        ]
    }
}