Eswatini HL7 FHIR Implementation Guide
1.0.0 - draft
Eswatini
Eswatini HL7 FHIR Implementation Guide - Local Development build (v1.0.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions
| Official URL: https://eswatinihie.com/fhir/StructureDefinition/SzMedicationRequest | Version: 1.0.0 | |||
| Active as of 2026-08-21 | Computable Name: SzMedicationRequest | |||
The Eswatini Medication Request Profile defines the constraints and usage of the HL7 FHIR MedicationRequest resource for representing requests, prescriptions, or orders for medications within the Eswatini National Digital Health Ecosystem. It provides a standardized and interoperable mechanism for documenting a clinician’s intent to prescribe or supply medication as part of patient care. This profile ensures that medication prescribing information is recorded and exchanged in a consistent, clinically meaningful, and nationally aligned manner, supporting patient safety, continuity of care, and pharmaceutical management.
This profile SHALL be used by systems that create, manage, or exchange medication prescribing or ordering information, including:
Electronic Medical Record (EMR) systems Prescribing and clinical decision‑support systems Pharmacy and dispensing systems Programme‑specific treatment and medication tracking platforms National health information exchange (HIE) services
The profile applies to medication requests such as:
Outpatient prescriptions Inpatient medication orders Chronic and repeat medication requests Programme‑related medication prescribing (e.g. long‑term therapies)
Each Medication Request represents a clinical intent or authorization to provide medication to a patient, regardless of whether the medication has already been dispensed or administered.
The Eswatini Medication Request Profile represents a prescriber’s intent to initiate, continue, modify, or discontinue medication therapy. It captures what medication is being requested, for whom, and under what conditions. A medication request:
Is associated with a Patient Is typically authored by a Practitioner or authorized system May be linked to an Encounter or Episode of Care May result in one or more Medication Dispense events Has a defined lifecycle from request to completion, cancellation, or discontinuation
This distinction supports clear separation between prescribing intent and actual medication supply or use.
Usages:
You can also check for usages in the FHIR IG Statistics
Description of Profiles, Differentials, Snapshots and how the different presentations work.
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
0..* | MedicationRequest | Ordering of medication for patient or group | |
![]() ![]() |
Σ | 1..1 | id | Logical id of this artifact |
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created |
![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored |
![]() ![]() |
?!Σ | 1..1 | code | active | on-hold | cancelled | completed | entered-in-error | stopped | draft | unknown Binding: medicationrequest Status (required): A coded concept specifying the state of the prescribing event. Describes the lifecycle of the prescription. |
![]() ![]() |
?!Σ | 1..1 | code | proposal | plan | order | original-order | reflex-order | filler-order | instance-order | option Binding: medicationRequest Intent (required): The kind of medication order. |
![]() ![]() |
?!Σ | 0..1 | boolean | True if request is prohibiting action |
![]() ![]() |
Σ | 1..1 | CodeableConcept | Medication to be taken Slice: Unordered, Closed by type:$this Binding: SNOMEDCTMedicationCodes (example): A coded concept identifying substance or product that can be ordered. |
![]() ![]() ![]() |
SΣ | 1..1 | CodeableConcept | Medication to be taken Binding: Value Set: Product Code Value Set (required) |
![]() ![]() |
Σ | 1..1 | Reference(Eswatini Patient Profile) | Who or group medication request is for |
![]() ![]() |
0..1 | Reference(Eswatini Encounter Profile) | Encounter created as part of encounter/admission/stay | |
![]() ![]() |
Σ | 1..1 | dateTime | Medication Request Date |
![]() ![]() |
Σ | 0..1 | Reference(Eswatini Practitioner Profile) | Who/What requested the Request |
![]() ![]() |
S | 1..* | Dosage | Dosage Instruction |
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() |
Σ | 1..1 | string | Dosage Instruction as Text |
![]() ![]() ![]() |
Σ | 0..* | Element | Amount of medication administered |
![]() ![]() ![]() ![]() |
Σ | 1..1 | SimpleQuantity(4.0.1) | Amount of medication per dose Slice: Unordered, Closed by type:$this |
![]() ![]() ![]() ![]() ![]() |
SΣ | 1..1 | SimpleQuantity | Quantity |
Documentation for this format | ||||
| Path | Status | Usage | ValueSet | Version | Source |
| MedicationRequest.status | Base | required | Medicationrequest status | 📍4.0.1 | FHIR Std. |
| MedicationRequest.intent | Base | required | Medication request intent | 📍4.0.1 | FHIR Std. |
| MedicationRequest.medication[x] | Base | example | SNOMED CT Medication Codes | 📍4.0.1 | FHIR Std. |
| MedicationRequest.medication[x]:medicationCodeableConcept | Base | required | Value Set: Product Code Value Set | 📦1.0.0 | This IG |
| Id | Grade | Path(s) | Description | Expression |
| dom-2 | error | MedicationRequest | If the resource is contained in another resource, it SHALL NOT contain nested Resources |
contained.contained.empty()
|
| dom-3 | error | MedicationRequest | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource |
contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
|
| dom-4 | error | MedicationRequest | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated |
contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
|
| dom-5 | error | MedicationRequest | If a resource is contained in another resource, it SHALL NOT have a security label |
contained.meta.security.empty()
|
| dom-6 | best practice | MedicationRequest | A resource should have narrative for robust management |
text.`div`.exists()
|
| ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children |
hasValue() or (children().count() > id.count())
|
| ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both |
extension.exists() != value.exists()
|
This structure is derived from MedicationRequest
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
0..* | MedicationRequest | Ordering of medication for patient or group | |
![]() ![]() |
1..1 | id | Logical id of this artifact | |
![]() ![]() |
1..1 | CodeableConcept | Medication to be taken Slice: Unordered, Open by type:$this | |
![]() ![]() ![]() |
S | 1..1 | CodeableConcept | Medication to be taken Binding: Value Set: Product Code Value Set (required) |
![]() ![]() |
1..1 | Reference(Eswatini Patient Profile) | Who or group medication request is for | |
![]() ![]() |
0..1 | Reference(Eswatini Encounter Profile) | Encounter created as part of encounter/admission/stay | |
![]() ![]() |
1..1 | dateTime | Medication Request Date | |
![]() ![]() |
0..1 | Reference(Eswatini Practitioner Profile) | Who/What requested the Request | |
![]() ![]() |
S | 1..* | Dosage | Dosage Instruction |
![]() ![]() ![]() |
1..1 | string | Dosage Instruction as Text | |
![]() ![]() ![]() |
||||
![]() ![]() ![]() ![]() |
1..1 | SimpleQuantity(4.0.1) | Amount of medication per dose Slice: Unordered, Open by type:$this | |
![]() ![]() ![]() ![]() ![]() |
S | 1..1 | SimpleQuantity | Quantity |
Documentation for this format | ||||
| Path | Status | Usage | ValueSet | Version | Source |
| MedicationRequest.medication[x]:medicationCodeableConcept | Base | required | Value Set: Product Code Value Set | 📦1.0.0 | This IG |
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() | ||||
|---|---|---|---|---|---|---|---|---|
![]() |
0..* | MedicationRequest | Ordering of medication for patient or group | |||||
![]() ![]() |
Σ | 1..1 | id | Logical id of this artifact | ||||
![]() ![]() |
Σ | 0..1 | Meta | Metadata about the resource | ||||
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||
![]() ![]() |
0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
| |||||
![]() ![]() |
0..1 | Narrative | Text summary of the resource, for human interpretation This profile does not constrain the narrative in regard to content, language, or traceability to data elements | |||||
![]() ![]() |
0..* | Resource | Contained, inline Resources | |||||
![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored | ||||
![]() ![]() |
0..* | Identifier | External ids for this request | |||||
![]() ![]() |
?!Σ | 1..1 | code | active | on-hold | cancelled | completed | entered-in-error | stopped | draft | unknown Binding: medicationrequest Status (required): A coded concept specifying the state of the prescribing event. Describes the lifecycle of the prescription. | ||||
![]() ![]() |
0..1 | CodeableConcept | Reason for current status Binding: medicationRequest Status Reason Codes (example): Identifies the reasons for a given status. | |||||
![]() ![]() |
?!Σ | 1..1 | code | proposal | plan | order | original-order | reflex-order | filler-order | instance-order | option Binding: medicationRequest Intent (required): The kind of medication order. | ||||
![]() ![]() |
0..* | CodeableConcept | Type of medication usage Binding: medicationRequest Category Codes (example): A coded concept identifying the category of medication request. For example, where the medication is to be consumed or administered, or the type of medication treatment. | |||||
![]() ![]() |
Σ | 0..1 | code | routine | urgent | asap | stat Binding: RequestPriority (required): Identifies the level of importance to be assigned to actioning the request. | ||||
![]() ![]() |
?!Σ | 0..1 | boolean | True if request is prohibiting action | ||||
![]() ![]() |
Σ | 0..1 | Reported rather than primary record | |||||
![]() ![]() ![]() |
boolean | |||||||
![]() ![]() ![]() |
Reference(Patient | Practitioner | PractitionerRole | RelatedPerson | Organization) | |||||||
![]() ![]() |
Σ | 1..1 | CodeableConcept | Medication to be taken Slice: Unordered, Closed by type:$this Binding: SNOMEDCTMedicationCodes (example): A coded concept identifying substance or product that can be ordered. | ||||
![]() ![]() ![]() |
SΣ | 1..1 | CodeableConcept | Medication to be taken Binding: Value Set: Product Code Value Set (required) | ||||
![]() ![]() |
Σ | 1..1 | Reference(Eswatini Patient Profile) | Who or group medication request is for | ||||
![]() ![]() |
0..1 | Reference(Eswatini Encounter Profile) | Encounter created as part of encounter/admission/stay | |||||
![]() ![]() |
0..* | Reference(Resource) | Information to support ordering of the medication | |||||
![]() ![]() |
Σ | 1..1 | dateTime | Medication Request Date | ||||
![]() ![]() |
Σ | 0..1 | Reference(Eswatini Practitioner Profile) | Who/What requested the Request | ||||
![]() ![]() |
0..1 | Reference(Practitioner | PractitionerRole | Organization | Patient | Device | RelatedPerson | CareTeam) | Intended performer of administration | |||||
![]() ![]() |
Σ | 0..1 | CodeableConcept | Desired kind of performer of the medication administration Binding: ProcedurePerformerRoleCodes (example): Identifies the type of individual that is desired to administer the medication. | ||||
![]() ![]() |
0..1 | Reference(Practitioner | PractitionerRole) | Person who entered the request | |||||
![]() ![]() |
0..* | CodeableConcept | Reason or indication for ordering or not ordering the medication Binding: Condition/Problem/DiagnosisCodes (example): A coded concept indicating why the medication was ordered. | |||||
![]() ![]() |
0..* | Reference(Condition | Observation) | Condition or observation that supports why the prescription is being written | |||||
![]() ![]() |
Σ | 0..* | canonical() | Instantiates FHIR protocol or definition | ||||
![]() ![]() |
Σ | 0..* | uri | Instantiates external protocol or definition | ||||
![]() ![]() |
Σ | 0..* | Reference(CarePlan | MedicationRequest | ServiceRequest | ImmunizationRecommendation) | What request fulfills | ||||
![]() ![]() |
Σ | 0..1 | Identifier | Composite request this is part of | ||||
![]() ![]() |
0..1 | CodeableConcept | Overall pattern of medication administration Binding: medicationRequest Course of Therapy Codes (example): Identifies the overall pattern of medication administratio. | |||||
![]() ![]() |
0..* | Reference(Coverage | ClaimResponse) | Associated insurance coverage | |||||
![]() ![]() |
0..* | Annotation | Information about the prescription | |||||
![]() ![]() |
S | 1..* | Dosage | Dosage Instruction | ||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() |
Σ | 0..1 | integer | The order of the dosage instructions | ||||
![]() ![]() ![]() |
Σ | 1..1 | string | Dosage Instruction as Text | ||||
![]() ![]() ![]() |
Σ | 0..* | CodeableConcept | Supplemental instruction or warnings to the patient - e.g. "with meals", "may cause drowsiness" Binding: SNOMEDCTAdditionalDosageInstructions (example): A coded concept identifying additional instructions such as "take with water" or "avoid operating heavy machinery". | ||||
![]() ![]() ![]() |
Σ | 0..1 | string | Patient or consumer oriented instructions | ||||
![]() ![]() ![]() |
Σ | 0..1 | Timing | When medication should be administered | ||||
![]() ![]() ![]() |
Σ | 0..1 | Take "as needed" (for x) Binding: SNOMEDCTMedicationAsNeededReasonCodes (example): A coded concept identifying the precondition that should be met or evaluated prior to consuming or administering a medication dose. For example "pain", "30 minutes prior to sexual intercourse", "on flare-up" etc. | |||||
![]() ![]() ![]() ![]() |
boolean | |||||||
![]() ![]() ![]() ![]() |
CodeableConcept | |||||||
![]() ![]() ![]() |
Σ | 0..1 | CodeableConcept | Body site to administer to Binding: SNOMEDCTAnatomicalStructureForAdministrationSiteCodes (example): A coded concept describing the site location the medicine enters into or onto the body. | ||||
![]() ![]() ![]() |
Σ | 0..1 | CodeableConcept | How drug should enter body Binding: SNOMEDCTRouteCodes (example): A coded concept describing the route or physiological path of administration of a therapeutic agent into or onto the body of a subject. | ||||
![]() ![]() ![]() |
Σ | 0..1 | CodeableConcept | Technique for administering medication Binding: SNOMEDCTAdministrationMethodCodes (example): A coded concept describing the technique by which the medicine is administered. | ||||
![]() ![]() ![]() |
Σ | 0..* | Element | Amount of medication administered | ||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | CodeableConcept | The kind of dose or rate specified Binding: DoseAndRateType (example): The kind of dose or rate specified. | ||||
![]() ![]() ![]() ![]() |
Σ | 1..1 | SimpleQuantity(4.0.1) | Amount of medication per dose Slice: Unordered, Closed by type:$this | ||||
![]() ![]() ![]() ![]() ![]() |
SΣ | 1..1 | SimpleQuantity | Quantity | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | Amount of medication per unit of time | |||||
![]() ![]() ![]() ![]() ![]() |
Ratio | |||||||
![]() ![]() ![]() ![]() ![]() |
Range | |||||||
![]() ![]() ![]() ![]() ![]() |
Quantity(SimpleQuantity) | |||||||
![]() ![]() ![]() |
Σ | 0..1 | Ratio | Upper limit on medication per unit of time | ||||
![]() ![]() ![]() |
Σ | 0..1 | SimpleQuantity(4.0.1) | Upper limit on medication per administration | ||||
![]() ![]() ![]() |
Σ | 0..1 | SimpleQuantity(4.0.1) | Upper limit on medication per lifetime of the patient | ||||
![]() ![]() |
0..1 | BackboneElement | Medication supply authorization | |||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() |
0..1 | BackboneElement | First fill details | |||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() ![]() |
0..1 | SimpleQuantity(4.0.1) | First fill quantity | |||||
![]() ![]() ![]() ![]() |
0..1 | Duration | First fill duration | |||||
![]() ![]() ![]() |
0..1 | Duration | Minimum period of time between dispenses | |||||
![]() ![]() ![]() |
0..1 | Period | Time period supply is authorized for | |||||
![]() ![]() ![]() |
0..1 | unsignedInt | Number of refills authorized | |||||
![]() ![]() ![]() |
0..1 | SimpleQuantity(4.0.1) | Amount of medication to supply per dispense | |||||
![]() ![]() ![]() |
0..1 | Duration | Number of days supply per dispense | |||||
![]() ![]() ![]() |
0..1 | Reference(Organization) | Intended dispenser | |||||
![]() ![]() |
0..1 | BackboneElement | Any restrictions on medication substitution | |||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() |
1..1 | Whether substitution is allowed or not Binding: ActSubstanceAdminSubstitutionCode (example): Identifies the type of substitution allowed. | ||||||
![]() ![]() ![]() ![]() |
boolean | |||||||
![]() ![]() ![]() ![]() |
CodeableConcept | |||||||
![]() ![]() ![]() |
0..1 | CodeableConcept | Why should (not) substitution be made Binding: SubstanceAdminSubstitutionReason (example): A coded concept describing the reason that a different medication should (or should not) be substituted from what was prescribed. | |||||
![]() ![]() |
0..1 | Reference(MedicationRequest) | An order/prescription that is being replaced | |||||
![]() ![]() |
0..* | Reference(DetectedIssue) | Clinical Issue with action | |||||
![]() ![]() |
0..* | Reference(Provenance) | A list of events of interest in the lifecycle | |||||
Documentation for this format | ||||||||
| Path | Status | Usage | ValueSet | Version | Source |
| MedicationRequest.language | Base | preferred | Common Languages | 📍4.0.1 | FHIR Std. |
| MedicationRequest.status | Base | required | Medicationrequest status | 📍4.0.1 | FHIR Std. |
| MedicationRequest.statusReason | Base | example | Medication request status reason codes | 📍4.0.1 | FHIR Std. |
| MedicationRequest.intent | Base | required | Medication request intent | 📍4.0.1 | FHIR Std. |
| MedicationRequest.category | Base | example | Medication request category codes | 📍4.0.1 | FHIR Std. |
| MedicationRequest.priority | Base | required | Request priority | 📍4.0.1 | FHIR Std. |
| MedicationRequest.medication[x] | Base | example | SNOMED CT Medication Codes | 📍4.0.1 | FHIR Std. |
| MedicationRequest.medication[x]:medicationCodeableConcept | Base | required | Value Set: Product Code Value Set | 📦1.0.0 | This IG |
| MedicationRequest.performerType | Base | example | Procedure Performer Role Codes | 📍4.0.1 | FHIR Std. |
| MedicationRequest.reasonCode | Base | example | Condition/Problem/Diagnosis Codes | 📍4.0.1 | FHIR Std. |
| MedicationRequest.courseOfTherapyType | Base | example | Medication request course of therapy codes | 📍4.0.1 | FHIR Std. |
| MedicationRequest.dosageInstruction.additionalInstruction | Base | example | SNOMED CT Additional Dosage Instructions | 📍4.0.1 | FHIR Std. |
| MedicationRequest.dosageInstruction.asNeeded[x] | Base | example | SNOMED CT Medication As Needed Reason Codes | 📍4.0.1 | FHIR Std. |
| MedicationRequest.dosageInstruction.site | Base | example | SNOMED CT Anatomical Structure for Administration Site Codes | 📍4.0.1 | FHIR Std. |
| MedicationRequest.dosageInstruction.route | Base | example | SNOMED CT Route Codes | 📍4.0.1 | FHIR Std. |
| MedicationRequest.dosageInstruction.method | Base | example | SNOMED CT Administration Method Codes | 📍4.0.1 | FHIR Std. |
| MedicationRequest.dosageInstruction.doseAndRate.type | Base | example | DoseAndRateType | 📍4.0.1 | FHIR Std. |
| MedicationRequest.substitution.allowed[x] | Base | example | ActSubstanceAdminSubstitutionCode | 📦3.0.0 | THO v7.3 |
| MedicationRequest.substitution.reason | Base | example | SubstanceAdminSubstitutionReason | 📦3.0.0 | THO v7.3 |
| Id | Grade | Path(s) | Description | Expression |
| dom-2 | error | MedicationRequest | If the resource is contained in another resource, it SHALL NOT contain nested Resources |
contained.contained.empty()
|
| dom-3 | error | MedicationRequest | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource |
contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
|
| dom-4 | error | MedicationRequest | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated |
contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
|
| dom-5 | error | MedicationRequest | If a resource is contained in another resource, it SHALL NOT have a security label |
contained.meta.security.empty()
|
| dom-6 | best practice | MedicationRequest | A resource should have narrative for robust management |
text.`div`.exists()
|
| ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children |
hasValue() or (children().count() > id.count())
|
| ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both |
extension.exists() != value.exists()
|
This structure is derived from MedicationRequest
Summary
Mandatory: 5 elements(2 nested mandatory elements)
Must-Support: 3 elements
Structures
This structure refers to these other structures:
Slices
This structure defines the following Slices:
Key Elements View
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
0..* | MedicationRequest | Ordering of medication for patient or group | |
![]() ![]() |
Σ | 1..1 | id | Logical id of this artifact |
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created |
![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored |
![]() ![]() |
?!Σ | 1..1 | code | active | on-hold | cancelled | completed | entered-in-error | stopped | draft | unknown Binding: medicationrequest Status (required): A coded concept specifying the state of the prescribing event. Describes the lifecycle of the prescription. |
![]() ![]() |
?!Σ | 1..1 | code | proposal | plan | order | original-order | reflex-order | filler-order | instance-order | option Binding: medicationRequest Intent (required): The kind of medication order. |
![]() ![]() |
?!Σ | 0..1 | boolean | True if request is prohibiting action |
![]() ![]() |
Σ | 1..1 | CodeableConcept | Medication to be taken Slice: Unordered, Closed by type:$this Binding: SNOMEDCTMedicationCodes (example): A coded concept identifying substance or product that can be ordered. |
![]() ![]() ![]() |
SΣ | 1..1 | CodeableConcept | Medication to be taken Binding: Value Set: Product Code Value Set (required) |
![]() ![]() |
Σ | 1..1 | Reference(Eswatini Patient Profile) | Who or group medication request is for |
![]() ![]() |
0..1 | Reference(Eswatini Encounter Profile) | Encounter created as part of encounter/admission/stay | |
![]() ![]() |
Σ | 1..1 | dateTime | Medication Request Date |
![]() ![]() |
Σ | 0..1 | Reference(Eswatini Practitioner Profile) | Who/What requested the Request |
![]() ![]() |
S | 1..* | Dosage | Dosage Instruction |
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() |
Σ | 1..1 | string | Dosage Instruction as Text |
![]() ![]() ![]() |
Σ | 0..* | Element | Amount of medication administered |
![]() ![]() ![]() ![]() |
Σ | 1..1 | SimpleQuantity(4.0.1) | Amount of medication per dose Slice: Unordered, Closed by type:$this |
![]() ![]() ![]() ![]() ![]() |
SΣ | 1..1 | SimpleQuantity | Quantity |
Documentation for this format | ||||
| Path | Status | Usage | ValueSet | Version | Source |
| MedicationRequest.status | Base | required | Medicationrequest status | 📍4.0.1 | FHIR Std. |
| MedicationRequest.intent | Base | required | Medication request intent | 📍4.0.1 | FHIR Std. |
| MedicationRequest.medication[x] | Base | example | SNOMED CT Medication Codes | 📍4.0.1 | FHIR Std. |
| MedicationRequest.medication[x]:medicationCodeableConcept | Base | required | Value Set: Product Code Value Set | 📦1.0.0 | This IG |
| Id | Grade | Path(s) | Description | Expression |
| dom-2 | error | MedicationRequest | If the resource is contained in another resource, it SHALL NOT contain nested Resources |
contained.contained.empty()
|
| dom-3 | error | MedicationRequest | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource |
contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
|
| dom-4 | error | MedicationRequest | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated |
contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
|
| dom-5 | error | MedicationRequest | If a resource is contained in another resource, it SHALL NOT have a security label |
contained.meta.security.empty()
|
| dom-6 | best practice | MedicationRequest | A resource should have narrative for robust management |
text.`div`.exists()
|
| ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children |
hasValue() or (children().count() > id.count())
|
| ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both |
extension.exists() != value.exists()
|
Differential View
This structure is derived from MedicationRequest
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
0..* | MedicationRequest | Ordering of medication for patient or group | |
![]() ![]() |
1..1 | id | Logical id of this artifact | |
![]() ![]() |
1..1 | CodeableConcept | Medication to be taken Slice: Unordered, Open by type:$this | |
![]() ![]() ![]() |
S | 1..1 | CodeableConcept | Medication to be taken Binding: Value Set: Product Code Value Set (required) |
![]() ![]() |
1..1 | Reference(Eswatini Patient Profile) | Who or group medication request is for | |
![]() ![]() |
0..1 | Reference(Eswatini Encounter Profile) | Encounter created as part of encounter/admission/stay | |
![]() ![]() |
1..1 | dateTime | Medication Request Date | |
![]() ![]() |
0..1 | Reference(Eswatini Practitioner Profile) | Who/What requested the Request | |
![]() ![]() |
S | 1..* | Dosage | Dosage Instruction |
![]() ![]() ![]() |
1..1 | string | Dosage Instruction as Text | |
![]() ![]() ![]() |
||||
![]() ![]() ![]() ![]() |
1..1 | SimpleQuantity(4.0.1) | Amount of medication per dose Slice: Unordered, Open by type:$this | |
![]() ![]() ![]() ![]() ![]() |
S | 1..1 | SimpleQuantity | Quantity |
Documentation for this format | ||||
| Path | Status | Usage | ValueSet | Version | Source |
| MedicationRequest.medication[x]:medicationCodeableConcept | Base | required | Value Set: Product Code Value Set | 📦1.0.0 | This IG |
Snapshot View
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() | ||||
|---|---|---|---|---|---|---|---|---|
![]() |
0..* | MedicationRequest | Ordering of medication for patient or group | |||||
![]() ![]() |
Σ | 1..1 | id | Logical id of this artifact | ||||
![]() ![]() |
Σ | 0..1 | Meta | Metadata about the resource | ||||
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||
![]() ![]() |
0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
| |||||
![]() ![]() |
0..1 | Narrative | Text summary of the resource, for human interpretation This profile does not constrain the narrative in regard to content, language, or traceability to data elements | |||||
![]() ![]() |
0..* | Resource | Contained, inline Resources | |||||
![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored | ||||
![]() ![]() |
0..* | Identifier | External ids for this request | |||||
![]() ![]() |
?!Σ | 1..1 | code | active | on-hold | cancelled | completed | entered-in-error | stopped | draft | unknown Binding: medicationrequest Status (required): A coded concept specifying the state of the prescribing event. Describes the lifecycle of the prescription. | ||||
![]() ![]() |
0..1 | CodeableConcept | Reason for current status Binding: medicationRequest Status Reason Codes (example): Identifies the reasons for a given status. | |||||
![]() ![]() |
?!Σ | 1..1 | code | proposal | plan | order | original-order | reflex-order | filler-order | instance-order | option Binding: medicationRequest Intent (required): The kind of medication order. | ||||
![]() ![]() |
0..* | CodeableConcept | Type of medication usage Binding: medicationRequest Category Codes (example): A coded concept identifying the category of medication request. For example, where the medication is to be consumed or administered, or the type of medication treatment. | |||||
![]() ![]() |
Σ | 0..1 | code | routine | urgent | asap | stat Binding: RequestPriority (required): Identifies the level of importance to be assigned to actioning the request. | ||||
![]() ![]() |
?!Σ | 0..1 | boolean | True if request is prohibiting action | ||||
![]() ![]() |
Σ | 0..1 | Reported rather than primary record | |||||
![]() ![]() ![]() |
boolean | |||||||
![]() ![]() ![]() |
Reference(Patient | Practitioner | PractitionerRole | RelatedPerson | Organization) | |||||||
![]() ![]() |
Σ | 1..1 | CodeableConcept | Medication to be taken Slice: Unordered, Closed by type:$this Binding: SNOMEDCTMedicationCodes (example): A coded concept identifying substance or product that can be ordered. | ||||
![]() ![]() ![]() |
SΣ | 1..1 | CodeableConcept | Medication to be taken Binding: Value Set: Product Code Value Set (required) | ||||
![]() ![]() |
Σ | 1..1 | Reference(Eswatini Patient Profile) | Who or group medication request is for | ||||
![]() ![]() |
0..1 | Reference(Eswatini Encounter Profile) | Encounter created as part of encounter/admission/stay | |||||
![]() ![]() |
0..* | Reference(Resource) | Information to support ordering of the medication | |||||
![]() ![]() |
Σ | 1..1 | dateTime | Medication Request Date | ||||
![]() ![]() |
Σ | 0..1 | Reference(Eswatini Practitioner Profile) | Who/What requested the Request | ||||
![]() ![]() |
0..1 | Reference(Practitioner | PractitionerRole | Organization | Patient | Device | RelatedPerson | CareTeam) | Intended performer of administration | |||||
![]() ![]() |
Σ | 0..1 | CodeableConcept | Desired kind of performer of the medication administration Binding: ProcedurePerformerRoleCodes (example): Identifies the type of individual that is desired to administer the medication. | ||||
![]() ![]() |
0..1 | Reference(Practitioner | PractitionerRole) | Person who entered the request | |||||
![]() ![]() |
0..* | CodeableConcept | Reason or indication for ordering or not ordering the medication Binding: Condition/Problem/DiagnosisCodes (example): A coded concept indicating why the medication was ordered. | |||||
![]() ![]() |
0..* | Reference(Condition | Observation) | Condition or observation that supports why the prescription is being written | |||||
![]() ![]() |
Σ | 0..* | canonical() | Instantiates FHIR protocol or definition | ||||
![]() ![]() |
Σ | 0..* | uri | Instantiates external protocol or definition | ||||
![]() ![]() |
Σ | 0..* | Reference(CarePlan | MedicationRequest | ServiceRequest | ImmunizationRecommendation) | What request fulfills | ||||
![]() ![]() |
Σ | 0..1 | Identifier | Composite request this is part of | ||||
![]() ![]() |
0..1 | CodeableConcept | Overall pattern of medication administration Binding: medicationRequest Course of Therapy Codes (example): Identifies the overall pattern of medication administratio. | |||||
![]() ![]() |
0..* | Reference(Coverage | ClaimResponse) | Associated insurance coverage | |||||
![]() ![]() |
0..* | Annotation | Information about the prescription | |||||
![]() ![]() |
S | 1..* | Dosage | Dosage Instruction | ||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() |
Σ | 0..1 | integer | The order of the dosage instructions | ||||
![]() ![]() ![]() |
Σ | 1..1 | string | Dosage Instruction as Text | ||||
![]() ![]() ![]() |
Σ | 0..* | CodeableConcept | Supplemental instruction or warnings to the patient - e.g. "with meals", "may cause drowsiness" Binding: SNOMEDCTAdditionalDosageInstructions (example): A coded concept identifying additional instructions such as "take with water" or "avoid operating heavy machinery". | ||||
![]() ![]() ![]() |
Σ | 0..1 | string | Patient or consumer oriented instructions | ||||
![]() ![]() ![]() |
Σ | 0..1 | Timing | When medication should be administered | ||||
![]() ![]() ![]() |
Σ | 0..1 | Take "as needed" (for x) Binding: SNOMEDCTMedicationAsNeededReasonCodes (example): A coded concept identifying the precondition that should be met or evaluated prior to consuming or administering a medication dose. For example "pain", "30 minutes prior to sexual intercourse", "on flare-up" etc. | |||||
![]() ![]() ![]() ![]() |
boolean | |||||||
![]() ![]() ![]() ![]() |
CodeableConcept | |||||||
![]() ![]() ![]() |
Σ | 0..1 | CodeableConcept | Body site to administer to Binding: SNOMEDCTAnatomicalStructureForAdministrationSiteCodes (example): A coded concept describing the site location the medicine enters into or onto the body. | ||||
![]() ![]() ![]() |
Σ | 0..1 | CodeableConcept | How drug should enter body Binding: SNOMEDCTRouteCodes (example): A coded concept describing the route or physiological path of administration of a therapeutic agent into or onto the body of a subject. | ||||
![]() ![]() ![]() |
Σ | 0..1 | CodeableConcept | Technique for administering medication Binding: SNOMEDCTAdministrationMethodCodes (example): A coded concept describing the technique by which the medicine is administered. | ||||
![]() ![]() ![]() |
Σ | 0..* | Element | Amount of medication administered | ||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | CodeableConcept | The kind of dose or rate specified Binding: DoseAndRateType (example): The kind of dose or rate specified. | ||||
![]() ![]() ![]() ![]() |
Σ | 1..1 | SimpleQuantity(4.0.1) | Amount of medication per dose Slice: Unordered, Closed by type:$this | ||||
![]() ![]() ![]() ![]() ![]() |
SΣ | 1..1 | SimpleQuantity | Quantity | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | Amount of medication per unit of time | |||||
![]() ![]() ![]() ![]() ![]() |
Ratio | |||||||
![]() ![]() ![]() ![]() ![]() |
Range | |||||||
![]() ![]() ![]() ![]() ![]() |
Quantity(SimpleQuantity) | |||||||
![]() ![]() ![]() |
Σ | 0..1 | Ratio | Upper limit on medication per unit of time | ||||
![]() ![]() ![]() |
Σ | 0..1 | SimpleQuantity(4.0.1) | Upper limit on medication per administration | ||||
![]() ![]() ![]() |
Σ | 0..1 | SimpleQuantity(4.0.1) | Upper limit on medication per lifetime of the patient | ||||
![]() ![]() |
0..1 | BackboneElement | Medication supply authorization | |||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() |
0..1 | BackboneElement | First fill details | |||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() ![]() |
0..1 | SimpleQuantity(4.0.1) | First fill quantity | |||||
![]() ![]() ![]() ![]() |
0..1 | Duration | First fill duration | |||||
![]() ![]() ![]() |
0..1 | Duration | Minimum period of time between dispenses | |||||
![]() ![]() ![]() |
0..1 | Period | Time period supply is authorized for | |||||
![]() ![]() ![]() |
0..1 | unsignedInt | Number of refills authorized | |||||
![]() ![]() ![]() |
0..1 | SimpleQuantity(4.0.1) | Amount of medication to supply per dispense | |||||
![]() ![]() ![]() |
0..1 | Duration | Number of days supply per dispense | |||||
![]() ![]() ![]() |
0..1 | Reference(Organization) | Intended dispenser | |||||
![]() ![]() |
0..1 | BackboneElement | Any restrictions on medication substitution | |||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() |
1..1 | Whether substitution is allowed or not Binding: ActSubstanceAdminSubstitutionCode (example): Identifies the type of substitution allowed. | ||||||
![]() ![]() ![]() ![]() |
boolean | |||||||
![]() ![]() ![]() ![]() |
CodeableConcept | |||||||
![]() ![]() ![]() |
0..1 | CodeableConcept | Why should (not) substitution be made Binding: SubstanceAdminSubstitutionReason (example): A coded concept describing the reason that a different medication should (or should not) be substituted from what was prescribed. | |||||
![]() ![]() |
0..1 | Reference(MedicationRequest) | An order/prescription that is being replaced | |||||
![]() ![]() |
0..* | Reference(DetectedIssue) | Clinical Issue with action | |||||
![]() ![]() |
0..* | Reference(Provenance) | A list of events of interest in the lifecycle | |||||
Documentation for this format | ||||||||
| Path | Status | Usage | ValueSet | Version | Source |
| MedicationRequest.language | Base | preferred | Common Languages | 📍4.0.1 | FHIR Std. |
| MedicationRequest.status | Base | required | Medicationrequest status | 📍4.0.1 | FHIR Std. |
| MedicationRequest.statusReason | Base | example | Medication request status reason codes | 📍4.0.1 | FHIR Std. |
| MedicationRequest.intent | Base | required | Medication request intent | 📍4.0.1 | FHIR Std. |
| MedicationRequest.category | Base | example | Medication request category codes | 📍4.0.1 | FHIR Std. |
| MedicationRequest.priority | Base | required | Request priority | 📍4.0.1 | FHIR Std. |
| MedicationRequest.medication[x] | Base | example | SNOMED CT Medication Codes | 📍4.0.1 | FHIR Std. |
| MedicationRequest.medication[x]:medicationCodeableConcept | Base | required | Value Set: Product Code Value Set | 📦1.0.0 | This IG |
| MedicationRequest.performerType | Base | example | Procedure Performer Role Codes | 📍4.0.1 | FHIR Std. |
| MedicationRequest.reasonCode | Base | example | Condition/Problem/Diagnosis Codes | 📍4.0.1 | FHIR Std. |
| MedicationRequest.courseOfTherapyType | Base | example | Medication request course of therapy codes | 📍4.0.1 | FHIR Std. |
| MedicationRequest.dosageInstruction.additionalInstruction | Base | example | SNOMED CT Additional Dosage Instructions | 📍4.0.1 | FHIR Std. |
| MedicationRequest.dosageInstruction.asNeeded[x] | Base | example | SNOMED CT Medication As Needed Reason Codes | 📍4.0.1 | FHIR Std. |
| MedicationRequest.dosageInstruction.site | Base | example | SNOMED CT Anatomical Structure for Administration Site Codes | 📍4.0.1 | FHIR Std. |
| MedicationRequest.dosageInstruction.route | Base | example | SNOMED CT Route Codes | 📍4.0.1 | FHIR Std. |
| MedicationRequest.dosageInstruction.method | Base | example | SNOMED CT Administration Method Codes | 📍4.0.1 | FHIR Std. |
| MedicationRequest.dosageInstruction.doseAndRate.type | Base | example | DoseAndRateType | 📍4.0.1 | FHIR Std. |
| MedicationRequest.substitution.allowed[x] | Base | example | ActSubstanceAdminSubstitutionCode | 📦3.0.0 | THO v7.3 |
| MedicationRequest.substitution.reason | Base | example | SubstanceAdminSubstitutionReason | 📦3.0.0 | THO v7.3 |
| Id | Grade | Path(s) | Description | Expression |
| dom-2 | error | MedicationRequest | If the resource is contained in another resource, it SHALL NOT contain nested Resources |
contained.contained.empty()
|
| dom-3 | error | MedicationRequest | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource |
contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
|
| dom-4 | error | MedicationRequest | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated |
contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
|
| dom-5 | error | MedicationRequest | If a resource is contained in another resource, it SHALL NOT have a security label |
contained.meta.security.empty()
|
| dom-6 | best practice | MedicationRequest | A resource should have narrative for robust management |
text.`div`.exists()
|
| ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children |
hasValue() or (children().count() > id.count())
|
| ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both |
extension.exists() != value.exists()
|
This structure is derived from MedicationRequest
Summary
Mandatory: 5 elements(2 nested mandatory elements)
Must-Support: 3 elements
Structures
This structure refers to these other structures:
Slices
This structure defines the following Slices:
Other representations of profile: CSV, Excel, Schematron
The profile constrains the base MedicationRequest resource to ensure capture of essential prescribing information, including:
Medication request status, reflecting the state of the order Intent, indicating that the request is a prescription or order Medication, identifying the medication being requested Subject (Patient) for whom the medication is intended Authored date, indicating when the request was made Requester, identifying the prescriber or requesting entity Dosage instructions, where applicable, to guide medication use
These elements support safe prescribing, accurate fulfillment, and continuity of medication therapy.
This profile is designed to:
Conform to HL7 FHIR R4 MedicationRequest semantics Support interoperability within the Eswatini National HIE Enable integration between prescribing systems and pharmacy systems Support national pharmaceutical reporting, monitoring, and treatment programmes
Standardized medication request data enables consistency in prescribing practices and improves information sharing across care settings.
Systems claiming conformance to this profile SHALL:
Populate all required and Must Support elements defined by the profile Ensure medication requests accurately reflect clinical intent Maintain appropriate request status values throughout the medication request lifecycle
Optional elements from the base MedicationRequest resource may be used where relevant, provided they do not conflict with the constraints defined in this profile.
The Eswatini Medication Request Profile supports extensibility through standard FHIR mechanisms. Additional prescribing‑related details—such as programme indicators, treatment guidelines, or authorization attributes—may be introduced using FHIR extensions, subject to national governance and approval.
The Eswatini Medication Request Profile provides a standardized and interoperable representation of medication prescribing intent, supporting safe and effective medication use, coordinated pharmaceutical care, and reliable information exchange across systems. Adoption of this profile strengthens prescribing workflows, improves medication traceability, and enhances interoperability throughout the Kingdom of Eswatini.