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: Condition Transforms: R4B to R5

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

ConditionTransformsR4BtoR5

/// url = 'http://hl7.org/fhir/StructureMap/Condition4Bto5'
/// name = 'Condition4Bto5'
/// title = 'Condition Transforms: R4B to R5'
/// status = 'active'

uses "http://hl7.org/fhir/4.3/Condition" alias ConditionR4B as source
uses "http://hl7.org/fhir/5.0/Condition" alias ConditionR5 as target

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

group Condition(source src : ConditionR4B, target tgt : ConditionR5) extends DomainResource <<type+>> {
  src.identifier -> tgt.identifier;
  src.clinicalStatus -> tgt.clinicalStatus;
  src.verificationStatus -> tgt.verificationStatus;
  src.category -> tgt.category;
  src.severity -> tgt.severity;
  src.code -> tgt.code;
  src.bodySite -> tgt.bodySite;
  src.subject -> tgt.subject;
  src.encounter -> tgt.encounter;
  src.onset : dateTime -> tgt.onset;
  src.onset : Age -> tgt.onset;
  src.onset : Period -> tgt.onset;
  src.onset : Range -> tgt.onset;
  src.onset : string -> tgt.onset;
  src.abatement : dateTime -> tgt.abatement;
  src.abatement : Age -> tgt.abatement;
  src.abatement : Period -> tgt.abatement;
  src.abatement : Range -> tgt.abatement;
  src.abatement : string -> tgt.abatement;
  src.recordedDate -> tgt.recordedDate;
  src.recorder as s -> tgt.participant as t then ConditionRecorder(s, t);
  src.asserter as s -> tgt.participant as t then ConditionAsserter(s, t);
  src.stage as s -> tgt.stage as t then ConditionStage(s, t);
  src.evidence as s -> tgt then {
    s.code : CodeableConcept as c -> tgt.evidence;
    s.detail : Reference as d -> tgt.evidence;
  };
  src.note -> tgt.note;
}

group ConditionStage(source src, target tgt) extends BackboneElement {
  src.summary -> tgt.summary;
  src.assessment -> tgt.assessment;
  src.type -> tgt.type;
}

group ConditionRecorder(source src, target tgt) extends BackboneElement {
  src.reference as v ->  tgt.function = create('CodeableConcept') as t,  t.coding = create('Coding') as tc,  tc.system = 'http://terminology.hl7.org/CodeSystem/provenance-participant-type',  tc.code = 'enterer',  tc.display = 'Enterer';
  src : Reference as v -> tgt.actor = v "reference";
}

group ConditionAsserter(source src, target tgt) extends BackboneElement {
  src.reference as v ->  tgt.function = create('CodeableConcept') as t,  t.coding = create('Coding') as tc,  tc.system = 'http://terminology.hl7.org/CodeSystem/provenance-participant-type',  tc.code = 'author',  tc.display = 'Author';
  src : Reference as v -> tgt.actor = v "reference";
}