Current Build
FHIR Infrastructure Work GroupMaturity Level: N/ABallot Status: Informative Compartments: Not linked to any defined compartments

R3 : R4 Conversion maps for StructureDefinition.

Functional status for this map: 206 tests of which 140 fail to execute. 66 fail round-trip testing and 66 r3 resources are invalid (0 errors). (see documentation)

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


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

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



group StructureDefinition extends DomainResource
  input src : StructureDefinitionR3 as source
  input tgt : StructureDefinition as target

  "StructureDefinition.url" : for src.url as vs make tgt.url as vt
  "StructureDefinition.identifier" : for src.identifier as vs make tgt.identifier as vt
  "StructureDefinition.version" : for src.version as vs make tgt.version as vt
  "StructureDefinition.name" : for src.name as vs make tgt.name as vt
  "StructureDefinition.title" : for src.title as vs make tgt.title as vt
  "StructureDefinition.status" : for src.status as vs make tgt.status as vt
  "StructureDefinition.experimental" : for src.experimental as vs make tgt.experimental as vt
  "StructureDefinition.date" : for src.date as vs make tgt.date as vt
  "StructureDefinition.publisher" : for src.publisher as vs make tgt.publisher as vt
  "StructureDefinition.contact" : for src.contact as vs make tgt.contact as vt
  "StructureDefinition.description" : for src.description as vs make tgt.description as vt
  "StructureDefinition.useContext" : for src.useContext as vs make tgt.useContext as vt
  "StructureDefinition.jurisdiction" : for src.jurisdiction as vs make tgt.jurisdiction as vt
  "StructureDefinition.purpose" : for src.purpose as vs make tgt.purpose as vt
  "StructureDefinition.copyright" : for src.copyright as vs make tgt.copyright as vt
  "StructureDefinition.keyword" : for src.keyword as vs make tgt.keyword as vt
  "StructureDefinition.fhirVersion" : for src.fhirVersion as vs make tgt.fhirVersion as vt
  "StructureDefinition.mapping" : for src.mapping as vs0 make tgt.mapping as vt0 then {
    "StructureDefinition.mapping.identity" : for vs0.identity as vs make vt0.identity as vt
    "StructureDefinition.mapping.uri" : for vs0.uri as vs make vt0.uri as vt
    "StructureDefinition.mapping.name" : for vs0.name as vs make vt0.name as vt
    "StructureDefinition.mapping.comment" : for vs0.comment as vs make vt0.comment as vt
  }
  "StructureDefinition.kind" : for src.kind as vs make tgt.kind as vt
  "StructureDefinition.abstract" : for src.abstract as vs make tgt.abstract as vt
  "StructureDefinition.contextInvariant" : for src.contextInvariant as vs make tgt.contextInvariant as vt
  "StructureDefinition.derivation" : for src.derivation as vs make tgt.derivation as vt
  "StructureDefinition.snapshot" : for src.snapshot as vs0 make tgt.snapshot as vt0 then {
    "StructureDefinition.snapshot.element" : for vs0.element as vs make vt0.element as vt
  }
  "StructureDefinition.differential" : for src.differential as vs0 make tgt.differential as vt0 then {
    "StructureDefinition.differential.element" : for vs0.element as vs make vt0.element as vt
  }
endgroup


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


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

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



group StructureDefinition extends DomainResource
  input src : StructureDefinition as source
  input tgt : StructureDefinitionR3 as target

  "StructureDefinition.url" : for src.url as vs make tgt.url as vt
  "StructureDefinition.identifier" : for src.identifier as vs make tgt.identifier as vt
  "StructureDefinition.version" : for src.version as vs make tgt.version as vt
  "StructureDefinition.name" : for src.name as vs make tgt.name as vt
  "StructureDefinition.title" : for src.title as vs make tgt.title as vt
  "StructureDefinition.status" : for src.status as vs make tgt.status as vt
  "StructureDefinition.experimental" : for src.experimental as vs make tgt.experimental as vt
  "StructureDefinition.date" : for src.date as vs make tgt.date as vt
  "StructureDefinition.publisher" : for src.publisher as vs make tgt.publisher as vt
  "StructureDefinition.contact" : for src.contact as vs make tgt.contact as vt
  "StructureDefinition.description" : for src.description as vs make tgt.description as vt
  "StructureDefinition.useContext" : for src.useContext as vs make tgt.useContext as vt
  "StructureDefinition.jurisdiction" : for src.jurisdiction as vs make tgt.jurisdiction as vt
  "StructureDefinition.purpose" : for src.purpose as vs make tgt.purpose as vt
  "StructureDefinition.copyright" : for src.copyright as vs make tgt.copyright as vt
  "StructureDefinition.keyword" : for src.keyword as vs make tgt.keyword as vt
  "StructureDefinition.fhirVersion" : for src.fhirVersion as vs make tgt.fhirVersion as vt
  "StructureDefinition.mapping" : for src.mapping as vs0 make tgt.mapping as vt0 then {
    "StructureDefinition.mapping.identity" : for vs0.identity as vs make vt0.identity as vt
    "StructureDefinition.mapping.uri" : for vs0.uri as vs make vt0.uri as vt
    "StructureDefinition.mapping.name" : for vs0.name as vs make vt0.name as vt
    "StructureDefinition.mapping.comment" : for vs0.comment as vs make vt0.comment as vt
  }
  "StructureDefinition.kind" : for src.kind as vs make tgt.kind as vt
  "StructureDefinition.abstract" : for src.abstract as vs make tgt.abstract as vt
  "StructureDefinition.contextInvariant" : for src.contextInvariant as vs make tgt.contextInvariant as vt
  "StructureDefinition.derivation" : for src.derivation as vs make tgt.derivation as vt
  "StructureDefinition.snapshot" : for src.snapshot as vs0 make tgt.snapshot as vt0 then {
    "StructureDefinition.snapshot.element" : for vs0.element as vs make vt0.element as vt
  }
  "StructureDefinition.differential" : for src.differential as vs0 make tgt.differential as vt0 then {
    "StructureDefinition.differential.element" : for vs0.element as vs make vt0.element as vt
  }
endgroup