AU Core Implementation Guide
3.0.0-ballot1 - Ballot

AU Core Implementation Guide - Downloaded Version 3.0.0-ballot1 See the Directory of published versions

## Resource Profile: AU Core Medication

Official URL: http://hl7.org.au/fhir/core/StructureDefinition/au-core-medication | Version: 3.0.0-ballot1
Standards status: Trial-use | Maturity Level: 2 | Computable Name: AUCoreMedication
Copyright/Legal: Used by permission of HL7 International, all rights reserved Creative Commons License. HL7 Australia© 2022+; Licensed Under Creative Commons No Rights Reserved.

This profile sets minimum expectations for a Medication resource to record, search, and fetch medications associated with a patient. It is based on the AU Base Medication profile and identifies the additional mandatory core elements, extensions, vocabularies and value sets that SHALL be present in the Medication when conforming to this profile. It provides the floor for standards development for specific uses cases in an Australian context.

In AU Core a Medication resource is used within the context of a referencing resource: MedicationAdministration, MedicationDispense, MedicationRequest, or MedicationStatement resource.

See Comparison with other national and international IGs for a comparison between AU Core profiles and profiles in other implementation guides.

### Usage Scenarios

The following are supported usage scenarios for this profile:

- Query medications associated with a patient referenced by another resource
- Record or update a medication associated with a patient referenced by another resource
- Read medications associated with a patient referenced by another resource

### Profile Specific Implementation Guidance

- See the Medicine Information page for guidance on how medicinal product identification can be structured in FHIR conformant to AU Core.
- The Medication resource SHALL NOT be used to represent that a patient is not currently taking any medications; implementers SHOULD use the MedicationStatement resource following the profile specific implementation guidance in AU Core MedicationStatement.

Usages:

- Refer to this Profile: AU Core MedicationDispense, AU Core MedicationRequest and AU Core MedicationStatement
- Examples for this Profile: Medication/1active-ingredient, Medication/2active-ingredients, Medication/lipex and Medication/simvastatin
- CapabilityStatements using this Profile: AU Core Requester CapabilityStatement and AU Core Responder CapabilityStatement

You can also check for usages in the FHIR IG Statistics

Changes since version 2.0.0:

- The resource metadata has changed (description)

### 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..* | AUBaseMedication | A medication in an Australian healthcare context
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
code | SO Σ | 1..1 | CodeableConcept | Coding for the medicine Binding: SNOMEDCTMedicationCodes (example)
Additional Bindings | Purpose
Australian Medication | Preferred
PBS Item Codes | Preferred
MIMS | Preferred
GTIN | Preferred
Obligations | Actor
SHALL:populate-if-known | AU Core Responder
SHALL:no-error | AU Core Requester
Slices for coding | Σ | 0..* | Coding | Code defined by a terminology system Slice: Unordered, Open by pattern:$this
coding:All Slices |  |  |  | Content/Rules for all slices
Slices for extension |  |  |  | Content/Rules for all slices
extension:medicationClass |  | 0..1 | Coding | Medication type URL: http://hl7.org.au/fhir/StructureDefinition/medication-type Binding: Medication Type (required)
coding:pbs | SO Σ | 0..* | Coding | Code defined by a terminology system Binding: PBS Item Codes (required)
Obligations | Actor
SHALL:populate-if-known | AU Core Responder
SHALL:no-error | AU Core Requester
Slices for extension |  |  |  | Content/Rules for all slices
extension:medicationClass |  | 0..1 | Coding | Medication type URL: http://hl7.org.au/fhir/StructureDefinition/medication-type Binding: Medication Type (required)
coding:amt | SO Σ | 0..* | Coding | Code defined by a terminology system Binding: Australian Medication (required)
Obligations | Actor
SHALL:populate-if-known | AU Core Responder
SHALL:no-error | AU Core Requester
Slices for extension |  |  |  | Content/Rules for all slices
extension:medicationClass |  | 0..1 | Coding | Medication type URL: http://hl7.org.au/fhir/StructureDefinition/medication-type Binding: Medication Type (required)
status | ?!Σ | 0..1 | code | active | inactive | entered-in-error Binding: Medication Status Codes (required): A coded concept defining if the medication is in active use.
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
Medication.code | Base | example | SNOMED CT Medication Codes | 📍4.0.1 | FHIR Std.
Medication.code.coding:pbs | Base | required | PBS Item Codes | 📦7.0.0-ballot1 | AU Base Implementation Guide v7.0
Medication.code.coding:amt | Base | required | Australian Medication | ⏿1.0.2 | tx.hl7.org.au
Medication.status | Base | required | Medication status codes | 📍4.0.1 | FHIR Std.

