This page is part of the International Patient Summary Implementation Guide (v1.0.0: STU 1) based on FHIR R4. The current version which supercedes this version is 1.1.0. For a full list of available versions, see the Directory of published versions
This profile represents the constraints applied to the Medication resource by the International Patient Summary (IPS) FHIR Implementation Guide, based on FHIR R4. A medication is described in the patient summary as an instance of a Medication resource constrained by this profile.
The official URL for this profile is:
http://hl7.org/fhir/uv/ips/StructureDefinition/Medication-uv-ips
Description of Profiles, Differentials, Snapshots and how the different presentations work.
This structure is derived from Medication
Summary
Mandatory: 1 element
Must-Support: 8 elements
Structures
This structure refers to these other structures:
Slices
This structure defines the following Slices:
This structure is derived from Medication
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Medication | S | 0..* | Medication | Definition of a Medication |
code | S | 1..1 | (Slice Definition) | Medication that was administered or was to be administered (medication code from any code system) Slice: Unordered, Open by pattern:$this Binding: Medications (example) - IPS (example) |
code:atcClass | S | 0..1 | CodeableConceptIPS | WHO ATC classification Binding: WHO ATC - IPS (required) |
code:snomed | S | 0..1 | CodeableConceptIPS | SNOMED CT medications Binding: Medications (SNOMED CT) - IPS (required) |
form | S | 0..1 | CodeableConceptIPS | Concept - reference to a terminology or just text Binding: Medicine Doseform - IPS (preferred) |
ingredient | S | 0..* | BackboneElement | Active or inactive ingredient |
itemCodeableConcept | S | 1..1 | CodeableConceptIPS | Concept - reference to a terminology or just text Binding: Medicine Active Substances - IPS (preferred) |
text | S | 0..1 | string | Plain text representation of the concept |
strength | S | 0..1 | RatioIPS | A ratio of two Quantity values - a numerator and a denominator |
Documentation for this format |
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Medication | SI | 0..* | Medication | Definition of a Medication |
id | Σ | 0..1 | string | Logical id of this artifact |
meta | ΣI | 0..1 | Meta | Metadata about the resource |
implicitRules | ?!ΣI | 0..1 | uri | A set of rules under which this content was created |
language | I | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred) Max Binding: AllLanguages |
text | I | 0..1 | Narrative | Text summary of the resource, for human interpretation |
contained | 0..* | Resource | Contained, inline Resources | |
extension | I | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!I | 0..* | Extension | Extensions that cannot be ignored |
identifier | ΣI | 0..* | Identifier | Business identifier for this medication |
code | SΣI | 1..1 | (Slice Definition) | Medication that was administered or was to be administered (medication code from any code system) Slice: Unordered, Open by pattern:$this Binding: Medications (example) - IPS (example) |
code:atcClass | SI | 0..1 | CodeableConceptIPS | WHO ATC classification Binding: WHO ATC - IPS (required) |
code:snomed | SI | 0..1 | CodeableConceptIPS | SNOMED CT medications Binding: Medications (SNOMED CT) - IPS (required) |
status | ?!ΣI | 0..1 | code | active | inactive | entered-in-error Binding: Medication Status Codes (required) |
manufacturer | ΣI | 0..1 | Reference(Organization) | Manufacturer of the item |
form | SI | 0..1 | CodeableConceptIPS | Concept - reference to a terminology or just text Binding: Medicine Doseform - IPS (preferred) |
amount | ΣI | 0..1 | Ratio | Amount of drug in package |
ingredient | SI | 0..* | BackboneElement | Active or inactive ingredient |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | I | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!ΣI | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
item[x] | I | 1..1 | (Slice Definition) | The actual ingredient or content Slice: Unordered, Closed by type:$this |
item[x]:itemCodeableConcept | SI | 1..1 | CodeableConceptIPS | Concept - reference to a terminology or just text Binding: Medicine Active Substances - IPS (preferred) |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | I | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |
coding | SI | 0..* | CodingIPS | A reference to a code defined by a terminology system |
text | SΣI | 0..1 | string | Plain text representation of the concept |
isActive | I | 0..1 | boolean | Active ingredient indicator |
strength | SI | 0..1 | RatioIPS | A ratio of two Quantity values - a numerator and a denominator |
batch | I | 0..1 | BackboneElement | Details about packaged medications |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | I | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!ΣI | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
lotNumber | I | 0..1 | string | Identifier assigned to batch |
expirationDate | I | 0..1 | dateTime | When batch will expire |
Documentation for this format |
This structure is derived from Medication
Summary
Mandatory: 1 element
Must-Support: 8 elements
Structures
This structure refers to these other structures:
Slices
This structure defines the following Slices:
Differential View
This structure is derived from Medication
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Medication | S | 0..* | Medication | Definition of a Medication |
code | S | 1..1 | (Slice Definition) | Medication that was administered or was to be administered (medication code from any code system) Slice: Unordered, Open by pattern:$this Binding: Medications (example) - IPS (example) |
code:atcClass | S | 0..1 | CodeableConceptIPS | WHO ATC classification Binding: WHO ATC - IPS (required) |
code:snomed | S | 0..1 | CodeableConceptIPS | SNOMED CT medications Binding: Medications (SNOMED CT) - IPS (required) |
form | S | 0..1 | CodeableConceptIPS | Concept - reference to a terminology or just text Binding: Medicine Doseform - IPS (preferred) |
ingredient | S | 0..* | BackboneElement | Active or inactive ingredient |
itemCodeableConcept | S | 1..1 | CodeableConceptIPS | Concept - reference to a terminology or just text Binding: Medicine Active Substances - IPS (preferred) |
text | S | 0..1 | string | Plain text representation of the concept |
strength | S | 0..1 | RatioIPS | A ratio of two Quantity values - a numerator and a denominator |
Documentation for this format |
Snapshot View
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Medication | SI | 0..* | Medication | Definition of a Medication |
id | Σ | 0..1 | string | Logical id of this artifact |
meta | ΣI | 0..1 | Meta | Metadata about the resource |
implicitRules | ?!ΣI | 0..1 | uri | A set of rules under which this content was created |
language | I | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred) Max Binding: AllLanguages |
text | I | 0..1 | Narrative | Text summary of the resource, for human interpretation |
contained | 0..* | Resource | Contained, inline Resources | |
extension | I | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!I | 0..* | Extension | Extensions that cannot be ignored |
identifier | ΣI | 0..* | Identifier | Business identifier for this medication |
code | SΣI | 1..1 | (Slice Definition) | Medication that was administered or was to be administered (medication code from any code system) Slice: Unordered, Open by pattern:$this Binding: Medications (example) - IPS (example) |
code:atcClass | SI | 0..1 | CodeableConceptIPS | WHO ATC classification Binding: WHO ATC - IPS (required) |
code:snomed | SI | 0..1 | CodeableConceptIPS | SNOMED CT medications Binding: Medications (SNOMED CT) - IPS (required) |
status | ?!ΣI | 0..1 | code | active | inactive | entered-in-error Binding: Medication Status Codes (required) |
manufacturer | ΣI | 0..1 | Reference(Organization) | Manufacturer of the item |
form | SI | 0..1 | CodeableConceptIPS | Concept - reference to a terminology or just text Binding: Medicine Doseform - IPS (preferred) |
amount | ΣI | 0..1 | Ratio | Amount of drug in package |
ingredient | SI | 0..* | BackboneElement | Active or inactive ingredient |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | I | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!ΣI | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
item[x] | I | 1..1 | (Slice Definition) | The actual ingredient or content Slice: Unordered, Closed by type:$this |
item[x]:itemCodeableConcept | SI | 1..1 | CodeableConceptIPS | Concept - reference to a terminology or just text Binding: Medicine Active Substances - IPS (preferred) |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | I | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |
coding | SI | 0..* | CodingIPS | A reference to a code defined by a terminology system |
text | SΣI | 0..1 | string | Plain text representation of the concept |
isActive | I | 0..1 | boolean | Active ingredient indicator |
strength | SI | 0..1 | RatioIPS | A ratio of two Quantity values - a numerator and a denominator |
batch | I | 0..1 | BackboneElement | Details about packaged medications |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | I | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!ΣI | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
lotNumber | I | 0..1 | string | Identifier assigned to batch |
expirationDate | I | 0..1 | dateTime | When batch will expire |
Documentation for this format |
Other representations of profile: Schematron
Path | Conformance | ValueSet |
Medication.language | preferred | CommonLanguages Max Binding: AllLanguages |
Medication.code | example | MedicationCodesUvIps |
Medication.code:atcClass | required | WhoAtcUvIps |
Medication.code:snomed | required | MedicationSnomedCodesUvIps |
Medication.status | required | Medication Status Codes |
Medication.form | preferred | DoseFormUvIps |
Medication.ingredient.item[x]:itemCodeableConcept | preferred | ActiveSubstancesUvIps |
Id | Path | Details | Requirements |
dom-2 | Medication | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-3 | Medication | 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 | Medication | 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 | Medication | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | Medication | A resource should have narrative for robust management : text.`div`.exists() | |
ele-1 | Medication.meta | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Medication.implicitRules | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Medication.language | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Medication.text | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Medication.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Medication.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Medication.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Medication.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Medication.identifier | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Medication.code | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Medication.code:atcClass | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Medication.code:snomed | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Medication.status | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Medication.manufacturer | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Medication.form | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Medication.amount | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Medication.ingredient | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Medication.ingredient.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Medication.ingredient.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Medication.ingredient.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Medication.ingredient.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Medication.ingredient.item[x] | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Medication.ingredient.item[x]:itemCodeableConcept | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Medication.ingredient.item[x]:itemCodeableConcept.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Medication.ingredient.item[x]:itemCodeableConcept.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Medication.ingredient.item[x]:itemCodeableConcept.coding | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Medication.ingredient.item[x]:itemCodeableConcept.text | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Medication.ingredient.isActive | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Medication.ingredient.strength | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
rat-1 | Medication.ingredient.strength | 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()) | |
ele-1 | Medication.batch | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Medication.batch.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Medication.batch.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Medication.batch.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Medication.batch.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Medication.batch.lotNumber | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Medication.batch.expirationDate | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |