RIVO-Noord Zorgviewer Implementation Guide
1.21.0 - CI build

RIVO-Noord Zorgviewer Implementation Guide, published by RIVO-NN HL7NL. This guide is not an authorized publication; it is the continuous build for version 1.21.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/RIVO-Noord/zorgviewer-ig/ and changes regularly. See the Directory of published versions

## Resource Profile: Medication

Official URL: http://fhir.hl7.nl/zorgviewer/StructureDefinition/Medication | Version: 1.21.0
Active as of 2025-10-28 | Computable Name: Medication

Medicatie

> Dit Profiel is het resultaat van de vergelijking tussen de zib2017 FHIR Profiel en de implementaties in Epic, Chipsoft, Topicus en Nexus. De elementen die in ieder geval in alle output beschikbaar zullen zijn. Voornamelijk bedoeld voor houvast van een client en voor validatie van output.

### Zorginformatiebouwsteen

ZIB FarmaceutischProduct

Usages:

- Refer to this Profile: MedicationAgreement and MedicationUse

You can also check for usages in the FHIR IG Statistics

Changes since version 1.20.0:

- No changes

### Formal Views of Profile Content

Description of Profiles, Differentials, Snapshots and how the different presentations work.

- Key Elements Table
- Differential Table
- Snapshot Table
- Statistics/References
- All

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Medication |  | 0..* | Zib PharmaceuticalProduct(2.0.7) | Product
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
Slices for extension |  |  |  | Content/Rules for all slices
extension:description |  | 0..1 | string | Description URL: http://nictiz.nl/fhir/StructureDefinition/zib-Product-Description Constraints: ext-1
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
form | S | 0..1 | CodeableConcept | PharmaceuticalForm Binding: FarmaceutischeVormCodelijst (required): FarmaceutischeVormCodelijst Example Example of Pharmaceutical form: {"coding":[{"system":"urn:oid:2.16.840.1.113883.2.4.4.11","code":"230","display":"TABLET"}]}
coding | S Σ | 0..* | Coding | Code defined by a terminology system
display | S Σ | 0..1 | string | Representation defined by the system
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
Medication.form | Base | required | FarmaceutischeVormCodelijst | 📦2017-12-31T00:00:00 | nictiz.fhir.nl.stu3.zib2017 v2.0

#### Constraints

