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: R4 to R3

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

ImmunizationRecommendationTransformsR4toR3

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

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