Virtually Healthcare HL7 FHIR R4 Implementation Guide
0.1.0-current - ci-build United Kingdom flag

Virtually Healthcare HL7 FHIR R4 Implementation Guide, published by Virtually Healthcare. This guide is not an authorized publication; it is the continuous build for version 0.1.0-current built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/Virtually-Healthcare/HL7-FHIR-Implementation-Guide/ and changes regularly. See the Directory of published versions

Resource Profile: Device - Mappings

Draft as of 2024-12-02

Mappings for the Device resource profile.

Mappings for RIM Mapping (http://hl7.org/v3)

Device
DeviceEntity. Role, or Act, Device
   textAct.text?
   containedN/A
   extensionN/A
   modifierExtensionN/A
   identifier.id
   identifier (systemIdIdentifier).id
      idn/a
      extensionn/a
      useRole.code or implied by context
      typeRole.code or implied by context
         idn/a
         extensionn/a
         codingunion(., ./translation)
            idn/a
            extensionn/a
            system./codeSystem
            version./codeSystemVersion
            code./code
            displayCV.displayName
            userSelectedCD.codingRationale
         text./originalText[mediaType/code="text/plain"]/data
      systemII.root or Role.id.root
      valueII.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root)
      periodRole.effectiveTime or implied by context
      assignerII.assigningAuthorityName but note that this is an improper use by the definition of the field. Also Role.scoper
   identifier (btmacAddressIdentifier).id
      idn/a
      extensionn/a
      useRole.code or implied by context
      typeRole.code or implied by context
         idn/a
         extensionn/a
         codingunion(., ./translation)
            idn/a
            extensionn/a
            system./codeSystem
            version./codeSystemVersion
            code./code
            displayCV.displayName
            userSelectedCD.codingRationale
         text./originalText[mediaType/code="text/plain"]/data
      systemII.root or Role.id.root
      valueII.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root)
      periodRole.effectiveTime or implied by context
      assignerII.assigningAuthorityName but note that this is an improper use by the definition of the field. Also Role.scoper
   identifier (macAddressIdentifier).id
      idn/a
      extensionn/a
      useRole.code or implied by context
      typeRole.code or implied by context
         idn/a
         extensionn/a
         codingunion(., ./translation)
            idn/a
            extensionn/a
            system./codeSystem
            version./codeSystemVersion
            code./code
            displayCV.displayName
            userSelectedCD.codingRationale
         text./originalText[mediaType/code="text/plain"]/data
      systemII.root or Role.id.root
      valueII.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root)
      periodRole.effectiveTime or implied by context
      assignerII.assigningAuthorityName but note that this is an improper use by the definition of the field. Also Role.scoper
   udiCarrier.id and .code
      idn/a
      extensionn/a
      modifierExtensionN/A
      deviceIdentifierRole.id.extension
      issuerRole.id.root
      jurisdictionRole.scoper
      carrierAIDCRole.id.extension
      carrierHRFRole.id.extension
      entryTypeNA
   status.statusCode
   distinctIdentifier.lotNumberText
   manufacturer.playedRole[typeCode=MANU].scoper.name
   manufactureDate.existenceTime.low
   expirationDate.expirationTime
   lotNumber.lotNumberText
   serialNumber.playedRole[typeCode=MANU].id
   deviceName
      idn/a
      extensionn/a
      modifierExtensionN/A
      type.playedRole[typeCode=MANU].code
   modelNumber.softwareName (included as part)
   partNumber.playedRole[typeCode=MANU].id
   type
      idn/a
      extensionn/a
      codingunion(., ./translation)
      coding (MDCType)union(., ./translation)
         idn/a
         extensionn/a
         system./codeSystem
         version./codeSystemVersion
         code./code
         displayCV.displayName
         userSelectedCD.codingRationale
      text./originalText[mediaType/code="text/plain"]/data
   specialization
      idn/a
      extensionn/a
      modifierExtensionN/A
      systemType
         idn/a
         extensionn/a
         codingunion(., ./translation)
         coding (MDCType)union(., ./translation)
            idn/a
            extensionn/a
            system./codeSystem
            version./codeSystemVersion
            code./code
            displayCV.displayName
            userSelectedCD.codingRationale
         text./originalText[mediaType/code="text/plain"]/data
   version
      idn/a
      extensionn/a
      modifierExtensionN/A
      type
         idn/a
         extensionn/a
         codingunion(., ./translation)
         coding (MDCType)union(., ./translation)
            idn/a
            extensionn/a
            system./codeSystem
            version./codeSystemVersion
            code./code
            displayCV.displayName
            userSelectedCD.codingRationale
         text./originalText[mediaType/code="text/plain"]/data
   property
      idn/a
      extensionn/a
      modifierExtensionN/A
      type
      valueQuantity
      valueCode
   property (bitProperties)
      idn/a
      extensionn/a
      modifierExtensionN/A
      type
         idn/a
         extensionn/a
         codingunion(., ./translation)
            idn/a
            extensionn/a
            system./codeSystem
            version./codeSystemVersion
            code./code
            displayCV.displayName
            userSelectedCD.codingRationale
         text./originalText[mediaType/code="text/plain"]/data
      valueCode
         idn/a
         extensionn/a
         codingunion(., ./translation)
         coding (V2Binary)union(., ./translation)
            idn/a
            extensionn/a
            system./codeSystem
            version./codeSystemVersion
            code./code
            displayCV.displayName
            userSelectedCD.codingRationale
         text./originalText[mediaType/code="text/plain"]/data
   property (quantitiesProperty)
      idn/a
      extensionn/a
      modifierExtensionN/A
      type
         idn/a
         extensionn/a
         codingunion(., ./translation)
         coding (MDCType)union(., ./translation)
            idn/a
            extensionn/a
            system./codeSystem
            version./codeSystemVersion
            code./code
            displayCV.displayName
            userSelectedCD.codingRationale
         text./originalText[mediaType/code="text/plain"]/data
      valueQuantity
         idn/a
         extensionn/a
         valuePQ.value, CO.value, MO.value, IVL.high or IVL.low depending on the value
         comparatorIVL properties
         unitPQ.unit
         systemCO.codeSystem, PQ.translation.codeSystem
         codePQ.code, MO.currency, PQ.translation.code
   property (codedListProperties)
      idn/a
      extensionn/a
      modifierExtensionN/A
      type
         idn/a
         extensionn/a
         codingunion(., ./translation)
            idn/a
            extensionn/a
            system./codeSystem
            version./codeSystemVersion
            code./code
            displayCV.displayName
            userSelectedCD.codingRationale
         text./originalText[mediaType/code="text/plain"]/data
      valueCode
         idn/a
         extensionn/a
         codingunion(., ./translation)
            idn/a
            extensionn/a
            system./codeSystem
            version./codeSystemVersion
            code./code
            displayCV.displayName
            userSelectedCD.codingRationale
         text./originalText[mediaType/code="text/plain"]/data
   patient.playedRole[typeCode=USED].scoper.playedRole[typeCode=PAT]
   owner.playedRole[typeCode=OWN].scoper
   contact.scopedRole[typeCode=CON].player
   location.playedRole[typeCode=LOCE].scoper
   url.telecom
   note.text
   safetyNA

