FHIR Cross-Version Mapping Pack
0.1.0 - Ballot for Release 5.1.0 International flag

FHIR Cross-Version Mapping Pack, published by HL7 International / FHIR Infrastructure. This guide is not an authorized publication; it is the continuous build for version 0.1.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/fhir-cross-version/ and changes regularly. See the Directory of published versions

StructureMap: ImmunizationRecommendation Transforms: R3 to R4

Official URL: http://hl7.org/fhir/StructureMap/ImmunizationRecommendation3to4 Version: 0.1.0
Standards status: Draft Maturity Level: 1 Computable Name: ImmunizationRecommendation3to4

ImmunizationRecommendationTransformsR3toR4

/// url = 'http://hl7.org/fhir/StructureMap/ImmunizationRecommendation3to4'
/// name = 'ImmunizationRecommendation3to4'
/// title = 'ImmunizationRecommendation Transforms: R3 to R4'
/// status = 'active'

uses "http://hl7.org/fhir/3.0/ImmunizationRecommendation" alias ImmunizationRecommendationR3 as source
uses "http://hl7.org/fhir/4.0/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;
}