Pharmaceutical Quality (Industry)
1.0.0-ballot - ballot International flag

This page is part of the Pharmaceutical Quality (Industry) (v1.0.0-ballot: STU1 Ballot 1) based on FHIR (HL7® FHIR® Standard) v5.0.0. . For a full list of available versions, see the Directory of published versions

Resource Profile: MedicinalProductDefinitionDrugProductPq - Detailed Descriptions

Active as of 2023-12-18

Definitions for the MedicinalProductDefinition-drug-product-pq resource profile.

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

0. MedicinalProductDefinition
2. MedicinalProductDefinition.identifier
NoteThis is a business identifier, not a resource identifier (see discussion)
Must Supporttrue
4. MedicinalProductDefinition.combinedPharmaceuticalDoseForm
BindingThe codes SHOULD be taken from Medicine Dose Form EDQM

EDQM (European Directorate for the Quality of Medicines and Healthcare) Dose Form codes.

Must Supporttrue
6. MedicinalProductDefinition.route
BindingThe codes SHOULD be taken from Medicine Route of Administration EDQM

EDQM (European Directorate for the Quality of Medicines and Healthcare) Route of Administration codes.

8. MedicinalProductDefinition.name
Must Supporttrue
10. MedicinalProductDefinition.characteristic
12. MedicinalProductDefinition.characteristic.type
BindingFor example codes, see MedicinalProduct Characteristic Type

Example codes for MedicinalProduct.characteristic.type

14. MedicinalProductDefinition.characteristic.value[x]
[x] NoteSee Choice of Data Types for further information about how to use [x]
SlicingThis element introduces a set of slices on MedicinalProductDefinition.characteristic.value[x]. The slices are unordered and Closed, and can be differentiated using the following discriminators:
  • type @ $this
16. MedicinalProductDefinition.characteristic.value[x]:valueQuantity
Slice NamevalueQuantity
TypeQuantity
[x] NoteSee Choice of Data Types for further information about how to use [x]
18. MedicinalProductDefinition.characteristic.value[x]:valueQuantity.system
Pattern Valuehttp://unitsofmeasure.org
20. MedicinalProductDefinition.characteristic.value[x]:valueQuantity.code
BindingThe codes SHALL be taken from UnitsOfMeasureCaseSensitive

UCUM codes for unit

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

0. MedicinalProductDefinition
Definition

A medicinal product, being a substance or combination of substances that is intended to treat, prevent or diagnose a disease, or to restore, correct or modify physiological functions by exerting a pharmacological, immunological or metabolic action. This resource is intended to define and detail such products and their properties, for uses other than direct patient care (e.g. regulatory use, or drug catalogs).

ShortDetailed definition of a medicinal product
Control0..*
Is Modifierfalse
Must Supportfalse
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().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(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. MedicinalProductDefinition.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 its 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 its meaning or interpretation
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
Must Supportfalse
Summarytrue
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
4. MedicinalProductDefinition.contained
Definition

These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, nor can they have their own independent transaction scope. This is allowed to be a Parameters resource if and only if it is referenced by a resource that provides context/meaning.

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..*
This element is affected by the following invariants: dom-2, dom-4, dom-3, dom-5
TypeResource
Is Modifierfalse
Must Supportfalse
Summaryfalse
Alternate Namesinline resources, anonymous resources, contained resources
6. MedicinalProductDefinition.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 managable, 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
Must Supportfalse
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
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())
8. MedicinalProductDefinition.identifier
Definition

Business identifier for this product. Could be an MPID. When in development or being regulated, products are typically referenced by official identifiers, assigned by a manufacturer or regulator, and unique to a product (which, when compared to a product instance being prescribed, is actually a product type). See also MedicinalProductDefinition.code.

ShortBusiness identifier for this product. Could be an MPID
NoteThis is a business identifier, not a resource identifier (see discussion)
Control0..*
TypeIdentifier
Is Modifierfalse
Must Supporttrue
Summarytrue
Alternate NamesMPID
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
10. MedicinalProductDefinition.status
Definition

The status within the lifecycle of this product record. A high-level status, this is not intended to duplicate details carried elsewhere such as legal status, or authorization status.

ShortThe status within the lifecycle of this product record
Control0..1
BindingThe codes SHOULD be taken from PublicationStatushttp://hl7.org/fhir/ValueSet/publication-status

The lifecycle status of an artifact.

