Kenya Patient Summary FHIR IG
0.1.0 - ci-build Kenya flag

Kenya Patient Summary FHIR IG - Local Development build (v0.1.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

Resource Profile: KpsMedication - Detailed Descriptions

Draft as of 2025-12-09

Definitions for the kps-medication resource profile.

Guidance on how to interpret the contents of this table can be foundhere

0. Medication
Definition

This resource is primarily used for the identification and definition of a medication for the purposes of prescribing, dispensing, and administering a medication as well as for making statements about medication use.

ShortDefinition of a Medication
Comments

IPS Medication

Control0..*
Is Modifierfalse
Summaryfalse
Invariantsdom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources (contained.contained.empty())
dom-3: 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: 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: If a resource is contained in another resource, it SHALL NOT have a security label (contained.meta.security.empty())
dom-6: A resource should have narrative for robust management (text.`div`.exists())
2. Medication.implicitRules
Definition

A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.

ShortA set of rules under which this content was created
Comments

Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. Often, when used, the URL is a reference to an implementation guide that defines these special rules as part of it's narrative along with other profiles, value sets, etc.

Control0..1
Typeuri
Is Modifiertrue because This element is labeled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
Summarytrue
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
4. Medication.extension
Definition

An Extension


May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

ShortExtensionAdditional content defined by implementations
Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Control0..*
TypeExtension
Is Modifierfalse
Summaryfalse
Alternate Namesextensions, user content
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
SlicingThis element introduces a set of slices on Medication.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
  • value @ url
  • 6. Medication.extension:brandName
    Slice NamebrandName
    Definition

    Captures the brand name under which the medication is marketed in Kenya.

    ShortMedication Brand Name
    Control0..1
    This element is affected by the following invariants: ele-1
    TypeExtension(Medication Brand Name) (Extension Type: string)
    Is Modifierfalse
    Must Supporttrue
    Summaryfalse
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
    ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
    8. Medication.modifierExtension
    Definition

    May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

    Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

    ShortExtensions that cannot be ignored
    Comments

    There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

    Control0..*
    TypeExtension
    Is Modifiertrue because Modifier extensions are expected to modify the meaning or interpretation of the resource that contains them
    Summaryfalse
    Requirements

    Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

    Alternate Namesextensions, user content
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
    10. Medication.code
    Definition

    Medication that was administered or was to be administered.

    Several kinds of medication coding could be provided as:

    1. The IDMP Pharmaceutical Product Identifier (PhPID), Level 1, [Substance(s)]. Example: Amoxicillin and Clavulanate Potassium; or any other equivalent coded concept;
    2. The IDMP Pharmaceutical Product Identifier (PhPID), Level 2 [Substance(s) + Strength + reference strength]. Example: Amoxicillin 875 mg and Clavulanate Potassium 125 mg; or any other equivalent coded concept;
    3. The IDMP Pharmaceutical Product Identifier (PhPID), Level 3 [Substance(s) + administrable dose form]. Example: Amoxicillin and Clavulanate Potassium, Oral Tablet; or any other equivalent coded concept;
    4. The IDMP Pharmaceutical Product Identifier (PhPID), Level 4 [Substance(s) + strength + reference strength + administrable dose form]. Example: Amoxicillin 875 mg and clavulanate potassium 125 mg, oral tablet; or any other equivalent coded concept 5. The IDMP Medicinal Product Identifier (MPID) or any equivalent Medicinal Product Identifier. IDMP MPID uniquely identifies a Medicinal Product, reflecting (but not replacing) any other authorization numbers allocated by a regulator. MPID implies one (set of) PhPID. The MPID shall use a common segment pattern related to a Medicinal Product, which, when each segment is valued shall define a specific MPID concept.
    5. The IDMP Packaged Medicinal Product Identifier (PCID) or any equivalent Packaged Medicinal Product Identifier. Uniquely identifies a Medicinal Product based on its packaging. This implies one MPID can be associated with more than one PCID, if the same Medicinal Product has more than one type of package.
    6. Any other kind of code that that identifies, classifies or cluster the administered product (e.g. the medicinal product or the product class)

    The value sets used for the PhPID, MPID and PCID identifiers are provisional and include only few equivalent concepts used for exemplification purposes, they will be updated with real IDMP identifiers when they will become available.


    A code (or set of codes) that specify this medication, or a textual description if no code is available. Usage note: This could be a standard medication code such as a code from RxNorm, SNOMED CT, IDMP etc. It could also be a national or local formulary code, optionally with translations to other code systems.

    ShortMedication that was administered or was to be administered (medication code from any code system)Codes that identify this medication
    Comments

    Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.


    Depending on the context of use, the code that was actually selected by the user (prescriber, dispenser, etc.) will have the coding.userSelected set to true. As described in the coding datatype: "A coding may be marked as a "userSelected" if a user selected the particular coded value in a user interface (e.g. the user selects an item in a pick-list). If a user selected coding exists, it is the preferred choice for performing translations etc. Other codes can only be literal translations to alternative code systems, or codes at a lower level of granularity (e.g. a generic code for a vendor-specific primary one).

    Control10..1
    This element is affected by the following invariants: ele-1
    BindingThe codes SHALL be taken from For example codes, see Medication Value Sethttp://hl7.org/fhir/ValueSet/medication-codes|4.0.1
    (required to https://example.org/fhir/ValueSet/medication-vs)
    TypeCodeableConcept(Codeable Concept (IPS))
    Is Modifierfalse
    Must Supporttrue
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    12. Medication.status
    Definition

    A code to indicate if the medication is in active use.

    Shortactive | inactive | entered-in-error
    Comments

    This status is intended to identify if the medication in a local system is in active use within a drug database or inventory. For example, a pharmacy system may create a new drug file record for a compounded product "ABC Hospital Special Cream" with an active status. At some point in the future, it may be determined that the drug record was created with an error and the status is changed to "entered in error". This status is not intended to specify if a medication is part of a particular formulary. It is possible that the drug record may be referenced by multiple formularies or catalogues and each of those entries would have a separate status.

    Control10..1
    BindingThe codes SHALL be taken from Medication Status Codeshttp://hl7.org/fhir/ValueSet/medication-status|4.0.1
    (required to http://hl7.org/fhir/ValueSet/medication-status|4.0.1)

    A coded concept defining if the medication is in active use.

    Typecode
    Is Modifiertrue because This element changes the interpretation of all descriptive attributes.
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
    Must Supporttrue
    Summarytrue
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    14. Medication.manufacturer
    Definition

    Describes the details of the manufacturer of the medication product. This is not intended to represent the distributor of a medication product.

    ShortManufacturer of the item
    Control0..1
    TypeReference(Organization, Organization)
    Is Modifierfalse
    Must Supporttrue
    Summarytrue
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    16. Medication.form
    Definition

    Describes the form of the item. Powder; tablets; capsule.

    Administrable Pharmaceutical Dose Form. This code represents the form of the medication (e.g. tablet, capsule, liquid)

    Since the EDQM Standards Terms, together with UCUM, is one of the IDMP terminologies actually available for usage, this code system has been selected as referecne terminology for representing Pharmaceutical Dose forms;Pakages and Route of Administration.

    It is known that also alternative jurisdictional and international terminologies are known to be used for this concept domain, as NCI or SNOMED CT.


    Describes the form of the item. Powder; tablets; capsule.

    ShortConcept - reference to a terminology or just textpowder | tablets | capsule +
    Comments

    Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.


    When Medication is referenced from MedicationRequest, this is the ordered form. When Medication is referenced within MedicationDispense, this is the dispensed form. When Medication is referenced within MedicationAdministration, this is administered form.

    Control0..1
    This element is affected by the following invariants: ele-1
    BindingThe codes SHALL be taken from For example codes, see Form ValueSethttp://hl7.org/fhir/ValueSet/medication-form-codes|4.0.1
    (required to https://example.org/fhir/ValueSet/medication-form-vs)
    TypeCodeableConcept(Codeable Concept (IPS))
    Is Modifierfalse
    Must Supporttrue
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    18. Medication.ingredient
    Definition

    Identifies a particular constituent of interest in the product.

    ShortActive or inactive ingredient
    Comments

    The ingredients need not be a complete list. If an ingredient is not specified, this does not indicate whether an ingredient is present or absent. If an ingredient is specified it does not mean that all ingredients are specified. It is possible to specify both inactive and active ingredients.

    Control0..*
    TypeBackboneElement
    Is Modifierfalse
    Must Supporttrue
    Summaryfalse
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    20. Medication.ingredient.modifierExtension
    Definition

    May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

    Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

    ShortExtensions that cannot be ignored even if unrecognized
    Comments

    There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

    Control0..*
    TypeExtension
    Is Modifiertrue because Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
    Summarytrue
    Requirements

    Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

    Alternate Namesextensions, user content, modifiers
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
    22. Medication.ingredient.item[x]
    Definition

    The actual ingredient - either a substance (simple ingredient) or another medication of a medication.

    ShortThe actual ingredient or content
    Comments

    The IDMP ISO 11238 standard addresses the identification and exchange of regulated information on substances. The Global Ingredient Archival System (GInAS) will provide a common global identifier for all of the substances used in medicinal products, providing a definition of substances globally consistent with this standard. Those identifiers however are yet available for concrete usage, therefore in this version of the template, SNOMED CT has been chosen as reference terminology also for the active substances. This choice will be revised based on the availability and the maturity of GInAS.

    Control1..1
    TypeReference(Substance - KPS, Substance, Medication), CodeableConcept
    [x] NoteSeeChoice of Data Typesfor further information about how to use [x]
    Is Modifierfalse
    Must Supporttrue
    Summaryfalse
    Requirements

    The ingredient may reference a substance (for example, amoxicillin) or another medication (for example in the case of a compounded product, Glaxal Base).

    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    24. Medication.ingredient.strength
    Definition

    A relationship of two Quantity values - expressed as a numerator and a denominator.


    Specifies how many (or how much) of the items there are in this Medication. For example, 250 mg per tablet. This is expressed as a ratio where the numerator is 250mg and the denominator is 1 tablet.

    ShortA ratio of two Quantity values - a numerator and a denominatorQuantity of ingredient present
    Comments

    The Ratio datatype should only be used to express a relationship of two numbers if the relationship cannot be suitably expressed using a Quantity and a common unit. Where the denominator value is known to be fixed to "1", Quantity should be used instead of Ratio.

    Control0..1
    This element is affected by the following invariants: ele-1
    TypeRatio(Ratio (IPS))
    Is Modifierfalse
    Must Supporttrue
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    rat-1: Numerator and denominator SHALL both be present, or both are absent. If both are absent, there SHALL be some extension present ((numerator.empty() xor denominator.exists()) and (numerator.exists() or extension.exists()))
    26. Medication.ingredient.strength.numerator
    Definition

    A measured amount (or an amount that can potentially be measured). Note that measured amounts include amounts that are not precisely quantified, including amounts involving arbitrary units and floating currencies. This profile imposes that the code system for units be UCUM.


    The value of the numerator.

    ShortA measured amount using UCUMNumerator value
    Comments

    The context of use may frequently define what kind of quantity this is and therefore what kind of units can be used. The context of use may also restrict the values for the comparator.

    Control0..1
    This element is affected by the following invariants: ele-1
    TypeQuantity(Quantity (IPS))
    Is Modifierfalse
    Must Supporttrue
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    qty-3: If a code for the unit is present, the system SHALL also be present (code.empty() or system.exists())
    28. Medication.ingredient.strength.numerator.comparator
    Definition

    How the value should be understood and represented - whether the actual value is greater or less than the stated value due to measurement issues; e.g. if the comparator is "<" , then the real value is < stated value.

    Short< | <= | >= | > - how to understand the value
    Control0..1
    BindingThe codes SHALL be taken from QuantityComparatorhttp://hl7.org/fhir/ValueSet/quantity-comparator|4.0.1
    (required to http://hl7.org/fhir/ValueSet/quantity-comparator|4.0.1)

    How the Quantity should be understood and represented.

    Typecode
    Is Modifiertrue because This is labeled as "Is Modifier" because the comparator modifies the interpretation of the value significantly. If there is no comparator, then there is no modification of the value
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
    Summarytrue
    Requirements

    Need a framework for handling measures where the value is <5ug/L or >400mg/L due to the limitations of measuring methodology.

    Meaning if MissingIf there is no comparator, then there is no modification of the value
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    30. Medication.ingredient.strength.numerator.unit
    Definition

    A human-readable form of the unit.

    ShortUnit representation
    Control0..1
    BindingThe codes SHOULD be taken from For codes, see UCUM Units for Medication Strength
    (preferred to https://example.org/fhir/ValueSet/ucum-units-vs)
    Typestring
    Is Modifierfalse
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
    Summarytrue
    Requirements

    There are many representations for units of measure and in many contexts, particular representations are fixed and required. I.e. mcg for micrograms.

    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    32. Medication.ingredient.strength.numerator.system
    Definition

    The identification of the system that provides the coded form of the unit.

    ShortUCUM system for unitsSystem that defines coded unit form
    Control10..1
    This element is affected by the following invariants: qty-3
    Typeuri
    Is Modifierfalse
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
    Must Supporttrue
    Summarytrue
    Requirements

    Need to know the system that defines the coded form of the unit.

    Fixed Valuehttp://unitsofmeasure.org
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    34. Medication.ingredient.strength.numerator.code
    Definition

    A computer processable form of the unit in some unit representation system.

    ShortCoded form of the unit
    Comments

    The preferred system is UCUM, but SNOMED CT can also be used (for customary units) or ISO 4217 for currency. The context of use may additionally require a code from a particular system.

    Control10..1
    Typecode
    Is Modifierfalse
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
    Must Supporttrue
    Summarytrue
    Requirements

    Need a computable form of the unit that is fixed across all forms. UCUM provides this for quantities, but SNOMED CT provides many units of interest.

    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    36. Medication.ingredient.strength.denominator
    Definition

    A measured amount (or an amount that can potentially be measured). Note that measured amounts include amounts that are not precisely quantified, including amounts involving arbitrary units and floating currencies. This profile imposes that the code system for units be UCUM.


    The value of the denominator.

    ShortA measured amount using UCUMDenominator value
    Comments

    The context of use may frequently define what kind of quantity this is and therefore what kind of units can be used. The context of use may also restrict the values for the comparator.

    Control0..1
    This element is affected by the following invariants: ele-1
    TypeQuantity(Quantity (IPS))
    Is Modifierfalse
    Must Supporttrue
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    qty-3: If a code for the unit is present, the system SHALL also be present (code.empty() or system.exists())
    38. Medication.ingredient.strength.denominator.comparator
    Definition

    How the value should be understood and represented - whether the actual value is greater or less than the stated value due to measurement issues; e.g. if the comparator is "<" , then the real value is < stated value.

    Short< | <= | >= | > - how to understand the value
    Control0..1
    BindingThe codes SHALL be taken from QuantityComparatorhttp://hl7.org/fhir/ValueSet/quantity-comparator|4.0.1
    (required to http://hl7.org/fhir/ValueSet/quantity-comparator|4.0.1)

    How the Quantity should be understood and represented.

    Typecode
    Is Modifiertrue because This is labeled as "Is Modifier" because the comparator modifies the interpretation of the value significantly. If there is no comparator, then there is no modification of the value
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
    Summarytrue
    Requirements

    Need a framework for handling measures where the value is <5ug/L or >400mg/L due to the limitations of measuring methodology.

    Meaning if MissingIf there is no comparator, then there is no modification of the value
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    40. Medication.ingredient.strength.denominator.unit
    Definition

    A human-readable form of the unit.

    ShortUnit representation
    Control0..1
    BindingThe codes SHOULD be taken from For codes, see UCUM Units for Medication Strength
    (preferred to https://example.org/fhir/ValueSet/ucum-units-vs)
    Typestring
    Is Modifierfalse
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
    Summarytrue
    Requirements

    There are many representations for units of measure and in many contexts, particular representations are fixed and required. I.e. mcg for micrograms.

    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    42. Medication.ingredient.strength.denominator.system
    Definition

    The identification of the system that provides the coded form of the unit.

    ShortUCUM system for unitsSystem that defines coded unit form
    Control10..1
    This element is affected by the following invariants: qty-3
    Typeuri
    Is Modifierfalse
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
    Must Supporttrue
    Summarytrue
    Requirements

    Need to know the system that defines the coded form of the unit.

    Fixed Valuehttp://unitsofmeasure.org
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    44. Medication.ingredient.strength.denominator.code
    Definition

    A computer processable form of the unit in some unit representation system.

    ShortCoded form of the unit
    Comments

    The preferred system is UCUM, but SNOMED CT can also be used (for customary units) or ISO 4217 for currency. The context of use may additionally require a code from a particular system.

    Control10..1
    Typecode
    Is Modifierfalse
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
    Must Supporttrue
    Summarytrue
    Requirements

    Need a computable form of the unit that is fixed across all forms. UCUM provides this for quantities, but SNOMED CT provides many units of interest.

    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    46. Medication.batch
    Definition

    Information that only applies to packages (not products).

    ShortDetails about packaged medications
    Control0..1
    TypeBackboneElement
    Is Modifierfalse
    Must Supporttrue
    Summaryfalse
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    48. Medication.batch.modifierExtension
    Definition

    May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

    Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

    ShortExtensions that cannot be ignored even if unrecognized
    Comments

    There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

    Control0..*
    TypeExtension
    Is Modifiertrue because Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
    Summarytrue
    Requirements

    Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

    Alternate Namesextensions, user content, modifiers
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
    50. Medication.batch.lotNumber
    Definition

    The assigned lot number of a batch of the specified product.

    ShortIdentifier assigned to batch
    Control10..1
    Typestring
    Is Modifierfalse
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
    Must Supporttrue
    Summaryfalse
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    52. Medication.batch.expirationDate
    Definition

    When this specific batch of product will expire.

    ShortWhen batch will expire
    Control0..1
    TypedateTime
    Is Modifierfalse
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
    Must Supporttrue
    Summaryfalse
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))

    Guidance on how to interpret the contents of this table can be foundhere

    0. Medication
    2. Medication.extension
    SlicingThis element introduces a set of slices on Medication.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
    • value @ url
    • 4. Medication.extension:brandName
      Slice NamebrandName
      Control0..1
      TypeExtension(Medication Brand Name) (Extension Type: string)
      Must Supporttrue
      6. Medication.code
      BindingThe codes SHALL be taken from Medication Value Set
      (required to https://example.org/fhir/ValueSet/medication-vs)
      8. Medication.status
      Control1..?
      Must Supporttrue
      10. Medication.manufacturer
      Must Supporttrue
      12. Medication.form
      BindingThe codes SHALL be taken from Form ValueSet
      (required to https://example.org/fhir/ValueSet/medication-form-vs)
      14. Medication.ingredient
      16. Medication.ingredient.item[x]
      TypeReference(Substance - KPS), CodeableConcept(Codeable Concept (IPS))
      [x] NoteSeeChoice of Data Typesfor further information about how to use [x]
      18. Medication.ingredient.strength
      20. Medication.ingredient.strength.numerator
      22. Medication.ingredient.strength.numerator.unit
      BindingThe codes SHOULD be taken from UCUM Units for Medication Strength
      (preferred to https://example.org/fhir/ValueSet/ucum-units-vs)
      24. Medication.ingredient.strength.denominator
      26. Medication.ingredient.strength.denominator.unit
      BindingThe codes SHOULD be taken from UCUM Units for Medication Strength
      (preferred to https://example.org/fhir/ValueSet/ucum-units-vs)
      28. Medication.batch
      Must Supporttrue
      30. Medication.batch.lotNumber
      Control1..?
      Must Supporttrue
      32. Medication.batch.expirationDate
      Must Supporttrue

      Guidance on how to interpret the contents of this table can be foundhere

      0. Medication
      Definition

      This resource is primarily used for the identification and definition of a medication for the purposes of prescribing, dispensing, and administering a medication as well as for making statements about medication use.

      ShortDefinition of a Medication
      Comments

      IPS Medication

      Control0..*
      Is Modifierfalse
      Summaryfalse
      Invariantsdom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources (contained.contained.empty())
      dom-3: 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: 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: If a resource is contained in another resource, it SHALL NOT have a security label (contained.meta.security.empty())
      dom-6: A resource should have narrative for robust management (text.`div`.exists())
      2. Medication.id
      Definition

      The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.

      ShortLogical id of this artifact
      Comments

      The only time that a resource does not have an id is when it is being submitted to the server using a create operation.

      Control0..1
      Typeid
      Is Modifierfalse
      Summarytrue
      4. Medication.meta
      Definition

      The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.

      ShortMetadata about the resource
      Control0..1
      TypeMeta
      Is Modifierfalse
      Summarytrue
      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
      6. Medication.implicitRules
      Definition

      A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.

      ShortA set of rules under which this content was created
      Comments

      Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. Often, when used, the URL is a reference to an implementation guide that defines these special rules as part of it's narrative along with other profiles, value sets, etc.

      Control0..1
      Typeuri
      Is Modifiertrue because This element is labeled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation
      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
      Summarytrue
      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
      8. Medication.language
      Definition

      The base language in which the resource is written.

      ShortLanguage of the resource content
      Comments

      Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource. Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).

      Control0..1
      BindingThe codes SHOULD be taken from CommonLanguages
      (preferred to http://hl7.org/fhir/ValueSet/languages)

      A human language.

      Additional BindingsPurpose
      AllLanguagesMax Binding
      Typecode
      Is Modifierfalse
      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
      Summaryfalse
      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
      10. Medication.text
      Definition

      A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.

      ShortText summary of the resource, for human interpretation
      Comments

      Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied). This may be necessary for data from legacy systems where information is captured as a "text blob" or where text is additionally entered raw or narrated and encoded information is added later.

      Control0..1
      TypeNarrative
      Is Modifierfalse
      Summaryfalse
      Alternate Namesnarrative, html, xhtml, display
      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
      12. Medication.contained
      Definition

      These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.

      ShortContained, inline Resources
      Comments

      This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again. Contained resources may have profiles and tags In their meta elements, but SHALL NOT have security labels.

      Control0..*
      TypeResource
      Is Modifierfalse
      Summaryfalse
      Alternate Namesinline resources, anonymous resources, contained resources
      14. Medication.extension
      Definition

      An Extension

      ShortExtension
      Control0..*
      TypeExtension
      Is Modifierfalse
      Summaryfalse
      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
      ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
      SlicingThis element introduces a set of slices on Medication.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
      • value @ url
      • 16. Medication.extension:brandName
        Slice NamebrandName
        Definition

        Captures the brand name under which the medication is marketed in Kenya.

        ShortMedication Brand Name
        Control0..1
        This element is affected by the following invariants: ele-1
        TypeExtension(Medication Brand Name) (Extension Type: string)
        Is Modifierfalse
        Must Supporttrue
        Summaryfalse
        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
        ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
        18. Medication.modifierExtension
        Definition

        May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

        Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

        ShortExtensions that cannot be ignored
        Comments

        There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

        Control0..*
        TypeExtension
        Is Modifiertrue because Modifier extensions are expected to modify the meaning or interpretation of the resource that contains them
        Summaryfalse
        Requirements

        Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

        Alternate Namesextensions, user content
        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
        ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
        20. Medication.identifier
        Definition

        Business identifier for this medication.

        ShortBusiness identifier for this medication
        Comments

        The serial number could be included as an identifier.

        NoteThis is a business identifier, not a resource identifier (see discussion)
        Control0..*
        TypeIdentifier
        Is Modifierfalse
        Summarytrue
        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
        22. Medication.code
        Definition

        Medication that was administered or was to be administered.

        Several kinds of medication coding could be provided as:

        1. The IDMP Pharmaceutical Product Identifier (PhPID), Level 1, [Substance(s)]. Example: Amoxicillin and Clavulanate Potassium; or any other equivalent coded concept;
        2. The IDMP Pharmaceutical Product Identifier (PhPID), Level 2 [Substance(s) + Strength + reference strength]. Example: Amoxicillin 875 mg and Clavulanate Potassium 125 mg; or any other equivalent coded concept;
        3. The IDMP Pharmaceutical Product Identifier (PhPID), Level 3 [Substance(s) + administrable dose form]. Example: Amoxicillin and Clavulanate Potassium, Oral Tablet; or any other equivalent coded concept;
        4. The IDMP Pharmaceutical Product Identifier (PhPID), Level 4 [Substance(s) + strength + reference strength + administrable dose form]. Example: Amoxicillin 875 mg and clavulanate potassium 125 mg, oral tablet; or any other equivalent coded concept 5. The IDMP Medicinal Product Identifier (MPID) or any equivalent Medicinal Product Identifier. IDMP MPID uniquely identifies a Medicinal Product, reflecting (but not replacing) any other authorization numbers allocated by a regulator. MPID implies one (set of) PhPID. The MPID shall use a common segment pattern related to a Medicinal Product, which, when each segment is valued shall define a specific MPID concept.
        5. The IDMP Packaged Medicinal Product Identifier (PCID) or any equivalent Packaged Medicinal Product Identifier. Uniquely identifies a Medicinal Product based on its packaging. This implies one MPID can be associated with more than one PCID, if the same Medicinal Product has more than one type of package.
        6. Any other kind of code that that identifies, classifies or cluster the administered product (e.g. the medicinal product or the product class)

        The value sets used for the PhPID, MPID and PCID identifiers are provisional and include only few equivalent concepts used for exemplification purposes, they will be updated with real IDMP identifiers when they will become available.

        ShortMedication that was administered or was to be administered (medication code from any code system)
        Comments

        Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.

        Control1..1
        This element is affected by the following invariants: ele-1
        BindingThe codes SHALL be taken from Medication Value Set
        (required to https://example.org/fhir/ValueSet/medication-vs)
        TypeCodeableConcept(Codeable Concept (IPS))
        Is Modifierfalse
        Must Supporttrue
        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
        24. Medication.status
        Definition

        A code to indicate if the medication is in active use.

        Shortactive | inactive | entered-in-error
        Comments

        This status is intended to identify if the medication in a local system is in active use within a drug database or inventory. For example, a pharmacy system may create a new drug file record for a compounded product "ABC Hospital Special Cream" with an active status. At some point in the future, it may be determined that the drug record was created with an error and the status is changed to "entered in error". This status is not intended to specify if a medication is part of a particular formulary. It is possible that the drug record may be referenced by multiple formularies or catalogues and each of those entries would have a separate status.

        Control1..1
        BindingThe codes SHALL be taken from Medication Status Codes
        (required to http://hl7.org/fhir/ValueSet/medication-status|4.0.1)

        A coded concept defining if the medication is in active use.

        Typecode
        Is Modifiertrue because This element changes the interpretation of all descriptive attributes.
        Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
        Must Supporttrue
        Summarytrue
        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
        26. Medication.manufacturer
        Definition

        Describes the details of the manufacturer of the medication product. This is not intended to represent the distributor of a medication product.

        ShortManufacturer of the item
        Control0..1
        TypeReference(Organization)
        Is Modifierfalse
        Must Supporttrue
        Summarytrue
        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
        28. Medication.form
        Definition

        Describes the form of the item. Powder; tablets; capsule.

        Administrable Pharmaceutical Dose Form. This code represents the form of the medication (e.g. tablet, capsule, liquid)

        Since the EDQM Standards Terms, together with UCUM, is one of the IDMP terminologies actually available for usage, this code system has been selected as referecne terminology for representing Pharmaceutical Dose forms;Pakages and Route of Administration.

        It is known that also alternative jurisdictional and international terminologies are known to be used for this concept domain, as NCI or SNOMED CT.

        ShortConcept - reference to a terminology or just text
        Comments

        Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.

        Control0..1
        This element is affected by the following invariants: ele-1
        BindingThe codes SHALL be taken from Form ValueSet
        (required to https://example.org/fhir/ValueSet/medication-form-vs)
        TypeCodeableConcept(Codeable Concept (IPS))
        Is Modifierfalse
        Must Supporttrue
        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
        30. Medication.amount
        Definition

        Specific amount of the drug in the packaged product. For example, when specifying a product that has the same strength (For example, Insulin glargine 100 unit per mL solution for injection), this attribute provides additional clarification of the package amount (For example, 3 mL, 10mL, etc.).

        ShortAmount of drug in package
        Control0..1
        TypeRatio
        Is Modifierfalse
        Summarytrue
        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
        32. Medication.ingredient
        Definition

        Identifies a particular constituent of interest in the product.

        ShortActive or inactive ingredient
        Comments

        The ingredients need not be a complete list. If an ingredient is not specified, this does not indicate whether an ingredient is present or absent. If an ingredient is specified it does not mean that all ingredients are specified. It is possible to specify both inactive and active ingredients.

        Control0..*
        TypeBackboneElement
        Is Modifierfalse
        Must Supporttrue
        Summaryfalse
        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
        34. Medication.ingredient.id
        Definition

        Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

        ShortUnique id for inter-element referencing
        Control0..1
        Typestring
        Is Modifierfalse
        XML FormatIn the XML format, this property is represented as an attribute.
        Summaryfalse
        36. Medication.ingredient.extension
        Definition

        May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

        ShortAdditional content defined by implementations
        Comments

        There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

        Control0..*
        TypeExtension
        Is Modifierfalse
        Summaryfalse
        Alternate Namesextensions, user content
        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
        ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
        38. Medication.ingredient.modifierExtension
        Definition

        May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

        Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

        ShortExtensions that cannot be ignored even if unrecognized
        Comments

        There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

        Control0..*
        TypeExtension
        Is Modifiertrue because Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
        Summarytrue
        Requirements

        Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

        Alternate Namesextensions, user content, modifiers
        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
        ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
        40. Medication.ingredient.item[x]
        Definition

        The actual ingredient - either a substance (simple ingredient) or another medication of a medication.

        ShortThe actual ingredient or content
        Comments

        The IDMP ISO 11238 standard addresses the identification and exchange of regulated information on substances. The Global Ingredient Archival System (GInAS) will provide a common global identifier for all of the substances used in medicinal products, providing a definition of substances globally consistent with this standard. Those identifiers however are yet available for concrete usage, therefore in this version of the template, SNOMED CT has been chosen as reference terminology also for the active substances. This choice will be revised based on the availability and the maturity of GInAS.

        Control1..1
        TypeReference(Substance - KPS)
        [x] NoteSeeChoice of Data Typesfor further information about how to use [x]
        Is Modifierfalse
        Must Supporttrue
        Summaryfalse
        Requirements

        The ingredient may reference a substance (for example, amoxicillin) or another medication (for example in the case of a compounded product, Glaxal Base).

        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
        42. Medication.ingredient.isActive
        Definition

        Indication of whether this ingredient affects the therapeutic action of the drug.

        ShortActive ingredient indicator
        Control0..1
        Typeboolean
        Is Modifierfalse
        Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
        Summaryfalse
        Requirements

        True indicates that the ingredient affects the therapeutic action of the drug (i.e. active). False indicates that the ingredient does not affect the therapeutic action of the drug (i.e. inactive).

        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
        44. Medication.ingredient.strength
        Definition

        A relationship of two Quantity values - expressed as a numerator and a denominator.

        ShortA ratio of two Quantity values - a numerator and a denominator
        Comments

        The Ratio datatype should only be used to express a relationship of two numbers if the relationship cannot be suitably expressed using a Quantity and a common unit. Where the denominator value is known to be fixed to "1", Quantity should be used instead of Ratio.

        Control0..1
        This element is affected by the following invariants: ele-1
        TypeRatio(Ratio (IPS))
        Is Modifierfalse
        Must Supporttrue
        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
        rat-1: Numerator and denominator SHALL both be present, or both are absent. If both are absent, there SHALL be some extension present ((numerator.empty() xor denominator.exists()) and (numerator.exists() or extension.exists()))
        46. Medication.ingredient.strength.id
        Definition

        Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

        ShortUnique id for inter-element referencing
        Control0..1
        Typestring
        Is Modifierfalse
        XML FormatIn the XML format, this property is represented as an attribute.
        Summaryfalse
        48. Medication.ingredient.strength.extension
        Definition

        May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

        ShortAdditional content defined by implementations
        Comments

        There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

        Control0..*
        TypeExtension
        Is Modifierfalse
        Summaryfalse
        Alternate Namesextensions, user content
        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
        ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
        SlicingThis element introduces a set of slices on Medication.ingredient.strength.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
        • value @ url
        • 50. Medication.ingredient.strength.numerator
          Definition

          A measured amount (or an amount that can potentially be measured). Note that measured amounts include amounts that are not precisely quantified, including amounts involving arbitrary units and floating currencies. This profile imposes that the code system for units be UCUM.

          ShortA measured amount using UCUM
          Comments

          The context of use may frequently define what kind of quantity this is and therefore what kind of units can be used. The context of use may also restrict the values for the comparator.

          Control0..1
          This element is affected by the following invariants: ele-1
          TypeQuantity(Quantity (IPS))
          Is Modifierfalse
          Must Supporttrue
          Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
          qty-3: If a code for the unit is present, the system SHALL also be present (code.empty() or system.exists())
          52. Medication.ingredient.strength.numerator.id
          Definition

          Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

          ShortUnique id for inter-element referencing
          Control0..1
          Typestring
          Is Modifierfalse
          XML FormatIn the XML format, this property is represented as an attribute.
          Summaryfalse
          54. Medication.ingredient.strength.numerator.extension
          Definition

          May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

          ShortAdditional content defined by implementations
          Comments

          There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

          Control0..*
          TypeExtension
          Is Modifierfalse
          Summaryfalse
          Alternate Namesextensions, user content
          Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
          ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
          SlicingThis element introduces a set of slices on Medication.ingredient.strength.numerator.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
          • value @ url
          • 56. Medication.ingredient.strength.numerator.value
            Definition

            The value of the measured amount. The value includes an implicit precision in the presentation of the value.

            ShortNumerical value (with implicit precision)
            Comments

            The implicit precision in the value should always be honored. Monetary values have their own rules for handling precision (refer to standard accounting text books).

            Control0..1
            Typedecimal
            Is Modifierfalse
            Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
            Summarytrue
            Requirements

            Precision is handled implicitly in almost all cases of measurement.

            Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
            58. Medication.ingredient.strength.numerator.comparator
            Definition

            How the value should be understood and represented - whether the actual value is greater or less than the stated value due to measurement issues; e.g. if the comparator is "<" , then the real value is < stated value.

            Short< | <= | >= | > - how to understand the value
            Control0..1
            BindingThe codes SHALL be taken from QuantityComparator
            (required to http://hl7.org/fhir/ValueSet/quantity-comparator|4.0.1)

            How the Quantity should be understood and represented.

            Typecode
            Is Modifiertrue because This is labeled as "Is Modifier" because the comparator modifies the interpretation of the value significantly. If there is no comparator, then there is no modification of the value
            Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
            Summarytrue
            Requirements

            Need a framework for handling measures where the value is <5ug/L or >400mg/L due to the limitations of measuring methodology.

            Meaning if MissingIf there is no comparator, then there is no modification of the value
            Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
            60. Medication.ingredient.strength.numerator.unit
            Definition

            A human-readable form of the unit.

            ShortUnit representation
            Control0..1
            BindingThe codes SHOULD be taken from UCUM Units for Medication Strength
            (preferred to https://example.org/fhir/ValueSet/ucum-units-vs)
            Typestring
            Is Modifierfalse
            Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
            Summarytrue
            Requirements

            There are many representations for units of measure and in many contexts, particular representations are fixed and required. I.e. mcg for micrograms.

            Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
            62. Medication.ingredient.strength.numerator.system
            Definition

            The identification of the system that provides the coded form of the unit.

            ShortUCUM system for units
            Control1..1
            This element is affected by the following invariants: qty-3
            Typeuri
            Is Modifierfalse
            Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
            Must Supporttrue
            Summarytrue
            Requirements

            Need to know the system that defines the coded form of the unit.

            Fixed Valuehttp://unitsofmeasure.org
            Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
            64. Medication.ingredient.strength.numerator.code
            Definition

            A computer processable form of the unit in some unit representation system.

            ShortCoded form of the unit
            Comments

            The preferred system is UCUM, but SNOMED CT can also be used (for customary units) or ISO 4217 for currency. The context of use may additionally require a code from a particular system.

            Control1..1
            Typecode
            Is Modifierfalse
            Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
            Must Supporttrue
            Summarytrue
            Requirements

            Need a computable form of the unit that is fixed across all forms. UCUM provides this for quantities, but SNOMED CT provides many units of interest.

            Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
            66. Medication.ingredient.strength.denominator
            Definition

            A measured amount (or an amount that can potentially be measured). Note that measured amounts include amounts that are not precisely quantified, including amounts involving arbitrary units and floating currencies. This profile imposes that the code system for units be UCUM.

            ShortA measured amount using UCUM
            Comments

            The context of use may frequently define what kind of quantity this is and therefore what kind of units can be used. The context of use may also restrict the values for the comparator.

            Control0..1
            This element is affected by the following invariants: ele-1
            TypeQuantity(Quantity (IPS))
            Is Modifierfalse
            Must Supporttrue
            Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
            qty-3: If a code for the unit is present, the system SHALL also be present (code.empty() or system.exists())
            68. Medication.ingredient.strength.denominator.id
            Definition

            Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

            ShortUnique id for inter-element referencing
            Control0..1
            Typestring
            Is Modifierfalse
            XML FormatIn the XML format, this property is represented as an attribute.
            Summaryfalse
            70. Medication.ingredient.strength.denominator.extension
            Definition

            May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

            ShortAdditional content defined by implementations
            Comments

            There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

            Control0..*
            TypeExtension
            Is Modifierfalse
            Summaryfalse
            Alternate Namesextensions, user content
            Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
            ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
            SlicingThis element introduces a set of slices on Medication.ingredient.strength.denominator.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
            • value @ url
            • 72. Medication.ingredient.strength.denominator.value
              Definition

              The value of the measured amount. The value includes an implicit precision in the presentation of the value.

              ShortNumerical value (with implicit precision)
              Comments

              The implicit precision in the value should always be honored. Monetary values have their own rules for handling precision (refer to standard accounting text books).

              Control0..1
              Typedecimal
              Is Modifierfalse
              Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
              Summarytrue
              Requirements

              Precision is handled implicitly in almost all cases of measurement.

              Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
              74. Medication.ingredient.strength.denominator.comparator
              Definition

              How the value should be understood and represented - whether the actual value is greater or less than the stated value due to measurement issues; e.g. if the comparator is "<" , then the real value is < stated value.

              Short< | <= | >= | > - how to understand the value
              Control0..1
              BindingThe codes SHALL be taken from QuantityComparator
              (required to http://hl7.org/fhir/ValueSet/quantity-comparator|4.0.1)

              How the Quantity should be understood and represented.

              Typecode
              Is Modifiertrue because This is labeled as "Is Modifier" because the comparator modifies the interpretation of the value significantly. If there is no comparator, then there is no modification of the value
              Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
              Summarytrue
              Requirements

              Need a framework for handling measures where the value is <5ug/L or >400mg/L due to the limitations of measuring methodology.

              Meaning if MissingIf there is no comparator, then there is no modification of the value
              Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
              76. Medication.ingredient.strength.denominator.unit
              Definition

              A human-readable form of the unit.

              ShortUnit representation
              Control0..1
              BindingThe codes SHOULD be taken from UCUM Units for Medication Strength
              (preferred to https://example.org/fhir/ValueSet/ucum-units-vs)
              Typestring
              Is Modifierfalse
              Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
              Summarytrue
              Requirements

              There are many representations for units of measure and in many contexts, particular representations are fixed and required. I.e. mcg for micrograms.

              Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
              78. Medication.ingredient.strength.denominator.system
              Definition

              The identification of the system that provides the coded form of the unit.

              ShortUCUM system for units
              Control1..1
              This element is affected by the following invariants: qty-3
              Typeuri
              Is Modifierfalse
              Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
              Must Supporttrue
              Summarytrue
              Requirements

              Need to know the system that defines the coded form of the unit.

              Fixed Valuehttp://unitsofmeasure.org
              Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
              80. Medication.ingredient.strength.denominator.code
              Definition

              A computer processable form of the unit in some unit representation system.

              ShortCoded form of the unit
              Comments

              The preferred system is UCUM, but SNOMED CT can also be used (for customary units) or ISO 4217 for currency. The context of use may additionally require a code from a particular system.

              Control1..1
              Typecode
              Is Modifierfalse
              Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
              Must Supporttrue
              Summarytrue
              Requirements

              Need a computable form of the unit that is fixed across all forms. UCUM provides this for quantities, but SNOMED CT provides many units of interest.

              Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
              82. Medication.batch
              Definition

              Information that only applies to packages (not products).

              ShortDetails about packaged medications
              Control0..1
              TypeBackboneElement
              Is Modifierfalse
              Must Supporttrue
              Summaryfalse
              Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
              84. Medication.batch.id
              Definition

              Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

              ShortUnique id for inter-element referencing
              Control0..1
              Typestring
              Is Modifierfalse
              XML FormatIn the XML format, this property is represented as an attribute.
              Summaryfalse
              86. Medication.batch.extension
              Definition

              May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

              ShortAdditional content defined by implementations
              Comments

              There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

              Control0..*
              TypeExtension
              Is Modifierfalse
              Summaryfalse
              Alternate Namesextensions, user content
              Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
              ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
              88. Medication.batch.modifierExtension
              Definition

              May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

              Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

              ShortExtensions that cannot be ignored even if unrecognized
              Comments

              There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

              Control0..*
              TypeExtension
              Is Modifiertrue because Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
              Summarytrue
              Requirements

              Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

              Alternate Namesextensions, user content, modifiers
              Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
              ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
              90. Medication.batch.lotNumber
              Definition

              The assigned lot number of a batch of the specified product.

              ShortIdentifier assigned to batch
              Control1..1
              Typestring
              Is Modifierfalse
              Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
              Must Supporttrue
              Summaryfalse
              Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
              92. Medication.batch.expirationDate
              Definition

              When this specific batch of product will expire.

              ShortWhen batch will expire
              Control0..1
              TypedateTime
              Is Modifierfalse
              Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
              Must Supporttrue
              Summaryfalse
              Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))