This page is part of the FHIR Specification (v4.3.0: R4B -  STU). This is a downloaded version of the specification.  For a full list of available versions, see the Directory of published versions 
Public Health and Emergency Response   Work Group | Maturity Level: N/A | Standards Status: Informative | Security Category: Patient | Compartments: Patient | 
R3 : R4 Conversion maps for ImmunizationRecommendation.
Functional status for this map: 1 test that all execute ok. All tests pass round-trip testing and all r3 resources are valid. (see documentation)
map "http://hl7.org/fhir/StructureMap/ImmunizationRecommendation3to4" = "R3 to R4 Conversions for ImmunizationRecommendation"
uses "http://hl7.org/fhir/3.0/StructureDefinition/ImmunizationRecommendation" alias ImmunizationRecommendationR3 as source
uses "http://hl7.org/fhir/StructureDefinition/ImmunizationRecommendation" alias ImmunizationRecommendation as target
imports "http://hl7.org/fhir/StructureMap/*3to4"
group ImmunizationRecommendation(source src : ImmunizationRecommendationR3, target tgt : ImmunizationRecommendation) extends DomainResource <<type+>> {
  src.identifier -> tgt.identifier;
  src.patient -> tgt.patient;
  src.recommendation as s -> tgt.recommendation as t then recommendation(s, t, tgt);
}
group recommendation(source src, target tgt, target res) extends BackboneElement {
  src.date -> res.date;
  src.vaccineCode -> tgt.vaccineCode;
  src.targetDisease -> tgt.targetDisease;
  src.doseNumber as vs -> tgt.doseNumber = create('positiveInt') as vt then positiveInt(vs, vt);
  src.forecastStatus -> tgt.forecastStatus;
  src.dateCriterion as s -> tgt.dateCriterion as t then dateCriterion(s, t);
  src.protocol as s then {
    s.description -> tgt.description;
    s.doseSequence as vs -> tgt.seriesDoses = create('positiveInt') as vt then positiveInt(vs, vt);
    s.authority -> res.authority;
    s.series -> tgt.series;
  };
  src.series -> tgt.series;
  src.supportingImmunization -> tgt.supportingImmunization;
  src.supportingPatientInformation -> tgt.supportingPatientInformation;
}
group dateCriterion(source src, target tgt) extends BackboneElement {
  src.code -> tgt.code;
  src.value -> tgt.value;
}
map "http://hl7.org/fhir/StructureMap/ImmunizationRecommendation4to3" = "R4 to R3 Conversion for ImmunizationRecommendation"
uses "http://hl7.org/fhir/StructureDefinition/ImmunizationRecommendation" alias ImmunizationRecommendation as source
uses "http://hl7.org/fhir/3.0/StructureDefinition/ImmunizationRecommendation" alias ImmunizationRecommendationR3 as target
imports "http://hl7.org/fhir/StructureMap/*4to3"
group ImmunizationRecommendation(source src : ImmunizationRecommendationR3, target tgt : ImmunizationRecommendation) extends DomainResource <<type+>> {
  src.identifier -> tgt.identifier;
  src.patient -> tgt.patient;
  src.recommendation as s -> tgt.recommendation as t then recommendation(s, t, src);
}
group recommendation(source src, target tgt, source res) extends BackboneElement {
  res.date -> tgt.date;
  src.vaccineCode -> tgt.vaccineCode;
  src.targetDisease -> tgt.targetDisease;
  src.doseNumber : positiveInt as vs -> tgt.doseNumber as vt then positiveInt(vs, vt);
  src.forecastStatus -> tgt.forecastStatus;
  src.dateCriterion as s -> tgt.dateCriterion as t then dateCriterion(s, t);
  src.description as v ->  tgt.protocol as t,  t.description = v;
  src.seriesDoses : positiveInt as v ->  tgt.protocol as t,  t.doseSequence = v;
  res.authority as v ->  tgt.protocol as t,  t.authority = v;
  src.series as v ->  tgt.protocol as t,  t.series = v;
  src.supportingImmunization -> tgt.supportingImmunization;
  src.supportingPatientInformation -> tgt.supportingPatientInformation;
}
group dateCriterion(source src, target tgt) extends BackboneElement {
  src.code -> tgt.code;
  src.value -> tgt.value;
}