TypeCodeableConcept
Is Modifiertrue because This element is labelled as a modifier because it is a status element that can indicate that a record should not be treated as valid
Must Supportfalse
Summarytrue
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
12. MedicinalProductDefinition.combinedPharmaceuticalDoseForm
Definition

The dose form for a single part product, or combined form of a multiple part product. This is one concept that describes all the components. It does not represent the form with components physically mixed, if that might be necessary, for which see (AdministrableProductDefinition.administrableDoseForm).

ShortThe dose form for a single part product, or combined form of a multiple part product
Control0..1
BindingThe codes SHOULD be taken from For example codes, see Medicine Dose Form EDQMhttp://hl7.org/fhir/ValueSet/combined-dose-form

EDQM (European Directorate for the Quality of Medicines and Healthcare) Dose Form codes.


Dose forms for a product as a whole, considering all individual parts, but before any mixing

TypeCodeableConcept
Is Modifierfalse
Must Supporttrue
Summarytrue
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
14. MedicinalProductDefinition.route
Definition

The path by which the product is taken into or makes contact with the body. In some regions this is referred to as the licenced or approved route. See also AdministrableProductDefinition resource. MedicinalProductDefinition.route is the same concept as AdministrableProductDefinition.routeOfAdministration.code, and they cannot be used together.

ShortThe path by which the product is taken into or makes contact with the body
Control0..*
BindingThe codes SHOULD be taken from For example codes, see Medicine Route of Administration EDQMhttp://hl7.org/fhir/ValueSet/route-codes

EDQM (European Directorate for the Quality of Medicines and Healthcare) Route of Administration codes.


A code specifying the route or physiological path of administration of a therapeutic agent into or onto a patient's body.

TypeCodeableConcept
Is Modifierfalse
Must Supportfalse
Summarytrue
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
16. MedicinalProductDefinition.name
Definition

The product's name, including full name and possibly coded parts.

ShortThe product's name, including full name and possibly coded parts
Control1..*
TypeBackboneElement
Is Modifierfalse
Must Supporttrue
Summarytrue
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
18. MedicinalProductDefinition.name.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 managable, 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())
20. MedicinalProductDefinition.name.productName
Definition

The full product name.

ShortThe full product name
Control1..1
Typestring
Is Modifierfalse
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
Must Supportfalse
Summarytrue
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
22. MedicinalProductDefinition.characteristic
Definition

Allows the key product features to be recorded, such as "sugar free", "modified release", "parallel import".

ShortKey product features such as "sugar free", "modified release"
Control0..*
TypeBackboneElement
Is Modifierfalse
Must Supportfalse
Summarytrue
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
24. MedicinalProductDefinition.characteristic.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 managable, 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())
26. MedicinalProductDefinition.characteristic.type
Definition

A code expressing the type of characteristic.

ShortA code expressing the type of characteristic
Control1..1
BindingFor example codes, see MedicinalProduct Characteristic Typehttp://hl7.org/fhir/ValueSet/product-characteristic-codes

Example codes for MedicinalProduct.characteristic.type


This value set includes all observable entity codes from SNOMED CT - provided as an exemplar value set.

TypeCodeableConcept
Is Modifierfalse
Must Supportfalse
Summarytrue
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
28. MedicinalProductDefinition.characteristic.value[x]
Definition

A value for the characteristic.text.

ShortA value for the characteristic
Comments

Text, as markdown, is intended to be used only when the item cannot ever reasonably be coded. Otherwise, for cases where a code is not available, but is feasible, use CodeableConcept.text.

Control0..1
TypeChoice of: CodeableConcept, markdown, Quantity, integer, date, boolean, Attachment
[x] NoteSee Choice of Data Types for further information about how to use [x]
Is Modifierfalse
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
Must Supportfalse
Summarytrue
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
SlicingThis element introduces a set of slices on MedicinalProductDefinition.characteristic.value[x]. The slices are unordered and Open, and can be differentiated using the following discriminators:
  • type @ $this
30. MedicinalProductDefinition.characteristic.value[x]:valueQuantity
Slice NamevalueQuantity
Definition

A value for the characteristic.text.

ShortA value for the characteristic
Comments

Text, as markdown, is intended to be used only when the item cannot ever reasonably be coded. Otherwise, for cases where a code is not available, but is feasible, use CodeableConcept.text.

