Current Build
Patient Care Work GroupMaturity Level: N/ABallot Status: Informative Compartments: Patient, Practitioner, RelatedPerson

R3 : R4 Conversion maps for AllergyIntolerance.

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

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


uses "http://hl7.org/fhir/3.0/StructureDefinition/AllergyIntolerance" alias AllergyIntoleranceR3 as source
uses "http://hl7.org/fhir/StructureDefinition/AllergyIntolerance" alias AllergyIntolerance as target

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



group AllergyIntolerance extends DomainResource
  input src : AllergyIntoleranceR3 as source
  input tgt : AllergyIntolerance as target

  "AllergyIntolerance.identifier" : for src.identifier as vs make tgt.identifier as vt
  "AllergyIntolerance.clinicalStatus" : for src.clinicalStatus as vs make tgt.clinicalStatus as vt
  "AllergyIntolerance.verificationStatus" : for src.verificationStatus as vs make tgt.verificationStatus as vt
  "AllergyIntolerance.type" : for src.type as vs make tgt.type as vt
  "AllergyIntolerance.criticality" : for src.criticality as vs make tgt.criticality as vt
  "AllergyIntolerance.code" : for src.code as vs make tgt.code as vt
  "AllergyIntolerance.patient" : for src.patient as vs make tgt.patient as vt
  "AllergyIntolerance.onset-dateTime" : for src.onset  : dateTime as vs make tgt.onset = create("dateTime") as vt then dateTime(vs,vt)
  "AllergyIntolerance.onset-Age" : for src.onset  : Age as vs make tgt.onset = create("Age") as vt then Age(vs,vt)
  "AllergyIntolerance.onset-Period" : for src.onset  : Period as vs make tgt.onset = create("Period") as vt then Period(vs,vt)
  "AllergyIntolerance.onset-Range" : for src.onset  : Range as vs make tgt.onset = create("Range") as vt then Range(vs,vt)
  "AllergyIntolerance.onset-string" : for src.onset  : string as vs make tgt.onset = create("string") as vt then string(vs,vt)
  "AllergyIntolerance.recordedDate" : for src.assertedDate as vs make tgt.recordedDate as vt
  "AllergyIntolerance.recorder" : for src.recorder as vs make tgt.recorder as vt
  "AllergyIntolerance.asserter" : for src.asserter as vs make tgt.asserter as vt
  "AllergyIntolerance.lastOccurrence" : for src.lastOccurrence as vs make tgt.lastOccurrence as vt
  "AllergyIntolerance.note" : for src.note as vs make tgt.note as vt
  "AllergyIntolerance.reaction" : for src.reaction as vs0 make tgt.reaction as vt0 then {
    "AllergyIntolerance.reaction.substance" : for vs0.substance as vs make vt0.substance as vt
    "AllergyIntolerance.reaction.manifestation" : for vs0.manifestation as vs make vt0.manifestation as vt
    "AllergyIntolerance.reaction.description" : for vs0.description as vs make vt0.description as vt
    "AllergyIntolerance.reaction.onset" : for vs0.onset as vs make vt0.onset as vt
    "AllergyIntolerance.reaction.severity" : for vs0.severity as vs make vt0.severity as vt
    "AllergyIntolerance.reaction.exposureRoute" : for vs0.exposureRoute as vs make vt0.exposureRoute as vt
    "AllergyIntolerance.reaction.note" : for vs0.note as vs make vt0.note as vt
  }
endgroup


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


uses "http://hl7.org/fhir/StructureDefinition/AllergyIntolerance" alias AllergyIntolerance as source
uses "http://hl7.org/fhir/3.0/StructureDefinition/AllergyIntolerance" alias AllergyIntoleranceR3 as target

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



group AllergyIntolerance extends DomainResource
  input src : AllergyIntolerance as source
  input tgt : AllergyIntoleranceR3 as target

  "AllergyIntolerance.identifier" : for src.identifier as vs make tgt.identifier as vt
  "AllergyIntolerance.clinicalStatus" : for src.clinicalStatus as vs make tgt.clinicalStatus as vt
  "AllergyIntolerance.verificationStatus" : for src.verificationStatus as vs make tgt.verificationStatus as vt
  "AllergyIntolerance.type" : for src.type as vs make tgt.type as vt
  "AllergyIntolerance.criticality" : for src.criticality as vs make tgt.criticality as vt
  "AllergyIntolerance.code" : for src.code as vs make tgt.code as vt
  "AllergyIntolerance.patient" : for src.patient as vs make tgt.patient as vt
  "AllergyIntolerance.onset-dateTime" : for src.onset  : dateTime as vs make tgt.onset = create("dateTime") as vt then dateTime(vs,vt)
  "AllergyIntolerance.onset-Age" : for src.onset  : Age as vs make tgt.onset = create("Age") as vt then Age(vs,vt)
  "AllergyIntolerance.onset-Period" : for src.onset  : Period as vs make tgt.onset = create("Period") as vt then Period(vs,vt)
  "AllergyIntolerance.onset-Range" : for src.onset  : Range as vs make tgt.onset = create("Range") as vt then Range(vs,vt)
  "AllergyIntolerance.onset-string" : for src.onset  : string as vs make tgt.onset = create("string") as vt then string(vs,vt)
  "AllergyIntolerance.assertedDate" : for src.recordedDate as vs make tgt.assertedDate as vt
  "AllergyIntolerance.recorder" : for src.recorder as vs make tgt.recorder as vt
  "AllergyIntolerance.asserter" : for src.asserter as vs make tgt.asserter as vt
  "AllergyIntolerance.lastOccurrence" : for src.lastOccurrence as vs make tgt.lastOccurrence as vt
  "AllergyIntolerance.note" : for src.note as vs make tgt.note as vt
  "AllergyIntolerance.reaction" : for src.reaction as vs0 make tgt.reaction as vt0 then {
    "AllergyIntolerance.reaction.substance" : for vs0.substance as vs make vt0.substance as vt
    "AllergyIntolerance.reaction.manifestation" : for vs0.manifestation as vs make vt0.manifestation as vt
    "AllergyIntolerance.reaction.description" : for vs0.description as vs make vt0.description as vt
    "AllergyIntolerance.reaction.onset" : for vs0.onset as vs make vt0.onset as vt
    "AllergyIntolerance.reaction.severity" : for vs0.severity as vs make vt0.severity as vt
    "AllergyIntolerance.reaction.exposureRoute" : for vs0.exposureRoute as vs make vt0.exposureRoute as vt
    "AllergyIntolerance.reaction.note" : for vs0.note as vs make vt0.note as vt
  }
endgroup