#### Constraints

Id | Grade | Path(s) | Description | Expression
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 or SHALL refer to the containing resource | `contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()`
dom-4 | error | 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 | error | Medication | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | Medication | A resource should have narrative for robust management | `text.`div`.exists()`
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`

This structure is derived from AUBaseMedication

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Medication |  | 0..* | AUBaseMedication | A medication in an Australian healthcare context
code | SO | 1..1 | CodeableConcept | Coding for the medicine
Obligations | Actor
SHALL:populate-if-known | AU Core Responder
SHALL:no-error | AU Core Requester
Slices for coding |  | 0..* | Coding | Code defined by a terminology system Slice: Unordered, Open by pattern:$this
coding:pbs | SO | 0..* | Coding | Code defined by a terminology system Binding: PBS Item Codes (required)
Obligations | Actor
SHALL:populate-if-known | AU Core Responder
SHALL:no-error | AU Core Requester
coding:amt | SO | 0..* | Coding | Code defined by a terminology system Binding: Australian Medication (required)
Obligations | Actor
SHALL:populate-if-known | AU Core Responder
SHALL:no-error | AU Core Requester
Documentation for this format

#### Terminology Bindings (Differential)

Path | Status | Usage | ValueSet | Version | Source
Medication.code.coding:pbs | Base | required | PBS Item Codes | 📦7.0.0-ballot1 | AU Base Implementation Guide v7.0
Medication.code.coding:amt | Base | required | Australian Medication | ⏿1.0.2 | tx.hl7.org.au

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Medication |  | 0..* | AUBaseMedication | A medication in an Australian healthcare context
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: CommonLanguages (preferred): A human language.
Additional Bindings | Purpose
AllLanguages | 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
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
identifier | Σ | 0..* | Identifier | Business identifier for this medication
code | SO Σ | 1..1 | CodeableConcept | Coding for the medicine Binding: SNOMEDCTMedicationCodes (example)
Additional Bindings | Purpose
Australian Medication | Preferred
PBS Item Codes | Preferred
MIMS | Preferred
GTIN | Preferred
Obligations | Actor
SHALL:populate-if-known | AU Core Responder
SHALL:no-error | AU Core Requester
id |  | 0..1 | string | Unique id for inter-element referencing
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 pattern:$this
coding:All Slices |  |  |  | Content/Rules for all slices
id |  | 0..1 | string | Unique id for inter-element referencing
Slices for extension |  | 0..* | Extension | Extension Slice: Unordered, Open by value:url
extension:medicationClass |  | 0..1 | Coding | Medication type URL: http://hl7.org.au/fhir/StructureDefinition/medication-type Binding: Medication Type (required)
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 | Σ | 0..1 | string | Representation defined by the system
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user
coding:pbs | SO Σ | 0..* | Coding | Code defined by a terminology system Binding: PBS Item Codes (required)
Obligations | Actor
SHALL:populate-if-known | AU Core Responder
SHALL:no-error | AU Core Requester
id |  | 0..1 | string | Unique id for inter-element referencing
Slices for extension |  | 0..* | Extension | Extension Slice: Unordered, Open by value:url
Slices for extension |  |  |  | Content/Rules for all slices
extension:medicationClass |  | 0..1 | Coding | Medication type URL: http://hl7.org.au/fhir/StructureDefinition/medication-type Binding: Medication Type (required)
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 | Σ | 0..1 | string | Representation defined by the system
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user
coding:amt | SO Σ | 0..* | Coding | Code defined by a terminology system Binding: Australian Medication (required)
Obligations | Actor
SHALL:populate-if-known | AU Core Responder
SHALL:no-error | AU Core Requester
id |  | 0..1 | string | Unique id for inter-element referencing
Slices for extension |  | 0..* | Extension | Extension Slice: Unordered, Open by value:url
Slices for extension |  |  |  | Content/Rules for all slices
extension:medicationClass |  | 0..1 | Coding | Medication type URL: http://hl7.org.au/fhir/StructureDefinition/medication-type Binding: Medication Type (required)
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 | Σ | 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 primary text
status | ?!Σ | 0..1 | code | active | inactive | entered-in-error Binding: Medication Status Codes (required): A coded concept defining if the medication is in active use.
manufacturer | Σ | 0..1 | Reference(Organization) | Physical product manufacturer organisation
form |  | 0..1 | CodeableConcept | powder | tablets | capsule + Binding: Medication Form (preferred)
amount | Σ | 0..1 | Ratio | Amount of drug in package
ingredient |  | 0..* | BackboneElement | Active or inactive ingredient
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
item[x] |  | 1..1 |  | The actual ingredient or content Binding: Medication Ingredient (preferred)
itemCodeableConcept |  |  | CodeableConcept |
itemReference |  |  | Reference(Substance | Medication) |
isActive |  | 0..1 | boolean | Active ingredient indicator
strength |  | 0..1 | Ratio | Quantity/strength of ingredient present
batch |  | 0..1 | BackboneElement | Details about packaged medications
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
lotNumber |  | 0..1 | string | Identifier assigned to batch
expirationDate |  | 0..1 | dateTime | When batch will expire
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
Medication.language | Base | preferred | Common Languages | 📍4.0.1 | FHIR Std.
Medication.code | Base | example | SNOMED CT Medication Codes | 📍4.0.1 | FHIR Std.
Medication.code.coding:pbs | Base | required | PBS Item Codes | 📦7.0.0-ballot1 | AU Base Implementation Guide v7.0
Medication.code.coding:amt | Base | required | Australian Medication | ⏿1.0.2 | tx.hl7.org.au
Medication.status | Base | required | Medication status codes | 📍4.0.1 | FHIR Std.
Medication.form | Base | preferred | Medication Form | ⏿1.1.1 | tx.hl7.org.au
Medication.ingredient.​item[x] | Base | preferred | Medication Ingredient | ⏿1.0.0 | tx.hl7.org.au

#### Constraints

Id | Grade | Path(s) | Description | Expression
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 or SHALL refer to the containing resource | `contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()`
dom-4 | error | 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 | error | Medication | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | Medication | A resource should have narrative for robust management | `text.`div`.exists()`
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`