Control0..1
TypeQuantity, date, boolean, markdown, Attachment, integer, CodeableConcept
[x] NoteSee Choice of Data Types for further information about how to use [x]
Is Modifierfalse
Must Supportfalse
Summarytrue
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
32. MedicinalProductDefinition.characteristic.value[x]:valueQuantity.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< | <= | >= | > | ad - how to understand the value
Control0..1
BindingThe codes SHALL be taken from QuantityComparatorhttp://hl7.org/fhir/ValueSet/quantity-comparator|5.0.0

How the Quantity should be understood and represented.

Typecode
Is Modifiertrue because This is labeled as &quot;Is Modifier&quot; 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()))
34. MedicinalProductDefinition.characteristic.value[x]:valueQuantity.system
Definition

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

ShortSystem that defines coded unit form
Control0..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
Summarytrue
Requirements

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

Pattern Valuehttp://unitsofmeasure.org
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
36. MedicinalProductDefinition.characteristic.value[x]:valueQuantity.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.

Control0..1
This element is affected by the following invariants: qty-3
BindingThe codes SHALL be taken from For codes, see UnitsOfMeasureCaseSensitive

UCUM codes for unit

Typecode
Is Modifierfalse
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
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()))

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

0. MedicinalProductDefinition
Definition

A medicinal product, being a substance or combination of substances that is intended to treat, prevent or diagnose a disease, or to restore, correct or modify physiological functions by exerting a pharmacological, immunological or metabolic action. This resource is intended to define and detail such products and their properties, for uses other than direct patient care (e.g. regulatory use, or drug catalogs).

ShortDetailed definition of a medicinal product
Control0..*
Is Modifierfalse
Must Supportfalse
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().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(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. MedicinalProductDefinition.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

Within the context of the FHIR RESTful interactions, the resource has an id except for cases like the create and conditional update. Otherwise, the use of the resouce id depends on the given use case.

Control0..1
Typeid
Is Modifierfalse
Must Supportfalse
Summarytrue
4. MedicinalProductDefinition.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
Must Supportfalse
Summarytrue
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
6. MedicinalProductDefinition.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 its 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 its meaning or interpretation
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
Must Supportfalse
Summarytrue
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
8. MedicinalProductDefinition.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 SHALL be taken from AllLanguages

IETF language tag for a human language

Typecode
Is Modifierfalse
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
Must Supportfalse
Summaryfalse
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
10. MedicinalProductDefinition.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 a 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
This element is affected by the following invariants: dom-6
TypeNarrative
Is Modifierfalse
Must Supportfalse
Summaryfalse
Alternate Namesnarrative, html, xhtml, display
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
12. MedicinalProductDefinition.contained
Definition

These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, nor can they have their own independent transaction scope. This is allowed to be a Parameters resource if and only if it is referenced by a resource that provides context/meaning.

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..*
This element is affected by the following invariants: dom-2, dom-4, dom-3, dom-5
TypeResource
Is Modifierfalse
Must Supportfalse
Summaryfalse
Alternate Namesinline resources, anonymous resources, contained resources
14. MedicinalProductDefinition.extension
Definition

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 managable, 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
Must Supportfalse
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())
16. MedicinalProductDefinition.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 managable, 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
Must Supportfalse
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
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. MedicinalProductDefinition.identifier
Definition

Business identifier for this product. Could be an MPID. When in development or being regulated, products are typically referenced by official identifiers, assigned by a manufacturer or regulator, and unique to a product (which, when compared to a product instance being prescribed, is actually a product type). See also MedicinalProductDefinition.code.

ShortBusiness identifier for this product. Could be an MPID
NoteThis is a business identifier, not a resource identifier (see discussion)
Control0..*
TypeIdentifier
Is Modifierfalse
Must Supporttrue
Summarytrue
Alternate NamesMPID
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
20. MedicinalProductDefinition.type
Definition

Regulatory type, e.g. Investigational or Authorized.

ShortRegulatory type, e.g. Investigational or Authorized
Control0..1
BindingFor example codes, see MedicinalProductType

Overall defining type of this medicinal product.

TypeCodeableConcept
Is Modifierfalse
Must Supportfalse
Summarytrue
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
22. MedicinalProductDefinition.domain
Definition

If this medicine applies to human or veterinary uses.

ShortIf this medicine applies to human or veterinary uses
Control0..1
BindingFor example codes, see MedicinalProductDomain

Applicable domain for this product (e.g. human, veterinary).

TypeCodeableConcept
Is Modifierfalse
Must Supportfalse
Summarytrue
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
24. MedicinalProductDefinition.version
Definition

A business identifier relating to a specific version of the product, this is commonly used to support revisions to an existing product.

