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

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

TestReportTransformsR3toR4

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

uses "http://hl7.org/fhir/3.0/TestReport" alias TestReportR3 as source
uses "http://hl7.org/fhir/4.0/TestReport" alias TestReport as target

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

group TestReport(source src : TestReportR3, target tgt : TestReport) extends DomainResource <<type+>> {
  src.identifier -> tgt.identifier;
  src.name -> tgt.name;
  src.status -> tgt.status;
  src.testScript -> tgt.testScript;
  src.result -> tgt.result;
  src.score -> tgt.score;
  src.tester -> tgt.tester;
  src.issued -> tgt.issued;
  src.participant as vs0 -> tgt.participant as vt0 then participant(vs0, vt0);
  src.setup as vs0 -> tgt.setup as vt0 then setup(vs0, vt0);
  src.test as vs0 -> tgt.test as vt0 then test(vs0, vt0);
  src.teardown as vs0 -> tgt.teardown as vt0 then teardown(vs0, vt0);
}

group participant(source src, target tgt) extends BackboneElement {
  src.type -> tgt.type;
  src.uri -> tgt.uri;
  src.display -> tgt.display;
}

group setup(source src, target tgt) extends BackboneElement {
  src.action as vs0 -> tgt.action as vt0 then action(vs0, vt0);
}

group teardown(source src, target tgt) extends BackboneElement {
  src.action as vs0 -> tgt.action as vt0 then actionNA(vs0, vt0);
}

group test(source src, target tgt) extends BackboneElement {
  src.name -> tgt.name;
  src.description -> tgt.description;
  src.action as vs0 -> tgt.action as vt0 then action(vs0, vt0);
}

group action(source src, target tgt) extends BackboneElement {
  src.operation as vs0 -> tgt.operation as vt0 then operation(vs0, vt0);
  src.assert as vs0 -> tgt.assert as vt0 then assert(vs0, vt0);
}

group actionNA(source src, target tgt) extends BackboneElement {
  src.operation as vs0 -> tgt.operation as vt0 then operation(vs0, vt0);
}

group operation(source src, target tgt) extends BackboneElement {
  src.result -> tgt.result;
  src.message -> tgt.message;
  src.detail -> tgt.detail;
}

group assert(source src, target tgt) extends BackboneElement {
  src.result -> tgt.result;
  src.message -> tgt.message;
  src.detail -> tgt.detail;
}