This structure is derived from AUBaseMedication

Summary

Mandatory: 1 element
Must-Support: 3 elements

Slices

This structure defines the following Slices:

- The element 1 is sliced based on the value of Medication.code.coding

Maturity: 2

Key Elements View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Medication |  | 0..* | AUBaseMedication | A medication in an Australian healthcare context
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
code | SO Σ | 1..1 | CodeableConcept | Coding for the medicine Binding: SNOMEDCTMedicationCodes (example)
Additional Bindings | Purpose
Australian Medication | Preferred
PBS Item Codes | Preferred
MIMS | Preferred
GTIN | Preferred
Obligations | Actor
SHALL:populate-if-known | AU Core Responder
SHALL:no-error | AU Core Requester
Slices for coding | Σ | 0..* | Coding | Code defined by a terminology system Slice: Unordered, Open by pattern:$this
coding:All Slices |  |  |  | Content/Rules for all slices
Slices for extension |  |  |  | Content/Rules for all slices
extension:medicationClass |  | 0..1 | Coding | Medication type URL: http://hl7.org.au/fhir/StructureDefinition/medication-type Binding: Medication Type (required)
coding:pbs | SO Σ | 0..* | Coding | Code defined by a terminology system Binding: PBS Item Codes (required)
Obligations | Actor
SHALL:populate-if-known | AU Core Responder
SHALL:no-error | AU Core Requester
Slices for extension |  |  |  | Content/Rules for all slices
extension:medicationClass |  | 0..1 | Coding | Medication type URL: http://hl7.org.au/fhir/StructureDefinition/medication-type Binding: Medication Type (required)
coding:amt | SO Σ | 0..* | Coding | Code defined by a terminology system Binding: Australian Medication (required)
Obligations | Actor
SHALL:populate-if-known | AU Core Responder
SHALL:no-error | AU Core Requester
Slices for extension |  |  |  | Content/Rules for all slices
extension:medicationClass |  | 0..1 | Coding | Medication type URL: http://hl7.org.au/fhir/StructureDefinition/medication-type Binding: Medication Type (required)
status | ?!Σ | 0..1 | code | active | inactive | entered-in-error Binding: Medication Status Codes (required): A coded concept defining if the medication is in active use.
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
Medication.code | Base | example | SNOMED CT Medication Codes | 📍4.0.1 | FHIR Std.
Medication.code.coding:pbs | Base | required | PBS Item Codes | 📦7.0.0-ballot1 | AU Base Implementation Guide v7.0
Medication.code.coding:amt | Base | required | Australian Medication | ⏿1.0.2 | tx.hl7.org.au
Medication.status | Base | required | Medication status codes | 📍4.0.1 | FHIR Std.