ShortA business identifier relating to a specific version of the product
NoteThis is a business versionId, not a resource version id (see discussion)
Control0..1
Typestring
Is Modifierfalse
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
Must Supportfalse
Summarytrue
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
26. MedicinalProductDefinition.status
Definition

The status within the lifecycle of this product record. A high-level status, this is not intended to duplicate details carried elsewhere such as legal status, or authorization status.

ShortThe status within the lifecycle of this product record
Control0..1
BindingThe codes SHOULD be taken from PublicationStatus

The lifecycle status of an artifact.

TypeCodeableConcept
Is Modifiertrue because This element is labelled as a modifier because it is a status element that can indicate that a record should not be treated as valid
Must Supportfalse
Summarytrue
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
28. MedicinalProductDefinition.statusDate
Definition

The date at which the given status became applicable.

ShortThe date at which the given status became applicable
Control0..1
TypedateTime
Is Modifierfalse
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
Must Supportfalse
Summarytrue
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
30. MedicinalProductDefinition.description
Definition

General description of this product.

ShortGeneral description of this product
Control0..1
Typemarkdown
Is Modifierfalse
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
Must Supportfalse
Summarytrue
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
32. MedicinalProductDefinition.combinedPharmaceuticalDoseForm
Definition

The dose form for a single part product, or combined form of a multiple part product. This is one concept that describes all the components. It does not represent the form with components physically mixed, if that might be necessary, for which see (AdministrableProductDefinition.administrableDoseForm).

ShortThe dose form for a single part product, or combined form of a multiple part product
Control0..1
BindingThe codes SHOULD be taken from Medicine Dose Form EDQM

EDQM (European Directorate for the Quality of Medicines and Healthcare) Dose Form codes.

TypeCodeableConcept
Is Modifierfalse
Must Supporttrue
Summarytrue
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
34. MedicinalProductDefinition.route
Definition

The path by which the product is taken into or makes contact with the body. In some regions this is referred to as the licenced or approved route. See also AdministrableProductDefinition resource. MedicinalProductDefinition.route is the same concept as AdministrableProductDefinition.routeOfAdministration.code, and they cannot be used together.

ShortThe path by which the product is taken into or makes contact with the body
Control0..*
BindingThe codes SHOULD be taken from Medicine Route of Administration EDQM

EDQM (European Directorate for the Quality of Medicines and Healthcare) Route of Administration codes.

TypeCodeableConcept
Is Modifierfalse
Must Supportfalse
Summarytrue
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
36. MedicinalProductDefinition.indication
Definition

Description of indication(s) for this product, used when structured indications are not required. In cases where structured indications are required, they are captured using the ClinicalUseDefinition resource. An indication is a medical situation for which using the product is appropriate.

ShortDescription of indication(s) for this product, used when structured indications are not required
Control0..1
Typemarkdown
Is Modifierfalse
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
Must Supportfalse
Summarytrue
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
38. MedicinalProductDefinition.legalStatusOfSupply
Definition

The legal status of supply of the medicinal product as classified by the regulator.

ShortThe legal status of supply of the medicinal product as classified by the regulator
Control0..1
BindingFor example codes, see LegalStatusOfSupply

The prescription supply types appropriate to a medicinal product

TypeCodeableConcept
Is Modifierfalse
Must Supportfalse
Summarytrue
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
40. MedicinalProductDefinition.additionalMonitoringIndicator
Definition

Whether the Medicinal Product is subject to additional monitoring for regulatory reasons, such as heightened reporting requirements.

ShortWhether the Medicinal Product is subject to additional monitoring for regulatory reasons
Control0..1
BindingFor example codes, see AdditionalMonitoring

Extra measures defined for a Medicinal Product, such as heightened reporting requirements (e.g. Black Triangle Monitoring).

TypeCodeableConcept
Is Modifierfalse
Must Supportfalse
Summarytrue
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
42. MedicinalProductDefinition.specialMeasures
Definition

Whether the Medicinal Product is subject to special measures for regulatory reasons, such as a requirement to conduct post-authorization studies.

ShortWhether the Medicinal Product is subject to special measures for regulatory reasons
Control0..*
BindingFor example codes, see SpecialMeasures

Extra measures defined for a Medicinal Product, such as a requirement to conduct post-authorization studies.

TypeCodeableConcept
Is Modifierfalse
Must Supportfalse
Summarytrue
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
44. MedicinalProductDefinition.pediatricUseIndicator
Definition

If authorised for use in children, or infants, neonates etc.