Id | Grade | Path(s) | Description | Expression
dom-1 | error | Medication | If the resource is contained in another resource, it SHALL NOT contain any narrative | `contained.text.empty()`
dom-2 | error | Medication | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | Medication | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource | `contained.where(('#'+id in %resource.descendants().reference).not()).empty()`
dom-4 | error | 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()`
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() | (children().count() > id.count())`
ext-1 | error | Medication.extension:description | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`

This structure is derived from Zib PharmaceuticalProduct

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Medication |  | 0..* | Zib PharmaceuticalProduct(2.0.7) | Product
form | S | 0..1 | CodeableConcept | PharmaceuticalForm
coding | S | 0..* | Coding | Code defined by a terminology system
display | S | 0..1 | string | Representation defined by the system
Documentation for this format

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Medication |  | 0..* | Zib PharmaceuticalProduct(2.0.7) | Product
id | Σ | 0..1 | id | Logical id of this artifact
meta | Σ | 0..1 | Meta | Metadata about the resource
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
language |  | 0..1 | code | Language of the resource content Binding: Common Languages (extensible): A human language.
Additional Bindings | Purpose
All Languages | Max Binding
text |  | 0..1 | Narrative | Text summary of the resource, for human interpretation This profile does not constrain the narrative in regard to content, language, or traceability to data elements
contained |  | 0..* | Resource | Contained, inline Resources
Slices for extension |  | 0..* | Extension | Additional Content defined by implementations Slice: Unordered, Open by value:url
extension:description |  | 0..1 | string | Description URL: http://nictiz.nl/fhir/StructureDefinition/zib-Product-Description Constraints: ext-1
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
code | Σ | 0..1 | CodeableConcept | Codes that identify this medication Binding: SNOMED CT Medication Codes (example): A coded concept that defines the type of a medication Example Example of Medication code: {"coding":[{"system":"urn:oid:2.16.840.1.113883.2.4.4.8","code":"13610554","display":"Carbasalaatcalcium Sandoz 600 30 sac"}]}
id |  | 0..1 | string | xml:id (or equivalent in JSON)
extension |  | 0..* | Extension | Additional Content defined by implementations Slice: Unordered, Open by value:url
Slices for coding | Σ | 0..* | Coding | MedicationCode Slice: Unordered, Open by value:system
coding:productCodeZICodelijst | Σ | 0..1 | Coding | Code defined by a terminology system Binding: ProductCodeZICodelijst (required): ProductCodeZICodelijst
id |  | 0..1 | string | xml:id (or equivalent in JSON)
extension |  | 0..* | Extension | Additional Content defined by implementations Slice: Unordered, Open by value:url
system | Σ | 1..1 | uri | Identity of the terminology system Fixed Value: urn:oid:2.16.840.1.113883.2.4.4.8
version | Σ | 0..1 | string | Version of the system - if relevant
code | Σ | 0..1 | code | Symbol in syntax defined by the system
display | Σ | 0..1 | string | Representation defined by the system
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user
coding:productCodeHPKCodelijst | Σ | 0..1 | Coding | Code defined by a terminology system Binding: ProductCodeHPKCodelijst (required): ProductCodeHPKCodelijst
id |  | 0..1 | string | xml:id (or equivalent in JSON)
extension |  | 0..* | Extension | Additional Content defined by implementations Slice: Unordered, Open by value:url
system | Σ | 1..1 | uri | Identity of the terminology system Fixed Value: urn:oid:2.16.840.1.113883.2.4.4.7
version | Σ | 0..1 | string | Version of the system - if relevant
code | Σ | 0..1 | code | Symbol in syntax defined by the system
display | Σ | 0..1 | string | Representation defined by the system
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user
coding:productCodeGTINCodelijst | Σ | 0..1 | Coding | Code defined by a terminology system Binding: ProductCodeGTINCodelijst (required): ProductCodeGTINCodelijst
id |  | 0..1 | string | xml:id (or equivalent in JSON)
extension |  | 0..* | Extension | Additional Content defined by implementations Slice: Unordered, Open by value:url
system | Σ | 1..1 | uri | Identity of the terminology system Fixed Value: urn:oid:1.3.160
version | Σ | 0..1 | string | Version of the system - if relevant
code | Σ | 0..1 | code | Symbol in syntax defined by the system
display | Σ | 0..1 | string | Representation defined by the system
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user
coding:productCodeGPKCodelijst | Σ | 0..1 | Coding | Code defined by a terminology system Binding: ProductCodeGPKCodelijst (required): ProductCodeGPKCodelijst
id |  | 0..1 | string | xml:id (or equivalent in JSON)
extension |  | 0..* | Extension | Additional Content defined by implementations Slice: Unordered, Open by value:url
system | Σ | 1..1 | uri | Identity of the terminology system Fixed Value: urn:oid:2.16.840.1.113883.2.4.4.1
version | Σ | 0..1 | string | Version of the system - if relevant
code | Σ | 0..1 | code | Symbol in syntax defined by the system
display | Σ | 0..1 | string | Representation defined by the system
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user
coding:productCodePRKCodelijst | Σ | 0..1 | Coding | Code defined by a terminology system Binding: ProductCodePRKCodelijst (required): ProductCodePRKCodelijst
id |  | 0..1 | string | xml:id (or equivalent in JSON)
extension |  | 0..* | Extension | Additional Content defined by implementations Slice: Unordered, Open by value:url
system | Σ | 1..1 | uri | Identity of the terminology system Fixed Value: urn:oid:2.16.840.1.113883.2.4.4.10
version | Σ | 0..1 | string | Version of the system - if relevant
code | Σ | 0..1 | code | Symbol in syntax defined by the system
display | Σ | 0..1 | string | Representation defined by the system
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user
coding:productCodeATCCodelijst | Σ | 0..1 | Coding | Code defined by a terminology system Binding: ProductCodeATCCodelijst (required): ProductCodeATCCodelijst
id |  | 0..1 | string | xml:id (or equivalent in JSON)
extension |  | 0..* | Extension | Additional Content defined by implementations Slice: Unordered, Open by value:url
system | Σ | 1..1 | uri | Identity of the terminology system Fixed Value: http://www.whocc.no/atc
version | Σ | 0..1 | string | Version of the system - if relevant
code | Σ | 0..1 | code | Symbol in syntax defined by the system
display | Σ | 0..1 | string | Representation defined by the system
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user
text | Σ | 0..1 | string | Medication Example Example of Medication as free text: PARACETAMOL 500MG TABLET
status | Σ | 0..1 | code | active | inactive | entered-in-error Binding: MedicationStatus (required): A coded concept defining if the medication is in active use
isBrand | Σ | 0..1 | boolean | True if a brand
isOverTheCounter | Σ | 0..1 | boolean | True if medication does not require a prescription
manufacturer | Σ | 0..1 | Reference(Organization) | Manufacturer of the item
form | S | 0..1 | CodeableConcept | PharmaceuticalForm Binding: FarmaceutischeVormCodelijst (required): FarmaceutischeVormCodelijst Example Example of Pharmaceutical form: {"coding":[{"system":"urn:oid:2.16.840.1.113883.2.4.4.11","code":"230","display":"TABLET"}]}
id |  | 0..1 | string | xml:id (or equivalent in JSON)
extension |  | 0..* | Extension | Additional Content defined by implementations Slice: Unordered, Open by value:url
coding | S Σ | 0..* | Coding | Code defined by a terminology system
id |  | 0..1 | string | xml:id (or equivalent in JSON)
extension |  | 0..* | Extension | Additional Content defined by implementations Slice: Unordered, Open by value:url
system | Σ | 0..1 | uri | Identity of the terminology system
version | Σ | 0..1 | string | Version of the system - if relevant
code | Σ | 0..1 | code | Symbol in syntax defined by the system
display | S Σ | 0..1 | string | Representation defined by the system
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user
text | Σ | 0..1 | string | Plain text representation of the concept
ingredient |  | 0..* | BackboneElement | Ingredient
id |  | 0..1 | string | xml:id (or equivalent in JSON)
extension |  | 0..* | Extension | Additional Content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored
item[x] |  | 1..1 | CodeableConcept | Substance Example Example of Ingredient substance: {"coding":[{"system":"http://www.whocc.no/atc","code":"B01AC08","display":"carbasalate calcium"}]}
id |  | 0..1 | string | xml:id (or equivalent in JSON)
extension |  | 0..* | Extension | Additional Content defined by implementations Slice: Unordered, Open by value:url
Slices for coding | Σ | 0..* | Coding | Code defined by a terminology system Slice: Unordered, Open by value:system
coding:ingredientCodeZICodelijst | Σ | 0..* | Coding | Code defined by a terminology system Binding: IngredientCodeZICodelijst (required): IngredientCodeZICodelijst
id |  | 0..1 | string | xml:id (or equivalent in JSON)
extension |  | 0..* | Extension | Additional Content defined by implementations Slice: Unordered, Open by value:url
system | Σ | 1..1 | uri | Identity of the terminology system Fixed Value: urn:oid:2.16.840.1.113883.2.4.4.8
version | Σ | 0..1 | string | Version of the system - if relevant
code | Σ | 0..1 | code | Symbol in syntax defined by the system
display | Σ | 0..1 | string | Representation defined by the system
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user
coding:ingredientCodeGTINCodeLijst | Σ | 0..* | Coding | Code defined by a terminology system Binding: IngredientCodeGTINCodelijst (required): IngredientCodeGTINCodeLijst
id |  | 0..1 | string | xml:id (or equivalent in JSON)
extension |  | 0..* | Extension | Additional Content defined by implementations Slice: Unordered, Open by value:url
system | Σ | 1..1 | uri | Identity of the terminology system Fixed Value: urn:oid:1.3.160
version | Σ | 0..1 | string | Version of the system - if relevant
code | Σ | 0..1 | code | Symbol in syntax defined by the system
display | Σ | 0..1 | string | Representation defined by the system
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user
coding:ingredientCodeATCCodelijst | Σ | 0..* | Coding | Code defined by a terminology system Binding: IngredientCodeATCCodelijst (required): IngredientCodeATCCodelijst
id |  | 0..1 | string | xml:id (or equivalent in JSON)
extension |  | 0..* | Extension | Additional Content defined by implementations Slice: Unordered, Open by value:url
system | Σ | 1..1 | uri | Identity of the terminology system Fixed Value: http://www.whocc.no/atc
version | Σ | 0..1 | string | Version of the system - if relevant
code | Σ | 0..1 | code | Symbol in syntax defined by the system
display | Σ | 0..1 | string | Representation defined by the system
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user
coding:ingredientCodeHPKLijst | Σ | 0..* | Coding | Code defined by a terminology system Binding: IngredientCodeHPKCodelijst (required): IngredientCodeHPKLijst
id |  | 0..1 | string | xml:id (or equivalent in JSON)
extension |  | 0..* | Extension | Additional Content defined by implementations Slice: Unordered, Open by value:url
system | Σ | 1..1 | uri | Identity of the terminology system Fixed Value: urn:oid:2.16.840.1.113883.2.4.4.7
version | Σ | 0..1 | string | Version of the system - if relevant
code | Σ | 0..1 | code | Symbol in syntax defined by the system
display | Σ | 0..1 | string | Representation defined by the system
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user
coding:ingredientCodeGPKLijst | Σ | 0..* | Coding | Code defined by a terminology system Binding: IngredientCodeGPKCodelijst (required): IngredientCodeGPKLijst
id |  | 0..1 | string | xml:id (or equivalent in JSON)
extension |  | 0..* | Extension | Additional Content defined by implementations Slice: Unordered, Open by value:url
system | Σ | 1..1 | uri | Identity of the terminology system Fixed Value: urn:oid:2.16.840.1.113883.2.4.4.1
version | Σ | 0..1 | string | Version of the system - if relevant
code | Σ | 0..1 | code | Symbol in syntax defined by the system
display | Σ | 0..1 | string | Representation defined by the system
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user
coding:ingredientCodeSNKLijst | Σ | 0..* | Coding | Code defined by a terminology system Binding: IngredientCodeSNKCodelijst (required): IngredientCodeSNKLijst
id |  | 0..1 | string | xml:id (or equivalent in JSON)
extension |  | 0..* | Extension | Additional Content defined by implementations Slice: Unordered, Open by value:url
system | Σ | 1..1 | uri | Identity of the terminology system Fixed Value: urn:oid:2.16.840.1.113883.2.4.4.1.750
version | Σ | 0..1 | string | Version of the system - if relevant
code | Σ | 0..1 | code | Symbol in syntax defined by the system
display | Σ | 0..1 | string | Representation defined by the system
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user
coding:ingredientCodePRKLijst | Σ | 0..* | Coding | Code defined by a terminology system Binding: IngredientCodePRKCodelijst (required): IngredientCodePRKLijst
id |  | 0..1 | string | xml:id (or equivalent in JSON)
extension |  | 0..* | Extension | Additional Content defined by implementations Slice: Unordered, Open by value:url
system | Σ | 1..1 | uri | Identity of the terminology system Fixed Value: urn:oid:2.16.840.1.113883.2.4.4.10
version | Σ | 0..1 | string | Version of the system - if relevant
code | Σ | 0..1 | code | Symbol in syntax defined by the system
display | Σ | 0..1 | string | Representation defined by the system
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user
coding:ingredientCodeSSKLijst | Σ | 0..* | Coding | Code defined by a terminology system Binding: IngredientCodeSSKCodelijst (required): IngredientCodeSSKLijst
id |  | 0..1 | string | xml:id (or equivalent in JSON)
extension |  | 0..* | Extension | Additional Content defined by implementations Slice: Unordered, Open by value:url
system | Σ | 1..1 | uri | Identity of the terminology system Fixed Value: urn:oid:2.16.840.1.113883.2.4.4.1.725
version | Σ | 0..1 | string | Version of the system - if relevant
code | Σ | 0..1 | code | Symbol in syntax defined by the system
display | Σ | 0..1 | string | Representation defined by the system
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user
text | Σ | 0..1 | string | Plain text representation of the concept
isActive |  | 0..1 | boolean | Active ingredient indicator
amount |  | 0..1 | Ratio | Concentration Example Example of Concentration: {"numerator":{"value":5,"unit":"ml","system":"http://unitsofmeasure.org","code":"mL"},"denominator":{"value":200,"unit":"ml","system":"http://unitsofmeasure.org","code":"mL"}}
id |  | 0..1 | string | xml:id (or equivalent in JSON)
extension |  | 0..* | Extension | Additional Content defined by implementations Slice: Unordered, Open by value:url
numerator | Σ | 0..1 | Quantity | IngredientAmount
denominator | Σ | 0..1 | Quantity | ProductAmount
package |  | 0..1 | BackboneElement | Details about packaged medications
id |  | 0..1 | string | xml:id (or equivalent in JSON)
extension |  | 0..* | Extension | Additional Content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored
container |  | 0..1 | CodeableConcept | E.g. box, vial, blister-pack Binding: MedicationContainer (example): A coded concept defining the kind of container a medication package is packaged in
content |  | 0..* | BackboneElement | What is in the package
id |  | 0..1 | string | xml:id (or equivalent in JSON)
extension |  | 0..* | Extension | Additional Content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored
item[x] |  | 1..1 |  | The item in the package
itemCodeableConcept |  |  | CodeableConcept |
itemReference |  |  | Reference(HCIM PharmaceuticalProduct(2.0.7)) |
amount |  | 0..1 | SimpleQuantity | Quantity present in the package
batch |  | 0..* | BackboneElement | Identifies a single production run
id |  | 0..1 | string | xml:id (or equivalent in JSON)
extension |  | 0..* | Extension | Additional Content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored
lotNumber |  | 0..1 | string | Identifier assigned to batch
expirationDate |  | 0..1 | dateTime | When batch will expire
image |  | 0..* | Attachment | Picture of the medication
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
Medication.language | Base | extensible | Common Languages | 📦3.0.2 | FHIR Std.
Medication.code | Base | example | SNOMED CT Medication Codes | 📦3.0.2 | FHIR Std.
Medication.code.coding:productCodeZICodelijst | Base | required | ProductCodeZICodelijst | 📦2017-12-31T00:00:00 | nictiz.fhir.nl.stu3.zib2017 v2.0
Medication.code.coding:productCodeHPKCodelijst | Base | required | ProductCodeHPKCodelijst | 📦2017-12-31T00:00:00 | nictiz.fhir.nl.stu3.zib2017 v2.0
Medication.code.coding:productCodeGTINCodelijst | Base | required | ProductCodeGTINCodelijst | 📦2017-12-31T00:00:00 | nictiz.fhir.nl.stu3.zib2017 v2.0
Medication.code.coding:productCodeGPKCodelijst | Base | required | ProductCodeGPKCodelijst | 📦2017-12-31T00:00:00 | nictiz.fhir.nl.stu3.zib2017 v2.0
Medication.code.coding:productCodePRKCodelijst | Base | required | ProductCodePRKCodelijst | 📦2017-12-31T00:00:00 | nictiz.fhir.nl.stu3.zib2017 v2.0
Medication.code.coding:productCodeATCCodelijst | Base | required | ProductCodeATCCodelijst | 📦2017-12-31T00:00:00 | nictiz.fhir.nl.stu3.zib2017 v2.0
Medication.status | Base | required | MedicationStatus | 📦3.0.2 | FHIR Std.
Medication.form | Base | required | FarmaceutischeVormCodelijst | 📦2017-12-31T00:00:00 | nictiz.fhir.nl.stu3.zib2017 v2.0
Medication.ingredient.​item[x].coding:ingredientCodeZICodelijst | Base | required | IngredientCodeZICodelijst | 📦2017-12-31T00:00:00 | nictiz.fhir.nl.stu3.zib2017 v2.0
Medication.ingredient.​item[x].coding:ingredientCodeGTINCodeLijst | Base | required | IngredientCodeGTINCodelijst | 📦2017-12-31T00:00:00 | nictiz.fhir.nl.stu3.zib2017 v2.0
Medication.ingredient.​item[x].coding:ingredientCodeATCCodelijst | Base | required | IngredientCodeATCCodelijst | 📦2017-12-31T00:00:00 | nictiz.fhir.nl.stu3.zib2017 v2.0
Medication.ingredient.​item[x].coding:ingredientCodeHPKLijst | Base | required | IngredientCodeHPKCodelijst | 📦2017-12-31T00:00:00 | nictiz.fhir.nl.stu3.zib2017 v2.0
Medication.ingredient.​item[x].coding:ingredientCodeGPKLijst | Base | required | IngredientCodeGPKCodelijst | 📦2017-12-31T00:00:00 | nictiz.fhir.nl.stu3.zib2017 v2.0
Medication.ingredient.​item[x].coding:ingredientCodeSNKLijst | Base | required | IngredientCodeSNKCodelijst | 📦2017-12-31T00:00:00 | nictiz.fhir.nl.stu3.zib2017 v2.0
Medication.ingredient.​item[x].coding:ingredientCodePRKLijst | Base | required | IngredientCodePRKCodelijst | 📦2017-12-31T00:00:00 | nictiz.fhir.nl.stu3.zib2017 v2.0
Medication.ingredient.​item[x].coding:ingredientCodeSSKLijst | Base | required | IngredientCodeSSKCodelijst | 📦2017-12-31T00:00:00 | nictiz.fhir.nl.stu3.zib2017 v2.0
Medication.package.container | Base | example | MedicationContainer | 📦3.0.2 | FHIR Std.

#### Constraints

Id | Grade | Path(s) | Description | Expression
dom-1 | error | Medication | If the resource is contained in another resource, it SHALL NOT contain any narrative | `contained.text.empty()`
dom-2 | error | Medication | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | Medication | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource | `contained.where(('#'+id in %resource.descendants().reference).not()).empty()`
dom-4 | error | 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()`
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() | (children().count() > id.count())`
ext-1 | error | Medication.extension:description | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`

