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

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

DocumentManifestTransformsR4toR3

/// url = 'http://hl7.org/fhir/StructureMap/DocumentManifest4to3'
/// name = 'Manifest4to3'
/// title = 'DocumentManifest Transforms: R4 to R3'
/// status = 'active'

uses "http://hl7.org/fhir/4.0/DocumentManifest" alias DocumentManifest as source
uses "http://hl7.org/fhir/3.0/DocumentManifest" alias DocumentManifestR3 as target

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

group DocumentManifest(source src : DocumentManifestR3, target tgt : DocumentManifest) extends DomainResource <<type+>> {
  src.masterIdentifier -> tgt.masterIdentifier;
  src.identifier -> tgt.identifier;
  src.status -> tgt.status;
  src.type -> tgt.type;
  src.subject -> tgt.subject;
  src.created -> tgt.created;
  src.agent as s where type.coding.where((system = 'http://terminology.hl7.org/CodeSystem/v3-ParticipationType') and (code = 'AUT')).exists() -> tgt.author as t then DocumentManifestAgent(s, t);
  src.recipient -> tgt.recipient;
  src.source -> tgt.source;
  src.description -> tgt.description;
  src.content as s -> tgt.content as t then content(s, t);
  src.related as s -> tgt.related as t then DocumentManifestRelated(s, t);
}

group DocumentManifestAgent(source src, target tgt) extends BackboneElement {
  src.who as vs0 then Reference(vs0, tgt);
}

group content(source src, target tgt) extends Element {
  src.extension as s where url = 'http://hl7.org/fhir/3.0/StructureDefinition/extension-DocumentManifest.content.p_Attachment' then contentAttachment(s, tgt);
  src where extension.where(url = 'http://hl7.org/fhir/3.0/StructureDefinition/extension-DocumentManifest.content.p_Attachment').empty() -> tgt.p = create('Reference') as p then Reference(src, p) "attachment";
}

group contentAttachment(source src, target tgt) extends Element {
  src.value : Attachment as s -> tgt.p = create('Attachment') as t then Attachment(s, t);
}

group DocumentManifestRelated(source src, target tgt) extends BackboneElement {
  src.identifier -> tgt.identifier;
  src.ref -> tgt.ref;
}