R4 Draft for Comment

This page is part of the FHIR Specification (v3.2.0: R4 Ballot 1). 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

Orders and Observations Work GroupMaturity Level: N/ABallot Status: Informative Compartments: Not linked to any defined compartments

R2 : R3 Conversion maps for Substance.

Functional status for this map: 6 tests that all execute ok. All tests pass round-trip testing and all r3 resources are valid. (see documentation)

map "http://hl7.org/fhir/StructureMap/Substance2to3" = "R2 to R3 Conversions for Substance"

uses "http://hl7.org/fhir/DSTU2/StructureDefinition/Substance" alias SubstanceR2 as source
uses "http://hl7.org/fhir/StructureDefinition/Substance" alias Substance as target

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

group for type+types  Substance extends DomainResource
  input src : SubstanceR2 as source
  input tgt : Substance as target

  "Substance-identifier" : for src.identifier make tgt.identifier
  "Substance-category" : for src.category make tgt.category
  "Substance-code" : for src.code make tgt.code
  "Substance-description" : for src.description make tgt.description
  "Substance-instance" : for src.instance as vs0 make tgt.instance as vt0 then sbsInstance(vs0, vt0)
  "Substance-ingredient" : for src.ingredient as vs0 make tgt.ingredient as vt0 then sbsIngredient(vs0, vt0) 
endgroup


group sbsInstance extends BackboneElement
  input src : Substance as source
  input tgt : SubstanceR2 as target

  "Substance.instance-identifier" : for src.identifier make tgt.identifier
  "Substance.instance-expiry" : for src.expiry make tgt.expiry
  "Substance.instance-quantity" : for src.quantity make tgt.quantity
endgroup

group sbsIngredient extends BackboneElement
  input src : Substance as source
  input tgt : SubstanceR2 as target

  "Substance.ingredient-quantity" : for src.quantity make tgt.quantity
  "Substance.ingredient-substance" : for src.substance make tgt.substance
endgroup



map "http://hl7.org/fhir/StructureMap/Substance3to2" = "R3 to R2 Conversion for Substance"

uses "http://hl7.org/fhir/StructureDefinition/Substance" alias Substance as source
uses "http://hl7.org/fhir/DSTU2/StructureDefinition/Substance" alias SubstanceR2 as target

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

group for type+types  Substance extends DomainResource
  input src : Substance as source
  input tgt : SubstanceR2 as target

  "Substance-identifier" : for src.identifier make tgt.identifier
  "Substance-category" : for src.category make tgt.category
  "Substance-code" : for src.code make tgt.code
  "Substance-description" : for src.description make tgt.description
  "Substance-instance" : for src.instance as vs0 make tgt.instance as vt0 then sbsInstance(vs0, vt0)
  "Substance-ingredient" : for src.ingredient as vs0 make tgt.ingredient as vt0 then sbsIngredient(vs0, vt0) 
endgroup


group sbsInstance extends BackboneElement
  input src : Substance as source
  input tgt : SubstanceR2 as target

  "Substance.instance-identifier" : for src.identifier make tgt.identifier
  "Substance.instance-expiry" : for src.expiry make tgt.expiry
  "Substance.instance-quantity" : for src.quantity make tgt.quantity
endgroup

group sbsIngredient extends BackboneElement
  input src : Substance as source
  input tgt : SubstanceR2 as target

  "Substance.ingredient-quantity" : for src.quantity make tgt.quantity
  "Substance.ingredient-substance" : for src.substance where $this is "Reference" make tgt.substance
endgroup