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