R4 Ballot #2 (Mixed Normative/Trial use)

This page is part of the FHIR Specification (v3.5.0: R4 Ballot #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

FHIR Infrastructure Work GroupMaturity Level: N/ABallot Status: Informative Compartments: Device, Patient, Practitioner

R3 : R4 Conversion maps for Group.

Functional status for this map: 2 tests that all execute ok. 2 fail round-trip testing and 2 r3 resources are invalid (0 errors). (see documentation)

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


uses "http://hl7.org/fhir/3.0/StructureDefinition/Group" alias GroupR3 as source
uses "http://hl7.org/fhir/StructureDefinition/Group" alias Group as target

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



group Group extends DomainResource
  input src : GroupR3 as source
  input tgt : Group as target

  "Group.identifier" : for src.identifier as vs make tgt.identifier as vt
  "Group.active" : for src.active as vs make tgt.active as vt
  "Group.type" : for src.type as vs make tgt.type as vt
  "Group.actual" : for src.actual as vs make tgt.actual as vt
  "Group.code" : for src.code as vs make tgt.code as vt
  "Group.name" : for src.name as vs make tgt.name as vt
  "Group.quantity" : for src.quantity as vs make tgt.quantity as vt
  "Group.characteristic" : for src.characteristic as vs0 make tgt.characteristic as vt0 then {
    "Group.characteristic.code" : for vs0.code as vs make vt0.code as vt
    "Group.characteristic.value-CodeableConcept" : for vs0.value  : CodeableConcept as vs make vt0.value = create("CodeableConcept") as vt then CodeableConcept(vs,vt)
    "Group.characteristic.value-boolean" : for vs0.value  : boolean as vs make vt0.value = create("boolean") as vt then boolean(vs,vt)
    "Group.characteristic.value-Quantity" : for vs0.value  : Quantity as vs make vt0.value = create("Quantity") as vt then Quantity(vs,vt)
    "Group.characteristic.value-Range" : for vs0.value  : Range as vs make vt0.value = create("Range") as vt then Range(vs,vt)
    "Group.characteristic.exclude" : for vs0.exclude as vs make vt0.exclude as vt
    "Group.characteristic.period" : for vs0.period as vs make vt0.period as vt
  }
  "Group.member" : for src.member as vs0 make tgt.member as vt0 then {
    "Group.member.entity" : for vs0.entity as vs make vt0.entity as vt
    "Group.member.period" : for vs0.period as vs make vt0.period as vt
    "Group.member.inactive" : for vs0.inactive as vs make vt0.inactive as vt
  }
endgroup


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


uses "http://hl7.org/fhir/StructureDefinition/Group" alias Group as source
uses "http://hl7.org/fhir/3.0/StructureDefinition/Group" alias GroupR3 as target

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



group Group extends DomainResource
  input src : Group as source
  input tgt : GroupR3 as target

  "Group.identifier" : for src.identifier as vs make tgt.identifier as vt
  "Group.active" : for src.active as vs make tgt.active as vt
  "Group.type" : for src.type as vs make tgt.type as vt
  "Group.actual" : for src.actual as vs make tgt.actual as vt
  "Group.code" : for src.code as vs make tgt.code as vt
  "Group.name" : for src.name as vs make tgt.name as vt
  "Group.quantity" : for src.quantity as vs make tgt.quantity as vt
  "Group.characteristic" : for src.characteristic as vs0 make tgt.characteristic as vt0 then {
    "Group.characteristic.code" : for vs0.code as vs make vt0.code as vt
    "Group.characteristic.value-CodeableConcept" : for vs0.value  : CodeableConcept as vs make vt0.value = create("CodeableConcept") as vt then CodeableConcept(vs,vt)
    "Group.characteristic.value-boolean" : for vs0.value  : boolean as vs make vt0.value = create("boolean") as vt then boolean(vs,vt)
    "Group.characteristic.value-Quantity" : for vs0.value  : Quantity as vs make vt0.value = create("Quantity") as vt then Quantity(vs,vt)
    "Group.characteristic.value-Range" : for vs0.value  : Range as vs make vt0.value = create("Range") as vt then Range(vs,vt)
    "Group.characteristic.exclude" : for vs0.exclude as vs make vt0.exclude as vt
    "Group.characteristic.period" : for vs0.period as vs make vt0.period as vt
  }
  "Group.member" : for src.member as vs0 make tgt.member as vt0 then {
    "Group.member.entity" : for vs0.entity as vs make vt0.entity as vt
    "Group.member.period" : for vs0.period as vs make vt0.period as vt
    "Group.member.inactive" : for vs0.inactive as vs make vt0.inactive as vt
  }
endgroup