#### Constraints

Id | Grade | Path(s) | Description | Expression
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 or SHALL refer to the containing resource | `contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()`
dom-4 | error | 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 | error | Medication | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | Medication | A resource should have narrative for robust management | `text.`div`.exists()`
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`

Differential View

This structure is derived from AUBaseMedication

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Medication |  | 0..* | AUBaseMedication | A medication in an Australian healthcare context
code | SO | 1..1 | CodeableConcept | Coding for the medicine
Obligations | Actor
SHALL:populate-if-known | AU Core Responder
SHALL:no-error | AU Core Requester
Slices for coding |  | 0..* | Coding | Code defined by a terminology system Slice: Unordered, Open by pattern:$this
coding:pbs | SO | 0..* | Coding | Code defined by a terminology system Binding: PBS Item Codes (required)
Obligations | Actor
SHALL:populate-if-known | AU Core Responder
SHALL:no-error | AU Core Requester
coding:amt | SO | 0..* | Coding | Code defined by a terminology system Binding: Australian Medication (required)
Obligations | Actor
SHALL:populate-if-known | AU Core Responder
SHALL:no-error | AU Core Requester
Documentation for this format

#### Terminology Bindings (Differential)

Path | Status | Usage | ValueSet | Version | Source
Medication.code.coding:pbs | Base | required | PBS Item Codes | 📦7.0.0-ballot1 | AU Base Implementation Guide v7.0
Medication.code.coding:amt | Base | required | Australian Medication | ⏿1.0.2 | tx.hl7.org.au

Snapshot View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Medication |  | 0..* | AUBaseMedication | A medication in an Australian healthcare context
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: CommonLanguages (preferred): A human language.
Additional Bindings | Purpose
AllLanguages | 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
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
identifier | Σ | 0..* | Identifier | Business identifier for this medication
code | SO Σ | 1..1 | CodeableConcept | Coding for the medicine Binding: SNOMEDCTMedicationCodes (example)
Additional Bindings | Purpose
Australian Medication | Preferred
PBS Item Codes | Preferred
MIMS | Preferred
GTIN | Preferred
Obligations | Actor
SHALL:populate-if-known | AU Core Responder
SHALL:no-error | AU Core Requester
id |  | 0..1 | string | Unique id for inter-element referencing
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 pattern:$this
coding:All Slices |  |  |  | Content/Rules for all slices
id |  | 0..1 | string | Unique id for inter-element referencing
Slices for extension |  | 0..* | Extension | Extension Slice: Unordered, Open by value:url
extension:medicationClass |  | 0..1 | Coding | Medication type URL: http://hl7.org.au/fhir/StructureDefinition/medication-type Binding: Medication Type (required)
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 | Σ | 0..1 | string | Representation defined by the system
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user
coding:pbs | SO Σ | 0..* | Coding | Code defined by a terminology system Binding: PBS Item Codes (required)
Obligations | Actor
SHALL:populate-if-known | AU Core Responder
SHALL:no-error | AU Core Requester
id |  | 0..1 | string | Unique id for inter-element referencing
Slices for extension |  | 0..* | Extension | Extension Slice: Unordered, Open by value:url
Slices for extension |  |  |  | Content/Rules for all slices
extension:medicationClass |  | 0..1 | Coding | Medication type URL: http://hl7.org.au/fhir/StructureDefinition/medication-type Binding: Medication Type (required)
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 | Σ | 0..1 | string | Representation defined by the system
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user
coding:amt | SO Σ | 0..* | Coding | Code defined by a terminology system Binding: Australian Medication (required)
Obligations | Actor
SHALL:populate-if-known | AU Core Responder
SHALL:no-error | AU Core Requester
id |  | 0..1 | string | Unique id for inter-element referencing
Slices for extension |  | 0..* | Extension | Extension Slice: Unordered, Open by value:url
Slices for extension |  |  |  | Content/Rules for all slices
extension:medicationClass |  | 0..1 | Coding | Medication type URL: http://hl7.org.au/fhir/StructureDefinition/medication-type Binding: Medication Type (required)
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 | Σ | 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 primary text
status | ?!Σ | 0..1 | code | active | inactive | entered-in-error Binding: Medication Status Codes (required): A coded concept defining if the medication is in active use.
manufacturer | Σ | 0..1 | Reference(Organization) | Physical product manufacturer organisation
form |  | 0..1 | CodeableConcept | powder | tablets | capsule + Binding: Medication Form (preferred)
amount | Σ | 0..1 | Ratio | Amount of drug in package
ingredient |  | 0..* | BackboneElement | Active or inactive ingredient
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
item[x] |  | 1..1 |  | The actual ingredient or content Binding: Medication Ingredient (preferred)
itemCodeableConcept |  |  | CodeableConcept |
itemReference |  |  | Reference(Substance | Medication) |
isActive |  | 0..1 | boolean | Active ingredient indicator
strength |  | 0..1 | Ratio | Quantity/strength of ingredient present
batch |  | 0..1 | BackboneElement | Details about packaged medications
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
lotNumber |  | 0..1 | string | Identifier assigned to batch
expirationDate |  | 0..1 | dateTime | When batch will expire
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
Medication.language | Base | preferred | Common Languages | 📍4.0.1 | FHIR Std.
Medication.code | Base | example | SNOMED CT Medication Codes | 📍4.0.1 | FHIR Std.
Medication.code.coding:pbs | Base | required | PBS Item Codes | 📦7.0.0-ballot1 | AU Base Implementation Guide v7.0
Medication.code.coding:amt | Base | required | Australian Medication | ⏿1.0.2 | tx.hl7.org.au
Medication.status | Base | required | Medication status codes | 📍4.0.1 | FHIR Std.
Medication.form | Base | preferred | Medication Form | ⏿1.1.1 | tx.hl7.org.au
Medication.ingredient.​item[x] | Base | preferred | Medication Ingredient | ⏿1.0.0 | tx.hl7.org.au

#### Constraints

Id | Grade | Path(s) | Description | Expression
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 or SHALL refer to the containing resource | `contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()`
dom-4 | error | 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 | error | Medication | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | Medication | A resource should have narrative for robust management | `text.`div`.exists()`
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`

This structure is derived from AUBaseMedication

Summary

Mandatory: 1 element
Must-Support: 3 elements

Slices

This structure defines the following Slices:

- The element 1 is sliced based on the value of Medication.code.coding

Maturity: 2

Other representations of profile: CSV, Excel, Schematron

### Notes:

Below is an overview of the mandatory and optional search parameters. FHIR search operations and the syntax used to describe the interactions is described here.

#### Mandatory Search Parameters

No mandatory search parameters for this profile.

#### Optional Search Parameters

No optional search parameters for this profile.