R4 Ballot #1 #2 (Mixed Normative/Trial use)

This page is part of the FHIR Specification (v3.3.0: (v3.5.0: R4 Ballot 2). #2). The current version which supercedes this version is 5.0.0 . For a full list of available versions, see the Directory of published versions . Page versions: R5 R4B R4 R3

Orders and Observations Work Group Maturity Level : N/A Ballot Status : Informative Compartments : Patient , Practitioner

R2 : R3 : R4 Conversion maps for SupplyDelivery.

Functional status for this map: 1 test that all execute ok. All 2 tests pass round-trip testing and all r3 resources are valid. of which 2 fail to execute . ( see documentation)

map "http://hl7.org/fhir/StructureMap/SupplyDelivery2to3" = "R2 to R3 Conversions for SupplyDelivery"

map "http://hl7.org/fhir/StructureMap/SupplyDelivery3to4" = "R3 to R4 Conversions for SupplyDelivery"


uses "http://hl7.org/fhir/DSTU2/StructureDefinition/SupplyDelivery" alias SupplyDeliveryR2 as source


uses "http://hl7.org/fhir/3.0/StructureDefinition/SupplyDelivery" alias SupplyDeliveryR3 as source

uses "http://hl7.org/fhir/StructureDefinition/SupplyDelivery" alias SupplyDelivery as target

imports "http://hl7.org/fhir/StructureMap/*2to3"

imports "http://hl7.org/fhir/StructureMap/*3to4"


group for type+types  SupplyDelivery extends DomainResource
  input src : SupplyDeliveryR2 as source
  input tgt : SupplyDelivery as target


  "SupplyDelivery-identifier" : for src.identifier make tgt.identifier
  "SupplyDelivery-status" : for src.status make tgt.status
  "SupplyDelivery-patient" : for src.patient make tgt.patient
  "SupplyDelivery-type" : for src.type make tgt.type
  "SupplyDelivery-quantity" : for src.quantity as v make tgt.suppliedItem as si, si.quantity = v
  "SupplyDelivery-suppliedItem" : for src.suppliedItem as v make tgt.suppliedItem as si, si.item = v
  "SupplyDelivery-supplier" : for src.supplier make tgt.supplier
  "SupplyDelivery-whenPrepared" : for src.whenPrepared as v make tgt.extension as t, t.url = 'http://hl7.org/fhir/SupplyDelivery-r2-whenPrepared', t.value = v
  "SupplyDelivery-time" : for src.time make tgt.occurrence
  "SupplyDelivery-destination" : for src.destination make tgt.destination
  "SupplyDelivery-receiver" : for src.receiver make tgt.receiver


group SupplyDelivery extends DomainResource
  input src : SupplyDeliveryR3 as source
  input tgt : SupplyDelivery as target

  "SupplyDelivery.identifier" : for src.identifier as vs make tgt.identifier as vt
  "SupplyDelivery.basedOn" : for src.basedOn as vs make tgt.basedOn as vt
  "SupplyDelivery.partOf" : for src.partOf as vs make tgt.partOf as vt
  "SupplyDelivery.status" : for src.status as vs make tgt.status as vt
  "SupplyDelivery.patient" : for src.patient as vs make tgt.patient as vt
  "SupplyDelivery.type" : for src.type as vs make tgt.type as vt
  "SupplyDelivery.suppliedItem" : for src.suppliedItem as vs0 make tgt.suppliedItem as vt0 then {
    "SupplyDelivery.suppliedItem.quantity" : for vs0.quantity as vs make vt0.quantity as vt
    "SupplyDelivery.suppliedItem.item-CodeableConcept" : for vs0.item  : CodeableConcept as vs make vt0.item = create("CodeableConcept") as vt then CodeableConcept(vs,vt)
    "SupplyDelivery.suppliedItem.item-Reference" : for vs0.item  : Reference as vs make vt0.item = create("Reference") as vt then Reference(vs,vt)
  }
  "SupplyDelivery.occurrence-dateTime" : for src.occurrence  : dateTime as vs make tgt.occurrence = create("dateTime") as vt then dateTime(vs,vt)
  "SupplyDelivery.occurrence-Period" : for src.occurrence  : Period as vs make tgt.occurrence = create("Period") as vt then Period(vs,vt)
  "SupplyDelivery.occurrence-Timing" : for src.occurrence  : Timing as vs make tgt.occurrence = create("Timing") as vt then Timing(vs,vt)
  "SupplyDelivery.supplier" : for src.supplier as vs make tgt.supplier as vt
  "SupplyDelivery.destination" : for src.destination as vs make tgt.destination as vt
  "SupplyDelivery.receiver" : for src.receiver as vs make tgt.receiver as vt

endgroup



map "http://hl7.org/fhir/StructureMap/SupplyDelivery3to2" = "R3 to R2 Conversion for SupplyDelivery"

map "http://hl7.org/fhir/StructureMap/SupplyDelivery4to3" = "R4 to R3 Conversion for SupplyDelivery"


uses "http://hl7.org/fhir/StructureDefinition/SupplyDelivery" alias SupplyDelivery as source
uses "http://hl7.org/fhir/DSTU2/StructureDefinition/SupplyDelivery" alias SupplyDeliveryR2 as target


imports "http://hl7.org/fhir/StructureMap/*3to2"

uses "http://hl7.org/fhir/StructureDefinition/SupplyDelivery" alias SupplyDelivery as source
uses "http://hl7.org/fhir/3.0/StructureDefinition/SupplyDelivery" alias SupplyDeliveryR3 as target


group for type+types  SupplyDelivery extends DomainResource
  input src : SupplyDelivery as source
  input tgt : SupplyDeliveryR2 as target

imports "http://hl7.org/fhir/StructureMap/*4to3"


  "SupplyDelivery-identifier" : for src.identifier make tgt.identifier
  "SupplyDelivery-status" : for src.status make tgt.status
  "SupplyDelivery-patient" : for src.patient make tgt.patient
  "SupplyDelivery-type" : for src.type make tgt.type
  "SupplyDelivery-suppliedItem" : for src.suppliedItem as v then sdvItem(v, tgt)
  "SupplyDelivery-supplier" : for src.supplier make tgt.supplier
  "SupplyDelivery-whenPrepared" : for src.extension as e where e.url = 'http://hl7.org/fhir/SupplyDelivery-r2-whenPrepared' make tgt.whenPrepared = (e.value)
  "SupplyDelivery-time" : for src.occurrence as v where v.is(dateTime) make tgt.time = v
  "SupplyDelivery-destination" : for src.destination make tgt.destination
  "SupplyDelivery-receiver" : for src.receiver make tgt.receiver


endgroup


group sdvItem extends BackboneElement
  input src as source
  input tgt as target

group SupplyDelivery extends DomainResource
  input src : SupplyDelivery as source
  input tgt : SupplyDeliveryR3 as target


  "SupplyDelivery.item-quantity" : for src.quantity make tgt.quantity
  "SupplyDelivery.item-quantity" : for src.item make tgt.suppliedItem

  "SupplyDelivery.identifier" : for src.identifierFirstRep as vs make tgt.identifier as vt
  "SupplyDelivery.basedOn" : for src.basedOn as vs make tgt.basedOn as vt
  "SupplyDelivery.partOf" : for src.partOf as vs make tgt.partOf as vt
  "SupplyDelivery.status" : for src.status as vs make tgt.status as vt
  "SupplyDelivery.patient" : for src.patient as vs make tgt.patient as vt
  "SupplyDelivery.type" : for src.type as vs make tgt.type as vt
  "SupplyDelivery.suppliedItem" : for src.suppliedItem as vs0 make tgt.suppliedItem as vt0 then {
    "SupplyDelivery.suppliedItem.quantity" : for vs0.quantity as vs make vt0.quantity as vt
    "SupplyDelivery.suppliedItem.item-CodeableConcept" : for vs0.item  : CodeableConcept as vs make vt0.item = create("CodeableConcept") as vt then CodeableConcept(vs,vt)
    "SupplyDelivery.suppliedItem.item-Reference" : for vs0.item  : Reference as vs make vt0.item = create("Reference") as vt then Reference(vs,vt)
  }
  "SupplyDelivery.occurrence-dateTime" : for src.occurrence  : dateTime as vs make tgt.occurrence = create("dateTime") as vt then dateTime(vs,vt)
  "SupplyDelivery.occurrence-Period" : for src.occurrence  : Period as vs make tgt.occurrence = create("Period") as vt then Period(vs,vt)
  "SupplyDelivery.occurrence-Timing" : for src.occurrence  : Timing as vs make tgt.occurrence = create("Timing") as vt then Timing(vs,vt)
  "SupplyDelivery.supplier" : for src.supplier as vs make tgt.supplier as vt
  "SupplyDelivery.destination" : for src.destination as vs make tgt.destination as vt
  "SupplyDelivery.receiver" : for src.receiver as vs make tgt.receiver as vt

endgroup