This
page
is
part
of
the
FHIR
Specification
(v3.0.2:
(v4.0.1:
R4
-
Mixed
Normative
and
STU
3).
)
in
it's
permanent
home
(it
will
always
be
available
at
this
URL).
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
R4
R3
Pharmacy
Work
Group
|
Maturity Level : N/A |
| Security Category : Business | Compartments : Not linked to any defined compartments |
R2
:
R3
Converson
:
R4
Conversion
maps
for
Medication.
Functional
status
for
this
map:
23
tests
that
all
execute
ok.
16
22
fail
round-trip
testing
and
1
22
r3
resources
are
invalid
(1
(0
errors).
(
see
documentation)
map "http://hl7.org/fhir/StructureMap/Medication2to3" = "R2 to R3 Conversions for Medication" uses "http://hl7.org/fhir/DSTU2/StructureDefinition/Medication" alias MedicationR2 as source uses "http://hl7.org/fhir/StructureDefinition/Medication" alias Medication as target imports "http://hl7.org/fhir/StructureMap/*2to3" group for type+types Medication extends DomainResource input src : MedicationR2 as source input tgt : Medication as target "Medication-code" : for src.code make tgt.code "Medication-isBrand" : for src.isBrand make tgt.isBrand "Medication-manufacturer" : for src.manufacturer make tgt.manufacturer "Medication-product" : for src.product as vs0 then medProduct(vs0, tgt) "Medication-package" : for src.package as vs0 make tgt.package as vt0 then medPackage(vs0, vt0) endgroup group medProduct extends BackboneElement input src as source input tgt as target "Medication.product-form" : for src.form make tgt.form "Medication.product-ingredient" : for src.ingredient as vs0 make tgt.ingredient as vt0 then medIngredient(vs0, vt0) "Medication.product-batch" : for src.batch as vs0 make tgt.package as pkg, pkg.batch as vt0 then medBatch(vs0, vt0) endgroup group medIngredient extends BackboneElement input src as source input tgt as targetmap "http://hl7.org/fhir/StructureMap/Medication3to4" = "R3 to R4 Conversions for Medication""Medication.product.batch-item" : for src.item make tgt.item "Medication.product.batch-amount" : for src.amount make tgt.amount endgroupuses "http://hl7.org/fhir/3.0/StructureDefinition/Medication" alias MedicationR3 as source uses "http://hl7.org/fhir/StructureDefinition/Medication" alias Medication as targetgroup medBatch extends BackboneElement input src as source input tgt as targetimports "http://hl7.org/fhir/StructureMap/*3to4""Medication.product.batch-lotNumber" : for src.lotNumber make tgt.lotNumber "Medication.product.batch-expirationDate" : for src.expirationDate make tgt.expirationDate endgroupgroup Medication(source src : MedicationR3, target tgt : Medication) extends DomainResource <<type+>> { src.code -> tgt.code; src.status as v -> tgt.extension as vt, vt.url = 'http://hl7.org/fhir/3.0/StructureDefinition/extension-Medication.status', vt.value = v; src.isBrand as v -> tgt.extension as vt, vt.url = 'hhttp://hl7.org/fhir/3.0/StructureDefinition/extension-Medication.isBrand', vt.value = v; src.isOverTheCounter as v -> tgt.extension as vt, vt.url = 'http://hl7.org/fhir/3.0/StructureDefinition/extension-MedicationOTC', vt.value = v; src.manufacturer -> tgt.manufacturer; src.form -> tgt.form; src.ingredient as vs0 -> tgt.ingredient as vt0 then ingredient(vs0, vt0); src.package as vs0 then package(vs0, tgt); src.image as v -> tgt.extension as vt, vt.url = 'http://hl7.org/fhir/3.0/StructureDefinition/extension-MedicationImage', vt.value = v; }group medPackage extends BackboneElement input src as source input tgt as targetgroup ingredient(source src, target tgt) extends BackboneElement { src.item : CodeableConcept as vs -> tgt.item = create('CodeableConcept') as vt then CodeableConcept(vs, vt); src.item : Reference as vs -> tgt.item = create('Reference') as vt then Reference(vs, vt); src.isActive -> tgt.isActive; src.amount -> tgt.strength; }"Medication.package-container" : for src.container make tgt.container "Medication.package-content" : for src.content as vs0 make tgt.content as vt0 then medContent(vs0, vt0) endgroupgroup package(source src, target tgt) { src.container as v -> tgt.extension as vt, vt.url = 'http://hl7.org/fhir/3.0/StructureDefinition/extension-Medication.package.container', vt.value = v; src.content as vs0 -> tgt.extension as vt, vt.url = 'http://hl7.org/fhir/3.0/StructureDefinition/extension-Medication.package.content' then content(vs0, vt); src.batch as vs0 -> tgt.batch as vt0 then batch(vs0, vt0); }group medContent extends BackboneElement input src as source input tgt as targetgroup content(source src, target tgt) extends Element { src.item as v -> tgt.extension as vt, vt.url = 'http://hl7.org/fhir/3.0/StructureDefinition/extension-Medication.package.content', vt.value = v; src.amount as v -> tgt.extension as vt, vt.url = 'http://hl7.org/fhir/3.0/StructureDefinition/extension-Medication.package.content.amount', vt.value = v; }"Medication.package.content-item" : for src.item make tgt.item "Medication.package.content-amount" : for src.amount make tgt.amount endgroupgroup batch(source src, target tgt) extends BackboneElement { src.lotNumber -> tgt.lotNumber; src.expirationDate -> tgt.expirationDate; }
map "http://hl7.org/fhir/StructureMap/Medication3to2" = "R3 to R2 Conversion for Medication" uses "http://hl7.org/fhir/StructureDefinition/Medication" alias Medication as source uses "http://hl7.org/fhir/DSTU2/StructureDefinition/Medication" alias MedicationR2 as target imports "http://hl7.org/fhir/StructureMap/*3to2" group for type+types Medication extends DomainResource input src : Medication as source input tgt : MedicationR2 as target "Medication-code" : for src.code make tgt.code "Medication-isBrand" : for src.isBrand make tgt.isBrand "Medication-manufacturer" : for src.manufacturer make tgt.manufacturer "Medication.product-form" : for src.form as v make tgt.product as vt0, vt0.form as v "Medication.product-ingredient" : for src.ingredient as vs0 make tgt.product as vt0, vt0.ingredient as vt1 then medIngredient(vs0, vt1) "Medication-package" : for src.package as vs0 make tgt.package as vt0 then medPackage(vs0, vt0, tgt) endgroup group medProduct extends BackboneElement input src as source input tgt as target "Medication.product-form" : for src.form make tgt.form "Medication.product-ingredient" : for src.ingredient as vs0 make tgt.ingredient as vt0 then medIngredient(vs0, vt0) endgroup group medIngredient extends BackboneElement input src as source input tgt as targetmap "http://hl7.org/fhir/StructureMap/Medication4to3" = "R4 to R3 Conversion for Medication""Medication.product.batch-item" : for src.item where $this is Reference make tgt.item "Medication.product.batch-amount" : for src.amount make tgt.amount endgroupuses "http://hl7.org/fhir/StructureDefinition/Medication" alias Medication as source uses "http://hl7.org/fhir/3.0/StructureDefinition/Medication" alias MedicationR3 as targetgroup medBatch extends BackboneElement input src as source input tgt as targetimports "http://hl7.org/fhir/StructureMap/*4to3""Medication.product.batch-lotNumber" : for src.lotNumber make tgt.lotNumber "Medication.product.batch-expirationDate" : for src.expirationDate make tgt.expirationDate endgroupgroup Medication(source src : Medication, target tgt : MedicationR3) extends DomainResource <<type+>> { src.code -> tgt.code; src.extension as e where url = 'http://hl7.org/fhir/3.0/StructureDefinition/extension-Medication.status' then { e.value -> tgt.status; }; src.extension as e where url = 'hhttp://hl7.org/fhir/3.0/StructureDefinition/extension-Medication.isBrand' then { e.value -> tgt.isBrand; }; src.extension as e where url = 'http://hl7.org/fhir/3.0/StructureDefinition/extension-MedicationOTC' then { e.value -> tgt.isOverTheCounter; }; src.manufacturer -> tgt.manufacturer; src.form -> tgt.form; src.ingredient as vs0 -> tgt.ingredient as vt0 then ingredient(vs0, vt0); src where batch.exists() or extension.where(url = 'http://hl7.org/fhir/3.0/StructureDefinition/extension-Medication.package.container').exists() or extension.where(url = 'http://hl7.org/fhir/3.0/StructureDefinition/extension-Medication.package.content').exists() -> tgt.package as vt0 then package(src, vt0) "batch"; src.extension as e where url = 'http://hl7.org/fhir/3.0/StructureDefinition/extension-MedicationImage' then { e.value -> tgt.image; }; }group medPackage extends BackboneElement input src as source input tgt as target input res as targetgroup ingredient(source src, target tgt) extends BackboneElement { src.item : CodeableConcept as vs -> tgt.item = create('CodeableConcept') as vt then CodeableConcept(vs, vt); src.item : Reference as vs -> tgt.item = create('Reference') as vt then Reference(vs, vt); src.isActive -> tgt.isActive; src.strength -> tgt.amount; }"Medication.package-container" : for src.container make tgt.container "Medication.package-content" : for src.content as vs0 make tgt.content as vt0 then medContent(vs0, vt0) "Medication.product-batch" : for src.batch as vs0 make res.product as vt1, vt1.batch as vt0 then medBatch(vs0, vt0) endgroupgroup package(source src, target tgt) { src.extension as e where url = 'http://hl7.org/fhir/3.0/StructureDefinition/extension-Medication.package.container' then { e.value -> tgt.container; }; src.extension as e where url = 'http://hl7.org/fhir/3.0/StructureDefinition/extension-Medication.package.content' -> tgt.content as vt0 then content(e, vt0); src.batch as vs0 -> tgt.batch as vt0 then batch(vs0, vt0); }group medContent extends BackboneElement input src as source input tgt as targetgroup content(source src, target tgt) extends Element { src.extension as e where url = 'http://hl7.org/fhir/3.0/StructureDefinition/extension-Medication.package.content' then { e.value : CodeableConcept as vs -> tgt.item = create('CodeableConcept') as vt then CodeableConcept(vs, vt); e.value : Reference as vs -> tgt.item = create('Reference') as vt then Reference(vs, vt); }; src.extension as e where url = 'http://hl7.org/fhir/3.0/StructureDefinition/extension-Medication.package.content.amount' then { e.value -> tgt.amount; }; }"Medication.package.content-item" : for src.item where $this is Reference make tgt.item "Medication.package.content-amount" : for src.amount make tgt.amount endgroupgroup batch(source src, target tgt) extends BackboneElement { src.lotNumber -> tgt.lotNumber; src.expirationDate -> tgt.expirationDate; }