This
page
is
part
of
the
FHIR
Specification
(v4.3.0:
R4B
(v5.0.0-draft-final:
Final
QA
Preview
for
R5
-
STU
see
ballot
notes
).
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
Pharmacy
Work
Group
|
Maturity Level : N/A | Standards Status : Informative | Security Category : Business | Compartments : Not linked to any defined compartments |
R3
:
R4
:
R5
Conversion
maps
for
Medication.
Functional status for this map: 23 tests that all execute ok. 22 fail round-trip testing and 22 r3 resources are invalid (0 errors). ( see documentation)
map "http://hl7.org/fhir/StructureMap/Medication3to4" = "R3 to R4 Conversions for Medication"
uses "http://hl7.org/fhir/3.0/StructureDefinition/Medication" alias MedicationR3 as source
uses "http://hl7.org/fhir/StructureDefinition/Medication" alias Medication as target
imports "http://hl7.org/fhir/StructureMap/*3to4"
group 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.isBrand as v -> tgt.extension as vt, vt.url = 'http://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 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;
}
group 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 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;
}
group batch(source src, target tgt) extends BackboneElement {
src.lotNumber -> tgt.lotNumber;
src.expirationDate -> tgt.expirationDate;
}
map "http://hl7.org/fhir/StructureMap/Medication4to3" = "R4 to R3 Conversion for Medication"
uses "http://hl7.org/fhir/StructureDefinition/Medication" alias Medication as source
uses "http://hl7.org/fhir/3.0/StructureDefinition/Medication" alias MedicationR3 as target
imports "http://hl7.org/fhir/StructureMap/*4to3"
group 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 {
src.extension as e where url = 'http://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 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;
}
group 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 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;
};
}
group batch(source src, target tgt) extends BackboneElement {
src.lotNumber -> tgt.lotNumber;
src.expirationDate -> tgt.expirationDate;
}