This page is part of the FHIR Core Extensions Registry (v1.0.0: Releases) based on FHIR v5.0.0. This is the current published version in its permanent home (it will always be available at this URL). For a full list of available versions, see the Directory of published versions
Official URL: http://hl7.org/fhir/StructureMap/Device4Bto5 | Version: 1.0.0 | |||
Standards status: Trial-use | Maturity Level: 1 | Computable Name: Device4Bto5 |
FMLConversionforDeviceR4BtoR5
/// url = 'http://hl7.org/fhir/StructureMap/Device4Bto5' /// name = 'Device4Bto5' /// title = 'FML Conversion for Device: R4B to R5' /// status = 'active' conceptmap "DeviceNameType" { prefix s = "http://hl7.org/fhir/4.3/device-nametype" prefix t = "http://hl7.org/fhir/device-nametype" s:"udi-label-name" - t:"registered-name" s:"user-friendly-name" - t:"user-friendly-name" s:"patient-reported-name" - t:"patient-reported-name" s:"manufacturer-name" - t:"registered-name" s:"model-name" - t:"registered-name" s:other - t:"registered-name" } conceptmap "FHIRDeviceStatus" { prefix s = "http://hl7.org/fhir/4.3/device-status" prefix t = "http://hl7.org/fhir/device-status" s:active - t:active s:inactive - t:inactive s:"entered-in-error" - t:"entered-in-error" } conceptmap "UDIEntryType" { prefix s = "http://hl7.org/fhir/4.3/udi-entry-type" prefix t = "http://hl7.org/fhir/udi-entry-type" s:barcode - t:barcode s:rfid - t:rfid s:manual - t:manual s:card - t:card s:"self-reported" - t:"self-reported" s:unknown - t:unknown } uses "http://hl7.org/fhir/4.3/StructureDefinition/Device" alias DeviceR4B as source uses "http://hl7.org/fhir/StructureDefinition/Device" alias DeviceR5 as target imports "http://hl7.org/fhir/StructureMap/*4Bto5" group Device(source src : DeviceR4B, target tgt : DeviceR5) extends DomainResource <<type+>> { src.identifier -> tgt.identifier; src.definition -> tgt.definition; // src.displayName -> tgt.displayName; src.udiCarrier as s -> tgt.udiCarrier as t then DeviceUdiCarrier(s, t); src.status as v -> tgt.status = translate(v, '#FHIRDeviceStatus', 'code'); src.manufacturer -> tgt.manufacturer; // src.availabilityStatus -> tgt.availabilityStatus; src.manufactureDate -> tgt.manufactureDate; src.expirationDate -> tgt.expirationDate; src.lotNumber -> tgt.lotNumber; src.serialNumber -> tgt.serialNumber; src.deviceName as s -> tgt.name as t then DeviceName(s, t); src.modelNumber -> tgt.modelNumber; src.partNumber -> tgt.partNumber; src.type -> tgt.type; // src.category -> tgt.category; src.version as s -> tgt.version as t then DeviceVersion(s, t); src.property as s -> tgt.property as t then DeviceProperty(s, t); // src.conformsTo as s -> tgt.conformsTo as t then DeviceConformsTo(s,t); src.owner -> tgt.owner; // src.mode -> tgt.mode; src.contact -> tgt.contact; src.location -> tgt.location; src.url -> tgt.url; src.note -> tgt.note; // src.endpoint -> tgt.endpoint; src.safety -> tgt.safety; src.parent -> tgt.parent; } group DeviceUdiCarrier(source src, target tgt) extends BackboneElement { src.deviceIdentifier -> tgt.deviceIdentifier; src.issuer -> tgt.issuer; src.jurisdiction -> tgt.jurisdiction; src.carrierAIDC -> tgt.carrierAIDC; src.carrierHRF -> tgt.carrierHRF; src.entryType as v -> tgt.entryType = translate(v, '#UDIEntryType', 'code'); } group DeviceName(source src, target tgt) extends BackboneElement { src.name -> tgt.value; src.type as v -> tgt.type = translate(v, '#DeviceNameType', 'code'); } group DeviceVersion(source src, target tgt) extends BackboneElement { src.type -> tgt.type; src.component -> tgt.component; src.value -> tgt.value; // src.installDate -> tgt.installDate; } // group DeviceConformsTo(source src, target tgt) extends BackboneElement { // src.category -> tgt.category; // src.specification -> tgt.specification; // src.version -> tgt.version; // } group DeviceProperty(source src, target tgt) extends BackboneElement { src.type -> tgt.type; src.valueQuantity : Quantity -> tgt.value; src.valueCode : CodeableConcept -> tgt.value; }