Mappings for FiveWs Pattern Mapping (http://hl7.org/fhir/fivews)

Device
Device
   identifierFiveWs.identifier
   identifier (systemIdIdentifier)FiveWs.identifier
   identifier (btmacAddressIdentifier)FiveWs.identifier
   identifier (macAddressIdentifier)FiveWs.identifier
   udiCarrierFiveWs.identifier
      deviceIdentifierFiveWs.what[x]
   statusFiveWs.status
   statusReasonFiveWs.status
   distinctIdentifierFiveWs.what[x]
   manufacturerFiveWs.what[x]
   manufactureDateFiveWs.what[x]
   expirationDateFiveWs.what[x]
   lotNumberFiveWs.what[x]
   serialNumberFiveWs.what[x]
   deviceName
      typeFiveWs.what[x]
   modelNumberFiveWs.what[x]
   partNumberFiveWs.what[x]
   specialization
      versionFiveWs.what[x]
   version
      componentFiveWs.what[x]
   patientFiveWs.subject[x], FiveWs.subject
   ownerFiveWs.source
   contactFiveWs.source
   locationFiveWs.where[x]
   urlFiveWs.where[x]

Mappings for UDI Mapping (http://fda.gov/UDI)

Device
Device
   identifierThe serial number which is a component of the production identifier (PI), a conditional, variable portion of a UDI. The identifier.type code should be set to “SNO”(Serial Number) and the system left empty.
   identifier (systemIdIdentifier)The serial number which is a component of the production identifier (PI), a conditional, variable portion of a UDI. The identifier.type code should be set to “SNO”(Serial Number) and the system left empty.
   identifier (btmacAddressIdentifier)The serial number which is a component of the production identifier (PI), a conditional, variable portion of a UDI. The identifier.type code should be set to “SNO”(Serial Number) and the system left empty.
   identifier (macAddressIdentifier)The serial number which is a component of the production identifier (PI), a conditional, variable portion of a UDI. The identifier.type code should be set to “SNO”(Serial Number) and the system left empty.
   udiCarrier
      deviceIdentifierThe device identifier (DI), a mandatory, fixed portion of a UDI that identifies the labeler and the specific version or model of a device.
      issuerAll UDIs are to be issued under a system operated by an Jurisdiction-accredited issuing agency. GS1 DIs: http://hl7.org/fhir/NamingSystem/gs1 HIBCC DIs: http://hl7.org/fhir/NamingSystem/hibcc ICCBBA DIs for blood containers: http://hl7.org/fhir/NamingSystem/iccbba-blood ICCBA DIs for other devices: http://hl7.org/fhir/NamingSystem/iccbba-other
      carrierAIDCA unique device identifier (UDI) on a device label a form that uses automatic identification and data capture (AIDC) technology.
      carrierHRFA unique device identifier (UDI) on a device label in plain text
   distinctIdentifierThe lot or batch number within which a device was manufactured - which is a component of the production identifier (PI), a conditional, variable portion of a UDI.
   manufacturerN/A
   manufactureDateThe date a specific device was manufactured - which is a component of the production identifier (PI), a conditional, variable portion of a UDI. For FHIR, The datetime syntax must converted to YYYY-MM-DD[THH:MM:SS]. If hour is present, the minutes and seconds should both be set to “00”.
   expirationDatethe expiration date of a specific device - which is a component of the production identifier (PI), a conditional, variable portion of a UDI. For FHIR, The datetime syntax must converted to YYYY-MM-DD[THH:MM:SS]. If hour is present, the minutes and seconds should both be set to “00”.
   lotNumberThe lot or batch number within which a device was manufactured - which is a component of the production identifier (PI), a conditional, variable portion of a UDI.