R4 Ballot #2 (Mixed Normative/Trial use)

This page is part of the FHIR Specification (v3.5.0: R4 Ballot #2). The current version which supercedes this version is 5.0.0. For a full list of available versions, see the Directory of published versions . Page versions: R5 R4B R4 R3

Structured Documents Work GroupMaturity Level: N/ABallot Status: Informative Compartments: Device, Encounter, Patient, Practitioner, RelatedPerson

R3 : R4 Conversion maps for DocumentReference.

Functional status for this map: 1 test of which 1 fail to execute. (see documentation)

map "http://hl7.org/fhir/StructureMap/DocumentReference3to4" = "R3 to R4 Conversions for DocumentReference"


uses "http://hl7.org/fhir/3.0/StructureDefinition/DocumentReference" alias DocumentReferenceR3 as source
uses "http://hl7.org/fhir/StructureDefinition/DocumentReference" alias DocumentReference as target

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



group DocumentReference extends DomainResource
  input src : DocumentReferenceR3 as source
  input tgt : DocumentReference as target

  "DocumentReference.masterIdentifier" : for src.masterIdentifier as vs make tgt.masterIdentifier as vt
  "DocumentReference.identifier" : for src.identifier as vs make tgt.identifier as vt
  "DocumentReference.status" : for src.status as vs make tgt.status as vt
  "DocumentReference.docStatus" : for src.docStatus as vs make tgt.docStatus as vt
  "DocumentReference.type" : for src.type as vs make tgt.type as vt
  "DocumentReference.class" : for src.class as vs make tgt.class as vt
  "DocumentReference.subject" : for src.subject as vs make tgt.subject as vt
  "DocumentReference.created" : for src.created as vs make tgt.created as vt
  "DocumentReference.custodian" : for src.custodian as vs make tgt.custodian as vt
  "DocumentReference.relatesTo" : for src.relatesTo as vs0 make tgt.relatesTo as vt0 then {
    "DocumentReference.relatesTo.code" : for vs0.code as vs make vt0.code as vt
    "DocumentReference.relatesTo.target" : for vs0.target as vs make vt0.target as vt
  }
  "DocumentReference.description" : for src.description as vs make tgt.description as vt
  "DocumentReference.securityLabel" : for src.securityLabel as vs make tgt.securityLabel as vt
  "DocumentReference.content" : for src.content as vs0 make tgt.content as vt0 then {
    "DocumentReference.content.attachment" : for vs0.attachment as vs make vt0.attachment as vt
    "DocumentReference.content.format" : for vs0.format as vs make vt0.format as vt
  }
  "DocumentReference.context" : for src.context as vs0 make tgt.context as vt0 then {
    "DocumentReference.context.encounter" : for vs0.encounter as vs make vt0.encounter as vt
    "DocumentReference.context.event" : for vs0.event as vs make vt0.event as vt
    "DocumentReference.context.period" : for vs0.period as vs make vt0.period as vt
    "DocumentReference.context.facilityType" : for vs0.facilityType as vs make vt0.facilityType as vt
    "DocumentReference.context.practiceSetting" : for vs0.practiceSetting as vs make vt0.practiceSetting as vt
    "DocumentReference.context.sourcePatientInfo" : for vs0.sourcePatientInfo as vs make vt0.sourcePatientInfo as vt
  }
endgroup


map "http://hl7.org/fhir/StructureMap/DocumentReference4to3" = "R4 to R3 Conversion for DocumentReference"


uses "http://hl7.org/fhir/StructureDefinition/DocumentReference" alias DocumentReference as source
uses "http://hl7.org/fhir/3.0/StructureDefinition/DocumentReference" alias DocumentReferenceR3 as target

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



group DocumentReference extends DomainResource
  input src : DocumentReference as source
  input tgt : DocumentReferenceR3 as target

  "DocumentReference.masterIdentifier" : for src.masterIdentifier as vs make tgt.masterIdentifier as vt
  "DocumentReference.identifier" : for src.identifier as vs make tgt.identifier as vt
  "DocumentReference.status" : for src.status as vs make tgt.status as vt
  "DocumentReference.docStatus" : for src.docStatus as vs make tgt.docStatus as vt
  "DocumentReference.type" : for src.type as vs make tgt.type as vt
  "DocumentReference.class" : for src.class as vs make tgt.class as vt
  "DocumentReference.subject" : for src.subject as vs make tgt.subject as vt
  "DocumentReference.created" : for src.created as vs make tgt.created as vt
  "DocumentReference.custodian" : for src.custodian as vs make tgt.custodian as vt
  "DocumentReference.relatesTo" : for src.relatesTo as vs0 make tgt.relatesTo as vt0 then {
    "DocumentReference.relatesTo.code" : for vs0.code as vs make vt0.code as vt
    "DocumentReference.relatesTo.target" : for vs0.target as vs make vt0.target as vt
  }
  "DocumentReference.description" : for src.description as vs make tgt.description as vt
  "DocumentReference.securityLabel" : for src.securityLabel as vs make tgt.securityLabel as vt
  "DocumentReference.content" : for src.content as vs0 make tgt.content as vt0 then {
    "DocumentReference.content.attachment" : for vs0.attachment as vs make vt0.attachment as vt
    "DocumentReference.content.format" : for vs0.format as vs make vt0.format as vt
  }
  "DocumentReference.context" : for src.context as vs0 make tgt.context as vt0 then {
    "DocumentReference.context.encounter" : for vs0.encounter as vs make vt0.encounter as vt
    "DocumentReference.context.event" : for vs0.event as vs make vt0.event as vt
    "DocumentReference.context.period" : for vs0.period as vs make vt0.period as vt
    "DocumentReference.context.facilityType" : for vs0.facilityType as vs make vt0.facilityType as vt
    "DocumentReference.context.practiceSetting" : for vs0.practiceSetting as vs make vt0.practiceSetting as vt
    "DocumentReference.context.sourcePatientInfo" : for vs0.sourcePatientInfo as vs make vt0.sourcePatientInfo as vt
  }
endgroup