ShortIf authorised for use in children
Control0..1
BindingFor example codes, see PediatricUse

Suitability for age groups, in particular children.

TypeCodeableConcept
Is Modifierfalse
Must Supportfalse
Summarytrue
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
46. MedicinalProductDefinition.classification
Definition

Allows the product to be classified by various systems, commonly WHO ATC.

ShortAllows the product to be classified by various systems
Control0..*
BindingFor example codes, see ProductClassification

This value set includes codes from the Anatomical Therapeutic Chemical Classification System - provided as an exemplar value set.

TypeCodeableConcept
Is Modifierfalse
Must Supportfalse
Summarytrue
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
48. MedicinalProductDefinition.marketingStatus
Definition

Marketing status of the medicinal product, in contrast to marketing authorization. This refers to the product being actually 'on the market' as opposed to being allowed to be on the market (which is an authorization).

ShortMarketing status of the medicinal product, in contrast to marketing authorization
Control0..*
TypeMarketingStatus
Is Modifierfalse
Must Supportfalse
Summarytrue
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
50. MedicinalProductDefinition.packagedMedicinalProduct
Definition

Package type for the product. See also the PackagedProductDefinition resource.

ShortPackage type for the product
Control0..*
BindingFor example codes, see MedicinalProductPackageType

Types of medicinal product packs

TypeCodeableConcept
Is Modifierfalse
Must Supportfalse
Summarytrue
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
52. MedicinalProductDefinition.comprisedOf
Definition

Types of medicinal manufactured items and/or devices that this product consists of, such as tablets, capsule, or syringes. Used as a direct link when the item's packaging is not being recorded (see also PackagedProductDefinition.package.containedItem.item).

ShortTypes of medicinal manufactured items and/or devices that this product consists of, such as tablets, capsule, or syringes
Control0..*
TypeReference(ManufacturedItemDefinition, DeviceDefinition)
Is Modifierfalse
Must Supportfalse
Summarytrue
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
54. MedicinalProductDefinition.ingredient
Definition

The ingredients of this medicinal product - when not detailed in other resources. This is only needed if the ingredients are not specified by incoming references from the Ingredient resource, or indirectly via incoming AdministrableProductDefinition, PackagedProductDefinition or ManufacturedItemDefinition references. In cases where those levels of detail are not used, the ingredients may be specified directly here as codes.

ShortThe ingredients of this medicinal product - when not detailed in other resources
Control0..*
BindingFor example codes, see SNOMEDCTSubstanceCodes

This value set includes all substance codes from SNOMED CT - provided as an exemplar value set.

TypeCodeableConcept
Is Modifierfalse
Must Supportfalse
Summarytrue
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
56. MedicinalProductDefinition.impurity
Definition

Any component of the drug product which is not the chemical entity defined as the drug substance, or an excipient in the drug product. This includes process-related impurities and contaminants, product-related impurities including degradation products.

ShortAny component of the drug product which is not the chemical entity defined as the drug substance, or an excipient in the drug product
Control0..*
BindingFor example codes, see SNOMEDCTSubstanceCodes

This value set includes all substance codes from SNOMED CT - provided as an exemplar value set.

TypeCodeableReference(SubstanceDefinition)
Is Modifierfalse
Must Supportfalse
Summarytrue
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
58. MedicinalProductDefinition.attachedDocument
Definition

Additional information or supporting documentation about the medicinal product.

ShortAdditional documentation about the medicinal product
Control0..*
TypeReference(DocumentReference)
Is Modifierfalse
Must Supportfalse
Summarytrue
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
60. MedicinalProductDefinition.masterFile
Definition

A master file for the medicinal product (e.g. Pharmacovigilance System Master File). Drug master files (DMFs) are documents submitted to regulatory agencies to provide confidential detailed information about facilities, processes or articles used in the manufacturing, processing, packaging and storing of drug products.

ShortA master file for the medicinal product (e.g. Pharmacovigilance System Master File)
Control0..*
TypeReference(DocumentReference)
Is Modifierfalse
Must Supportfalse
Summarytrue
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
62. MedicinalProductDefinition.contact
Definition

A product specific contact, person (in a role), or an organization.

ShortA product specific contact, person (in a role), or an organization
Control0..*
TypeBackboneElement
Is Modifierfalse
Must Supportfalse
Summarytrue
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
64. MedicinalProductDefinition.contact.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
This element is affected by the following invariants: ele-1
Typestring
Is Modifierfalse
XML FormatIn the XML format, this property is represented as an attribute.
Summaryfalse
66. MedicinalProductDefinition.contact.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 managable, 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())
68. MedicinalProductDefinition.contact.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 managable, 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())
70. MedicinalProductDefinition.contact.type
Definition

Allows the contact to be classified, for example QPPV, Pharmacovigilance Enquiry Information.

ShortAllows the contact to be classified, for example QPPV, Pharmacovigilance Enquiry Information
Control0..1
BindingFor example codes, see ProductContactType

Extra measures defined for a Medicinal Product, such as heightened reporting requirements.

TypeCodeableConcept
Is Modifierfalse
Must Supportfalse
Summarytrue
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
72. MedicinalProductDefinition.contact.contact
Definition

A product specific contact, person (in a role), or an organization.

ShortA product specific contact, person (in a role), or an organization
Control1..1
TypeReference(Organization, PractitionerRole)
Is Modifierfalse
Must Supportfalse
Summarytrue
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
74. MedicinalProductDefinition.clinicalTrial
Definition

Clinical trials or studies that this product is involved in.

ShortClinical trials or studies that this product is involved in
Control0..*
TypeReference(ResearchStudy)
Is Modifierfalse
Must Supportfalse
Summarytrue
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
76. MedicinalProductDefinition.code
Definition

A code that this product is known by, usually within some formal terminology, perhaps assigned by a third party (i.e. not the manufacturer or regulator). Products (types of medications) tend to be known by identifiers during development and within regulatory process. However when they are prescribed they tend to be identified by codes. The same product may be have multiple codes, applied to it by multiple organizations.

ShortA code that this product is known by, within some formal terminology
Control0..*
BindingFor example codes, see SNOMEDCTMedicationCodes

A coded concept that defines the type of a medication.

TypeCoding
Is Modifierfalse
Must Supportfalse
Summarytrue
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
78. MedicinalProductDefinition.name
Definition

The product's name, including full name and possibly coded parts.

ShortThe product's name, including full name and possibly coded parts
Control1..*
TypeBackboneElement
Is Modifierfalse
Must Supporttrue
Summarytrue
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
80. MedicinalProductDefinition.name.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
This element is affected by the following invariants: ele-1
Typestring
Is Modifierfalse
XML FormatIn the XML format, this property is represented as an attribute.
Summaryfalse
82. MedicinalProductDefinition.name.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 managable, 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())
84. MedicinalProductDefinition.name.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 managable, 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())
86. MedicinalProductDefinition.name.productName
Definition

The full product name.

ShortThe full product name
Control1..1
Typestring
Is Modifierfalse
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
Must Supportfalse
Summarytrue
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
88. MedicinalProductDefinition.name.type
Definition

Type of product name, such as rINN, BAN, Proprietary, Non-Proprietary.

ShortType of product name, such as rINN, BAN, Proprietary, Non-Proprietary
Control0..1
BindingFor example codes, see ProductNameType

Type of a name for a Medicinal Product.

TypeCodeableConcept
Is Modifierfalse
Must Supportfalse
Summarytrue
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
90. MedicinalProductDefinition.name.part
Definition

Coding words or phrases of the name.

ShortCoding words or phrases of the name
Control0..*
TypeBackboneElement
Is Modifierfalse
Must Supportfalse
Summarytrue
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
92. MedicinalProductDefinition.name.part.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
This element is affected by the following invariants: ele-1
Typestring
Is Modifierfalse
XML FormatIn the XML format, this property is represented as an attribute.
Summaryfalse
94. MedicinalProductDefinition.name.part.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 managable, 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())
96. MedicinalProductDefinition.name.part.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 managable, 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())
98. MedicinalProductDefinition.name.part.part
Definition

A fragment of a product name.

ShortA fragment of a product name
Control1..1
Typestring
Is Modifierfalse
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
Must Supportfalse
Summarytrue
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
100. MedicinalProductDefinition.name.part.type
Definition

Identifying type for this part of the name (e.g. strength part).

ShortIdentifying type for this part of the name (e.g. strength part)
Control1..1
BindingFor example codes, see ProductNamePartType

Type of part of a name for a Medicinal Product.

TypeCodeableConcept
Is Modifierfalse
Must Supportfalse
Summarytrue
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
102. MedicinalProductDefinition.name.usage
Definition

Country and jurisdiction where the name applies, and associated language.

ShortCountry and jurisdiction where the name applies
Control0..*
TypeBackboneElement
Is Modifierfalse
Must Supportfalse
Summarytrue
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
104. MedicinalProductDefinition.name.usage.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
This element is affected by the following invariants: ele-1
Typestring
Is Modifierfalse
XML FormatIn the XML format, this property is represented as an attribute.
Summaryfalse
106. MedicinalProductDefinition.name.usage.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 managable, 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())
108. MedicinalProductDefinition.name.usage.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 managable, 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())
110. MedicinalProductDefinition.name.usage.country
Definition

Country code for where this name applies.

ShortCountry code for where this name applies
Control1..1
BindingFor example codes, see CountryValueSet

Jurisdiction codes

TypeCodeableConcept
Is Modifierfalse
Must Supportfalse
Summarytrue
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
112. MedicinalProductDefinition.name.usage.jurisdiction
Definition

Jurisdiction code for where this name applies. A jurisdiction may be a sub- or supra-national entity (e.g. a state or a geographic region).

ShortJurisdiction code for where this name applies
Control0..1
BindingFor example codes, see JurisdictionValueSet

Jurisdiction codes

TypeCodeableConcept
Is Modifierfalse
Must Supportfalse
Summarytrue
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
114. MedicinalProductDefinition.name.usage.language
Definition

Language code for this name.

ShortLanguage code for this name
Control1..1
BindingThe codes SHALL be taken from AllLanguages

IETF language tag for a human language

TypeCodeableConcept
Is Modifierfalse
Must Supportfalse
Summarytrue
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
116. MedicinalProductDefinition.crossReference
Definition

Reference to another product, e.g. for linking authorised to investigational product, or a virtual product.

ShortReference to another product, e.g. for linking authorised to investigational product
Control0..*
TypeBackboneElement
Is Modifierfalse
Must Supportfalse
Summarytrue
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
118. MedicinalProductDefinition.crossReference.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
This element is affected by the following invariants: ele-1
Typestring
Is Modifierfalse
XML FormatIn the XML format, this property is represented as an attribute.
Summaryfalse
120. MedicinalProductDefinition.crossReference.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 managable, 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())
122. MedicinalProductDefinition.crossReference.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 managable, 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())
124. MedicinalProductDefinition.crossReference.product
Definition

Reference to another product, e.g. for linking authorised to investigational product.

ShortReference to another product, e.g. for linking authorised to investigational product
Control1..1
TypeCodeableReference(MedicinalProductDefinition)
Is Modifierfalse
Must Supportfalse
Summarytrue
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
126. MedicinalProductDefinition.crossReference.type
Definition

The type of relationship, for instance branded to generic, virtual to actual product, product to development product (investigational), parallel import version.

ShortThe type of relationship, for instance branded to generic or virtual to actual product
Control0..1
BindingFor example codes, see ProductCrossReferenceType

Extra measures defined for a Medicinal Product, such as heightened reporting requirements.

TypeCodeableConcept
Is Modifierfalse
Must Supportfalse
Summarytrue
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
128. MedicinalProductDefinition.operation
Definition

A manufacturing or administrative process or step associated with (or performed on) the medicinal product.

ShortA manufacturing or administrative process for the medicinal product
Control0..*
TypeBackboneElement
Is Modifierfalse
Must Supportfalse
Summarytrue
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
130. MedicinalProductDefinition.operation.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
This element is affected by the following invariants: ele-1
Typestring
Is Modifierfalse
XML FormatIn the XML format, this property is represented as an attribute.
Summaryfalse
132. MedicinalProductDefinition.operation.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 managable, 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())
134. MedicinalProductDefinition.operation.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 managable, 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())
136. MedicinalProductDefinition.operation.type
Definition

The type of manufacturing operation e.g. manufacturing itself, re-packaging. For the authorization of this, a RegulatedAuthorization would point to the same plan or activity referenced here.

ShortThe type of manufacturing operation e.g. manufacturing itself, re-packaging
Control0..1
TypeCodeableReference(ActivityDefinition, PlanDefinition)
Is Modifierfalse
Must Supportfalse
Summarytrue
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
138. MedicinalProductDefinition.operation.effectiveDate
Definition

Date range of applicability.

ShortDate range of applicability
Control0..1
TypePeriod
Is Modifierfalse
Must Supportfalse
Summarytrue
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
140. MedicinalProductDefinition.operation.organization
Definition

The organization or establishment responsible for (or associated with) the particular process or step, examples include the manufacturer, importer, agent.