This structure is derived from Zib PharmaceuticalProduct

Summary

Must-Support: 3 elements

Key Elements View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Medication |  | 0..* | Zib PharmaceuticalProduct(2.0.7) | Product
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
Slices for extension |  |  |  | Content/Rules for all slices
extension:description |  | 0..1 | string | Description URL: http://nictiz.nl/fhir/StructureDefinition/zib-Product-Description Constraints: ext-1
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
form | S | 0..1 | CodeableConcept | PharmaceuticalForm Binding: FarmaceutischeVormCodelijst (required): FarmaceutischeVormCodelijst Example Example of Pharmaceutical form: {"coding":[{"system":"urn:oid:2.16.840.1.113883.2.4.4.11","code":"230","display":"TABLET"}]}
coding | S Σ | 0..* | Coding | Code defined by a terminology system
display | S Σ | 0..1 | string | Representation defined by the system
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
Medication.form | Base | required | FarmaceutischeVormCodelijst | 📦2017-12-31T00:00:00 | nictiz.fhir.nl.stu3.zib2017 v2.0

#### Constraints

Id | Grade | Path(s) | Description | Expression
dom-1 | error | Medication | If the resource is contained in another resource, it SHALL NOT contain any narrative | `contained.text.empty()`
dom-2 | error | Medication | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | Medication | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource | `contained.where(('#'+id in %resource.descendants().reference).not()).empty()`
dom-4 | error | 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()`
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() | (children().count() > id.count())`
ext-1 | error | Medication.extension:description | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`

Differential View

This structure is derived from Zib PharmaceuticalProduct

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Medication |  | 0..* | Zib PharmaceuticalProduct(2.0.7) | Product
form | S | 0..1 | CodeableConcept | PharmaceuticalForm
coding | S | 0..* | Coding | Code defined by a terminology system
display | S | 0..1 | string | Representation defined by the system
Documentation for this format

Snapshot View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Medication |  | 0..* | Zib PharmaceuticalProduct(2.0.7) | Product
id | Σ | 0..1 | id | Logical id of this artifact
meta | Σ | 0..1 | Meta | Metadata about the resource
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
language |  | 0..1 | code | Language of the resource content Binding: Common Languages (extensible): A human language.
Additional Bindings | Purpose
All Languages | Max Binding
text |  | 0..1 | Narrative | Text summary of the resource, for human interpretation This profile does not constrain the narrative in regard to content, language, or traceability to data elements
contained |  | 0..* | Resource | Contained, inline Resources
Slices for extension |  | 0..* | Extension | Additional Content defined by implementations Slice: Unordered, Open by value:url
extension:description |  | 0..1 | string | Description URL: http://nictiz.nl/fhir/StructureDefinition/zib-Product-Description Constraints: ext-1
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
code | Σ | 0..1 | CodeableConcept | Codes that identify this medication Binding: SNOMED CT Medication Codes (example): A coded concept that defines the type of a medication Example Example of Medication code: {"coding":[{"system":"urn:oid:2.16.840.1.113883.2.4.4.8","code":"13610554","display":"Carbasalaatcalcium Sandoz 600 30 sac"}]}
id |  | 0..1 | string | xml:id (or equivalent in JSON)
extension |  | 0..* | Extension | Additional Content defined by implementations Slice: Unordered, Open by value:url
Slices for coding | Σ | 0..* | Coding | MedicationCode Slice: Unordered, Open by value:system
coding:productCodeZICodelijst | Σ | 0..1 | Coding | Code defined by a terminology system Binding: ProductCodeZICodelijst (required): ProductCodeZICodelijst
id |  | 0..1 | string | xml:id (or equivalent in JSON)
extension |  | 0..* | Extension | Additional Content defined by implementations Slice: Unordered, Open by value:url
system | Σ | 1..1 | uri | Identity of the terminology system Fixed Value: urn:oid:2.16.840.1.113883.2.4.4.8
version | Σ | 0..1 | string | Version of the system - if relevant
code | Σ | 0..1 | code | Symbol in syntax defined by the system
display | Σ | 0..1 | string | Representation defined by the system
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user
coding:productCodeHPKCodelijst | Σ | 0..1 | Coding | Code defined by a terminology system Binding: ProductCodeHPKCodelijst (required): ProductCodeHPKCodelijst
id |  | 0..1 | string | xml:id (or equivalent in JSON)
extension |  | 0..* | Extension | Additional Content defined by implementations Slice: Unordered, Open by value:url
system | Σ | 1..1 | uri | Identity of the terminology system Fixed Value: urn:oid:2.16.840.1.113883.2.4.4.7
version | Σ | 0..1 | string | Version of the system - if relevant
code | Σ | 0..1 | code | Symbol in syntax defined by the system
display | Σ | 0..1 | string | Representation defined by the system
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user
coding:productCodeGTINCodelijst | Σ | 0..1 | Coding | Code defined by a terminology system Binding: ProductCodeGTINCodelijst (required): ProductCodeGTINCodelijst
id |  | 0..1 | string | xml:id (or equivalent in JSON)
extension |  | 0..* | Extension | Additional Content defined by implementations Slice: Unordered, Open by value:url
system | Σ | 1..1 | uri | Identity of the terminology system Fixed Value: urn:oid:1.3.160
version | Σ | 0..1 | string | Version of the system - if relevant
code | Σ | 0..1 | code | Symbol in syntax defined by the system
display | Σ | 0..1 | string | Representation defined by the system
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user
coding:productCodeGPKCodelijst | Σ | 0..1 | Coding | Code defined by a terminology system Binding: ProductCodeGPKCodelijst (required): ProductCodeGPKCodelijst
id |  | 0..1 | string | xml:id (or equivalent in JSON)
extension |  | 0..* | Extension | Additional Content defined by implementations Slice: Unordered, Open by value:url
system | Σ | 1..1 | uri | Identity of the terminology system Fixed Value: urn:oid:2.16.840.1.113883.2.4.4.1
version | Σ | 0..1 | string | Version of the system - if relevant
code | Σ | 0..1 | code | Symbol in syntax defined by the system
display | Σ | 0..1 | string | Representation defined by the system
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user
coding:productCodePRKCodelijst | Σ | 0..1 | Coding | Code defined by a terminology system Binding: ProductCodePRKCodelijst (required): ProductCodePRKCodelijst
id |  | 0..1 | string | xml:id (or equivalent in JSON)
extension |  | 0..* | Extension | Additional Content defined by implementations Slice: Unordered, Open by value:url
system | Σ | 1..1 | uri | Identity of the terminology system Fixed Value: urn:oid:2.16.840.1.113883.2.4.4.10
version | Σ | 0..1 | string | Version of the system - if relevant
code | Σ | 0..1 | code | Symbol in syntax defined by the system
display | Σ | 0..1 | string | Representation defined by the system
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user
coding:productCodeATCCodelijst | Σ | 0..1 | Coding | Code defined by a terminology system Binding: ProductCodeATCCodelijst (required): ProductCodeATCCodelijst
id |  | 0..1 | string | xml:id (or equivalent in JSON)
extension |  | 0..* | Extension | Additional Content defined by implementations Slice: Unordered, Open by value:url
system | Σ | 1..1 | uri | Identity of the terminology system Fixed Value: http://www.whocc.no/atc
version | Σ | 0..1 | string | Version of the system - if relevant
code | Σ | 0..1 | code | Symbol in syntax defined by the system
display | Σ | 0..1 | string | Representation defined by the system
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user
text | Σ | 0..1 | string | Medication Example Example of Medication as free text: PARACETAMOL 500MG TABLET
status | Σ | 0..1 | code | active | inactive | entered-in-error Binding: MedicationStatus (required): A coded concept defining if the medication is in active use
isBrand | Σ | 0..1 | boolean | True if a brand
isOverTheCounter | Σ | 0..1 | boolean | True if medication does not require a prescription
manufacturer | Σ | 0..1 | Reference(Organization) | Manufacturer of the item
form | S | 0..1 | CodeableConcept | PharmaceuticalForm Binding: FarmaceutischeVormCodelijst (required): FarmaceutischeVormCodelijst Example Example of Pharmaceutical form: {"coding":[{"system":"urn:oid:2.16.840.1.113883.2.4.4.11","code":"230","display":"TABLET"}]}
id |  | 0..1 | string | xml:id (or equivalent in JSON)
extension |  | 0..* | Extension | Additional Content defined by implementations Slice: Unordered, Open by value:url
coding | S Σ | 0..* | Coding | Code defined by a terminology system
id |  | 0..1 | string | xml:id (or equivalent in JSON)
extension |  | 0..* | Extension | Additional Content defined by implementations Slice: Unordered, Open by value:url
system | Σ | 0..1 | uri | Identity of the terminology system
version | Σ | 0..1 | string | Version of the system - if relevant
code | Σ | 0..1 | code | Symbol in syntax defined by the system
display | S Σ | 0..1 | string | Representation defined by the system
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user
text | Σ | 0..1 | string | Plain text representation of the concept
ingredient |  | 0..* | BackboneElement | Ingredient
id |  | 0..1 | string | xml:id (or equivalent in JSON)
extension |  | 0..* | Extension | Additional Content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored
item[x] |  | 1..1 | CodeableConcept | Substance Example Example of Ingredient substance: {"coding":[{"system":"http://www.whocc.no/atc","code":"B01AC08","display":"carbasalate calcium"}]}
id |  | 0..1 | string | xml:id (or equivalent in JSON)
extension |  | 0..* | Extension | Additional Content defined by implementations Slice: Unordered, Open by value:url
Slices for coding | Σ | 0..* | Coding | Code defined by a terminology system Slice: Unordered, Open by value:system
coding:ingredientCodeZICodelijst | Σ | 0..* | Coding | Code defined by a terminology system Binding: IngredientCodeZICodelijst (required): IngredientCodeZICodelijst
id |  | 0..1 | string | xml:id (or equivalent in JSON)
extension |  | 0..* | Extension | Additional Content defined by implementations Slice: Unordered, Open by value:url
system | Σ | 1..1 | uri | Identity of the terminology system Fixed Value: urn:oid:2.16.840.1.113883.2.4.4.8
version | Σ | 0..1 | string | Version of the system - if relevant
code | Σ | 0..1 | code | Symbol in syntax defined by the system
display | Σ | 0..1 | string | Representation defined by the system
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user
coding:ingredientCodeGTINCodeLijst | Σ | 0..* | Coding | Code defined by a terminology system Binding: IngredientCodeGTINCodelijst (required): IngredientCodeGTINCodeLijst
id |  | 0..1 | string | xml:id (or equivalent in JSON)
extension |  | 0..* | Extension | Additional Content defined by implementations Slice: Unordered, Open by value:url
system | Σ | 1..1 | uri | Identity of the terminology system Fixed Value: urn:oid:1.3.160
version | Σ | 0..1 | string | Version of the system - if relevant
code | Σ | 0..1 | code | Symbol in syntax defined by the system
display | Σ | 0..1 | string | Representation defined by the system
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user
coding:ingredientCodeATCCodelijst | Σ | 0..* | Coding | Code defined by a terminology system Binding: IngredientCodeATCCodelijst (required): IngredientCodeATCCodelijst
id |  | 0..1 | string | xml:id (or equivalent in JSON)
extension |  | 0..* | Extension | Additional Content defined by implementations Slice: Unordered, Open by value:url
system | Σ | 1..1 | uri | Identity of the terminology system Fixed Value: http://www.whocc.no/atc
version | Σ | 0..1 | string | Version of the system - if relevant
code | Σ | 0..1 | code | Symbol in syntax defined by the system
display | Σ | 0..1 | string | Representation defined by the system
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user
coding:ingredientCodeHPKLijst | Σ | 0..* | Coding | Code defined by a terminology system Binding: IngredientCodeHPKCodelijst (required): IngredientCodeHPKLijst
id |  | 0..1 | string | xml:id (or equivalent in JSON)
extension |  | 0..* | Extension | Additional Content defined by implementations Slice: Unordered, Open by value:url
system | Σ | 1..1 | uri | Identity of the terminology system Fixed Value: urn:oid:2.16.840.1.113883.2.4.4.7
version | Σ | 0..1 | string | Version of the system - if relevant
code | Σ | 0..1 | code | Symbol in syntax defined by the system
display | Σ | 0..1 | string | Representation defined by the system
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user
coding:ingredientCodeGPKLijst | Σ | 0..* | Coding | Code defined by a terminology system Binding: IngredientCodeGPKCodelijst (required): IngredientCodeGPKLijst
id |  | 0..1 | string | xml:id (or equivalent in JSON)
extension |  | 0..* | Extension | Additional Content defined by implementations Slice: Unordered, Open by value:url
system | Σ | 1..1 | uri | Identity of the terminology system Fixed Value: urn:oid:2.16.840.1.113883.2.4.4.1
version | Σ | 0..1 | string | Version of the system - if relevant
code | Σ | 0..1 | code | Symbol in syntax defined by the system
display | Σ | 0..1 | string | Representation defined by the system
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user
coding:ingredientCodeSNKLijst | Σ | 0..* | Coding | Code defined by a terminology system Binding: IngredientCodeSNKCodelijst (required): IngredientCodeSNKLijst
id |  | 0..1 | string | xml:id (or equivalent in JSON)
extension |  | 0..* | Extension | Additional Content defined by implementations Slice: Unordered, Open by value:url
system | Σ | 1..1 | uri | Identity of the terminology system Fixed Value: urn:oid:2.16.840.1.113883.2.4.4.1.750
version | Σ | 0..1 | string | Version of the system - if relevant
code | Σ | 0..1 | code | Symbol in syntax defined by the system
display | Σ | 0..1 | string | Representation defined by the system
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user
coding:ingredientCodePRKLijst | Σ | 0..* | Coding | Code defined by a terminology system Binding: IngredientCodePRKCodelijst (required): IngredientCodePRKLijst
id |  | 0..1 | string | xml:id (or equivalent in JSON)
extension |  | 0..* | Extension | Additional Content defined by implementations Slice: Unordered, Open by value:url
system | Σ | 1..1 | uri | Identity of the terminology system Fixed Value: urn:oid:2.16.840.1.113883.2.4.4.10
version | Σ | 0..1 | string | Version of the system - if relevant
code | Σ | 0..1 | code | Symbol in syntax defined by the system
display | Σ | 0..1 | string | Representation defined by the system
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user
coding:ingredientCodeSSKLijst | Σ | 0..* | Coding | Code defined by a terminology system Binding: IngredientCodeSSKCodelijst (required): IngredientCodeSSKLijst
id |  | 0..1 | string | xml:id (or equivalent in JSON)
extension |  | 0..* | Extension | Additional Content defined by implementations Slice: Unordered, Open by value:url
system | Σ | 1..1 | uri | Identity of the terminology system Fixed Value: urn:oid:2.16.840.1.113883.2.4.4.1.725
version | Σ | 0..1 | string | Version of the system - if relevant
code | Σ | 0..1 | code | Symbol in syntax defined by the system
display | Σ | 0..1 | string | Representation defined by the system
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user
text | Σ | 0..1 | string | Plain text representation of the concept
isActive |  | 0..1 | boolean | Active ingredient indicator
amount |  | 0..1 | Ratio | Concentration Example Example of Concentration: {"numerator":{"value":5,"unit":"ml","system":"http://unitsofmeasure.org","code":"mL"},"denominator":{"value":200,"unit":"ml","system":"http://unitsofmeasure.org","code":"mL"}}
id |  | 0..1 | string | xml:id (or equivalent in JSON)
extension |  | 0..* | Extension | Additional Content defined by implementations Slice: Unordered, Open by value:url
numerator | Σ | 0..1 | Quantity | IngredientAmount
denominator | Σ | 0..1 | Quantity | ProductAmount
package |  | 0..1 | BackboneElement | Details about packaged medications
id |  | 0..1 | string | xml:id (or equivalent in JSON)
extension |  | 0..* | Extension | Additional Content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored
container |  | 0..1 | CodeableConcept | E.g. box, vial, blister-pack Binding: MedicationContainer (example): A coded concept defining the kind of container a medication package is packaged in
content |  | 0..* | BackboneElement | What is in the package
id |  | 0..1 | string | xml:id (or equivalent in JSON)
extension |  | 0..* | Extension | Additional Content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored
item[x] |  | 1..1 |  | The item in the package
itemCodeableConcept |  |  | CodeableConcept |
itemReference |  |  | Reference(HCIM PharmaceuticalProduct(2.0.7)) |
amount |  | 0..1 | SimpleQuantity | Quantity present in the package
batch |  | 0..* | BackboneElement | Identifies a single production run
id |  | 0..1 | string | xml:id (or equivalent in JSON)
extension |  | 0..* | Extension | Additional Content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored
lotNumber |  | 0..1 | string | Identifier assigned to batch
expirationDate |  | 0..1 | dateTime | When batch will expire
image |  | 0..* | Attachment | Picture of the medication
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
Medication.language | Base | extensible | Common Languages | 📦3.0.2 | FHIR Std.
Medication.code | Base | example | SNOMED CT Medication Codes | 📦3.0.2 | FHIR Std.
Medication.code.coding:productCodeZICodelijst | Base | required | ProductCodeZICodelijst | 📦2017-12-31T00:00:00 | nictiz.fhir.nl.stu3.zib2017 v2.0
Medication.code.coding:productCodeHPKCodelijst | Base | required | ProductCodeHPKCodelijst | 📦2017-12-31T00:00:00 | nictiz.fhir.nl.stu3.zib2017 v2.0
Medication.code.coding:productCodeGTINCodelijst | Base | required | ProductCodeGTINCodelijst | 📦2017-12-31T00:00:00 | nictiz.fhir.nl.stu3.zib2017 v2.0
Medication.code.coding:productCodeGPKCodelijst | Base | required | ProductCodeGPKCodelijst | 📦2017-12-31T00:00:00 | nictiz.fhir.nl.stu3.zib2017 v2.0
Medication.code.coding:productCodePRKCodelijst | Base | required | ProductCodePRKCodelijst | 📦2017-12-31T00:00:00 | nictiz.fhir.nl.stu3.zib2017 v2.0
Medication.code.coding:productCodeATCCodelijst | Base | required | ProductCodeATCCodelijst | 📦2017-12-31T00:00:00 | nictiz.fhir.nl.stu3.zib2017 v2.0
Medication.status | Base | required | MedicationStatus | 📦3.0.2 | FHIR Std.
Medication.form | Base | required | FarmaceutischeVormCodelijst | 📦2017-12-31T00:00:00 | nictiz.fhir.nl.stu3.zib2017 v2.0
Medication.ingredient.​item[x].coding:ingredientCodeZICodelijst | Base | required | IngredientCodeZICodelijst | 📦2017-12-31T00:00:00 | nictiz.fhir.nl.stu3.zib2017 v2.0
Medication.ingredient.​item[x].coding:ingredientCodeGTINCodeLijst | Base | required | IngredientCodeGTINCodelijst | 📦2017-12-31T00:00:00 | nictiz.fhir.nl.stu3.zib2017 v2.0
Medication.ingredient.​item[x].coding:ingredientCodeATCCodelijst | Base | required | IngredientCodeATCCodelijst | 📦2017-12-31T00:00:00 | nictiz.fhir.nl.stu3.zib2017 v2.0
Medication.ingredient.​item[x].coding:ingredientCodeHPKLijst | Base | required | IngredientCodeHPKCodelijst | 📦2017-12-31T00:00:00 | nictiz.fhir.nl.stu3.zib2017 v2.0
Medication.ingredient.​item[x].coding:ingredientCodeGPKLijst | Base | required | IngredientCodeGPKCodelijst | 📦2017-12-31T00:00:00 | nictiz.fhir.nl.stu3.zib2017 v2.0
Medication.ingredient.​item[x].coding:ingredientCodeSNKLijst | Base | required | IngredientCodeSNKCodelijst | 📦2017-12-31T00:00:00 | nictiz.fhir.nl.stu3.zib2017 v2.0
Medication.ingredient.​item[x].coding:ingredientCodePRKLijst | Base | required | IngredientCodePRKCodelijst | 📦2017-12-31T00:00:00 | nictiz.fhir.nl.stu3.zib2017 v2.0
Medication.ingredient.​item[x].coding:ingredientCodeSSKLijst | Base | required | IngredientCodeSSKCodelijst | 📦2017-12-31T00:00:00 | nictiz.fhir.nl.stu3.zib2017 v2.0
Medication.package.container | Base | example | MedicationContainer | 📦3.0.2 | FHIR Std.

#### Constraints

Id | Grade | Path(s) | Description | Expression
dom-1 | error | Medication | If the resource is contained in another resource, it SHALL NOT contain any narrative | `contained.text.empty()`
dom-2 | error | Medication | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | Medication | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource | `contained.where(('#'+id in %resource.descendants().reference).not()).empty()`
dom-4 | error | 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()`
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() | (children().count() > id.count())`
ext-1 | error | Medication.extension:description | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`

This structure is derived from Zib PharmaceuticalProduct

Summary

Must-Support: 3 elements

Other representations of profile: CSV, Excel, Schematron