ShortThe organization responsible for the particular process, e.g. the manufacturer or importer
Control0..*
TypeReference(Organization)
Is Modifierfalse
Must Supportfalse
Summarytrue
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
142. MedicinalProductDefinition.operation.confidentialityIndicator
Definition

Specifies whether this particular business or manufacturing process is considered proprietary or confidential.

ShortSpecifies whether this process is considered proprietary or confidential
Control0..1
BindingFor example codes, see ProductConfidentiality

Confidentiality rating, e.g. commercial sensitivity for a Medicinal Product.

TypeCodeableConcept
Is Modifierfalse
Must Supportfalse
Summarytrue
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
144. MedicinalProductDefinition.characteristic
Definition

Allows the key product features to be recorded, such as "sugar free", "modified release", "parallel import".

ShortKey product features such as "sugar free", "modified release"
Control0..*
TypeBackboneElement
Is Modifierfalse
Must Supportfalse
Summarytrue
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
146. MedicinalProductDefinition.characteristic.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
This element is affected by the following invariants: ele-1
Typestring
Is Modifierfalse
XML FormatIn the XML format, this property is represented as an attribute.
Summaryfalse
148. MedicinalProductDefinition.characteristic.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 managable, 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())
150. MedicinalProductDefinition.characteristic.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 managable, 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())
152. MedicinalProductDefinition.characteristic.type
Definition

A code expressing the type of characteristic.

ShortA code expressing the type of characteristic
Control1..1
BindingFor example codes, see MedicinalProduct Characteristic Type

Example codes for MedicinalProduct.characteristic.type

TypeCodeableConcept
Is Modifierfalse
Must Supportfalse
Summarytrue
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
154. MedicinalProductDefinition.characteristic.value[x]
Definition

A value for the characteristic.text.

ShortA value for the characteristic
Comments

Text, as markdown, is intended to be used only when the item cannot ever reasonably be coded. Otherwise, for cases where a code is not available, but is feasible, use CodeableConcept.text.

Control0..1
TypeChoice of: CodeableConcept, markdown, Quantity, integer, date, boolean, Attachment
[x] NoteSee Choice of Data Types for further information about how to use [x]
Is Modifierfalse
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
Must Supportfalse
Summarytrue
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
SlicingThis element introduces a set of slices on MedicinalProductDefinition.characteristic.value[x]. The slices are unordered and Open, and can be differentiated using the following discriminators:
  • type @ $this
156. MedicinalProductDefinition.characteristic.value[x]:valueQuantity
Slice NamevalueQuantity
Definition

A value for the characteristic.text.

ShortA value for the characteristic
Comments

Text, as markdown, is intended to be used only when the item cannot ever reasonably be coded. Otherwise, for cases where a code is not available, but is feasible, use CodeableConcept.text.

Control0..1
TypeQuantity
[x] NoteSee Choice of Data Types for further information about how to use [x]
Is Modifierfalse
Must Supportfalse
Summarytrue
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
158. MedicinalProductDefinition.characteristic.value[x]:valueQuantity.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
This element is affected by the following invariants: ele-1
Typeid
Is Modifierfalse
XML FormatIn the XML format, this property is represented as an attribute.
Summaryfalse
160. MedicinalProductDefinition.characteristic.value[x]:valueQuantity.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 managable, 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 MedicinalProductDefinition.characteristic.value[x].extension. The slices are unordered and Open, and can be differentiated using the following discriminators:
  • value @ url
162. MedicinalProductDefinition.characteristic.value[x]:valueQuantity.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()))
164. MedicinalProductDefinition.characteristic.value[x]:valueQuantity.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< | <= | >= | > | ad - how to understand the value
Control0..1
BindingThe codes SHALL be taken from QuantityComparator

How the Quantity should be understood and represented.

Typecode
Is Modifiertrue because This is labeled as &quot;Is Modifier&quot; 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()))
166. MedicinalProductDefinition.characteristic.value[x]:valueQuantity.unit
Definition

A human-readable form of the unit.

ShortUnit representation
Control0..1
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()))
168. MedicinalProductDefinition.characteristic.value[x]:valueQuantity.system
Definition

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

ShortSystem that defines coded unit form
Control0..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
Summarytrue
Requirements

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

Pattern Valuehttp://unitsofmeasure.org
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
170. MedicinalProductDefinition.characteristic.value[x]:valueQuantity.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.

Control0..1
This element is affected by the following invariants: qty-3
BindingThe codes SHALL be taken from UnitsOfMeasureCaseSensitive

UCUM codes for unit

Typecode
Is Modifierfalse
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
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()))