AU Patient Summary Implementation Guide
1.0.0-ballot - Ballot

AU Patient Summary Implementation Guide - Downloaded Version 1.0.0-ballot See the Directory of published versions

## Resource Profile: AU PS MedicationStatement

Official URL: http://hl7.org.au/fhir/ps/StructureDefinition/au-ps-medicationstatement | Version: 1.0.0-ballot
Standards status: Draft | Maturity Level: 1 | Computable Name: AUPSMedicationStatement
Copyright/Legal: Used by permission of HL7 International, all rights reserved Creative Commons License. HL7 Australia© 2024+; Licensed Under Creative Commons No Rights Reserved.

This profile sets minimum expectations for a MedicationStatement resource in the context of a patient summary in an Australian context. It is based on the AU Core MedicationStatement profile, and applies the additional requirements from MedicationStatement (IPS).

See Comparison With Other National and International IGs for a comparison between AU Patient Summary (AU PS) profiles and profiles in other implementation guides.

### Profile Specific Implementation Guidance

- See the guidance on implementing the MedicationStatement resource in AU Core.
- When populating `MedicationStatement.medicationCodeableConcept` producers SHALL correctly populate `MedicationStatement.medicationCodeableConcept.coding` with either a code from Australian Medication or PBS Item Codes, or both, if a coded value is known and MAY populate with a code from another code system.
  - Producers MAY populate with only text if no coded value is known.
- The MedicationStatement resource can represent the clinical indication as a code with `MedicationStatement.reasonCode`, or a reference with `MedicationStatement.reasonReference` to a Condition or other resource.
  - Although both are marked as Must Support, producers are not required to support both a code and a reference, but they SHALL support at least one of these elements
  - A consumer SHALL support both elements
- To represent that a patient is not currently taking any medications, the code SNOMED CT 1234391000168107 |No known current medicines| is used in `MedicationStatement.medicationCodeableConcept`:
  - `MedicationStatement.status` is set to "active"
  - `MedicationStatement.effectiveDateTime` is the date/time the statement was current
  - A Medication resource referenced in `MedicationStatement.medicationReference` SHALL NOT be used
  - Implementers need to be aware than an IPS document conforming to 1.0.0 or 1.1.0 may provide instead the IPS preferred concept "no-known-medications" or if conforming to 2.0.0 may provide instead the IPS preferred concept 787481004 |No known medications|. The IPS concept "no-known-medications" has been removed from later versions of IPS. These concepts SHOULD NOT be used when producing AU PS compliant data, but receiving systems may still encounter it in IPS documents.

The additional obligation on `MedicationStatement.effectiveDateTime` for AU PS Producer is SHOULD:able-to-populate. This obligation is in addition to the obligation of SHALL:populate-if-known. There is no additional obligation for AU PS Consumer, the obligations of SHALL:handle and SHOULD:display apply.

This additional obligation is present in the underlying structure but due to a tooling limitation is not currently rendered in the Formal Views of Profile Content. See Zulip discussion for more information.

Examples for this Profile: Bundle/aups-basicsummary, Bundle/aups-noknownx, Bundle/aups-referral-endoconsult-autogen and Bundle/aups-referral-endoconsult-curated

Usages:

- Use this Profile: AU PS Bundle
- Refer to this Profile: AU PS Composition

You can also check for usages in the FHIR IG Statistics

### 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
--- | --- | --- | --- | ---
MedicationStatement |  | 0..* | AUCoreMedicationStatement | A record of medication being taken by a patient in an Australian healthcare context This profile also complies with the profile MedicationStatement (IPS)
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
Slices for extension |  |  |  | Content/Rules for all slices
extension:longTerm |  | 0..1 | boolean | Medication Long Term Indicator URL: http://hl7.org.au/fhir/StructureDefinition/medication-long-term
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
status | ?!SO Σ | 1..1 | code | active | completed | entered-in-error | intended | stopped | on-hold | unknown | not-taken Binding: Medication Status Codes (required): A coded concept indicating the current status of a MedicationStatement.
Obligations | Actor
SHALL:populate | AU PS Producer
SHALL:handle | AU PS Consumer
SHOULD:display | AU PS Consumer
Slices for medication[x] | SO Σ | 1..1 |  | Medication Detail Slice: Unordered, Closed by type:$this Binding: SNOMEDCTMedicationCodes (example): A coded concept identifying the substance or product being taken.
Obligations | Actor
SHALL:populate | AU PS Producer
SHALL:handle | AU PS Consumer
SHOULD:display | AU PS Consumer
medicationCodeableConcept |  |  | CodeableConcept |
medicationReference |  |  | Reference(Medication) |
medication[x]:medicationCodeableConcept | SO Σ | 0..1 | CodeableConceptIPS | Coded Medication Binding: SNOMEDCTMedicationCodes (example)
Additional Bindings | Purpose
Australian Medication | Preferred
PBS Item Codes | Preferred
MIMS | Preferred
GTIN | Preferred
Obligations | Actor
SHALL:populate | AU PS Producer
SHALL:handle | AU PS Consumer
SHOULD:display | AU PS Consumer
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 PS Producer
SHALL:handle | AU PS Consumer
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 PS Producer
SHALL:handle | AU PS Consumer
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)
medication[x]:medicationReference | SO Σ | 0..1 | Reference(AU PS Medication) | Medication Reference
Obligations | Actor
SHALL:populate | AU PS Producer
SHALL:handle | AU PS Consumer
SHOULD:display | AU PS Consumer
subject | SO Σ | 1..1 | Reference(AU PS Patient) | Who is/was taking the medication
Obligations | Actor
SHALL:populate | AU PS Producer
SHALL:handle | AU PS Consumer
SHOULD:display | AU PS Consumer
reference | SO Σ C | 1..1 | string | Literal reference, Relative, internal or absolute URL
Obligations | Actor
SHALL:populate | AU PS Producer
SHALL:handle | AU PS Consumer
effective[x] | SO Σ | 1..1 |  | The date/time or interval when the medication is/was/will be taken
Obligations | Actor
SHALL:populate-if-known | AU PS Producer
SHALL:handle | AU PS Consumer
SHOULD:display | AU PS Consumer
effectiveDateTime |  |  | dateTime S |
effectivePeriod |  |  | Period |
dateAsserted | SO Σ | 0..1 | dateTime | When the statement was asserted?
Obligations | Actor
SHALL:populate-if-known | AU PS Producer
SHALL:handle | AU PS Consumer
SHOULD:display | AU PS Consumer
reasonCode | SO | 0..* | CodeableConceptIPS | Reason for why the medication is being/was taken Binding: Medication Reason Taken (preferred)
Obligations | Actor
SHALL:populate-if-known | AU PS Producer
SHALL:handle | AU PS Consumer
SHOULD:display | AU PS Consumer
reasonReference | SO | 0..* | Reference(AU PS Condition | Observation | DiagnosticReport (IPS)) | Condition or observation that supports why the medication is being/was taken
Obligations | Actor
SHALL:populate-if-known | AU PS Producer
SHALL:handle | AU PS Consumer
SHOULD:display | AU PS Consumer
dosage | SO | 0..* | AUBaseDosage | Details of how medication is/was taken or should be taken
Obligations | Actor
SHALL:populate-if-known | AU PS Producer
SHALL:handle | AU PS Consumer
SHOULD:display | AU PS Consumer
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
text | SO Σ | 0..1 | string | Free text dosage instructions e.g. SIG
Obligations | Actor
SHALL:populate-if-known | AU PS Producer
SHALL:handle | AU PS Consumer
SHOULD:display | AU PS Consumer
timing | SO Σ | 0..1 | Timing | When medication should be administered
Obligations | Actor
SHALL:populate-if-known | AU PS Producer
SHALL:handle | AU PS Consumer
SHOULD:display | AU PS Consumer
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
MedicationStatement.​status | Base | required | Medication status codes | 📍4.0.1 | FHIR Std.
MedicationStatement.​medication[x] | Base | example | SNOMED CT Medication Codes | 📍4.0.1 | FHIR Std.
MedicationStatement.​medication[x]:medicationCodeableConcept | Base | example | SNOMED CT Medication Codes | 📍4.0.1 | FHIR Std.
MedicationStatement.​medication[x]:medicationCodeableConcept.​coding:pbs | Base | required | PBS Item Codes | 📦6.0.0 | AU Base Implementation Guide v6.0
MedicationStatement.​medication[x]:medicationCodeableConcept.​coding:amt | Base | required | Australian Medication | ⏿1.0.2 | tx.hl7.org.au
MedicationStatement.​reasonCode | Base | preferred | Medication Reason Taken | ⏿1.1.0 | tx.hl7.org.au

#### Constraints

Id | Grade | Path(s) | Description | Expression
dom-2 | error | MedicationStatement | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | MedicationStatement | 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 | MedicationStatement | 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 | MedicationStatement | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | MedicationStatement | 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 AUCoreMedicationStatement

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
MedicationStatement |  | 0..* | AUCoreMedicationStatement | A record of medication being taken by a patient in an Australian healthcare context This profile also complies with the profile MedicationStatement (IPS)
status | O | 1..1 | code | active | completed | entered-in-error | intended | stopped | on-hold | unknown | not-taken
Obligations | Actor
SHALL:populate | AU PS Producer
SHALL:handle | AU PS Consumer
SHOULD:display | AU PS Consumer
medication[x] | O | 1..1 | CodeableConcept, Reference(Medication) | Medication Detail
Obligations | Actor
SHALL:populate | AU PS Producer
SHALL:handle | AU PS Consumer
SHOULD:display | AU PS Consumer
Slices for medication[x] |  |  |  | Content/Rules for all slices
medication[x]:medicationCodeableConcept | O | 0..1 | CodeableConceptIPS | Coded Medication
Obligations | Actor
SHALL:populate | AU PS Producer
SHALL:handle | AU PS Consumer
SHOULD:display | AU PS Consumer
Slices for coding |  |  |  | Content/Rules for all slices
coding:pbs | O | 0..* | Coding | Code defined by a terminology system
Obligations | Actor
SHALL:populate-if-known | AU PS Producer
SHALL:handle | AU PS Consumer
coding:amt | O | 0..* | Coding | Code defined by a terminology system
Obligations | Actor
SHALL:populate-if-known | AU PS Producer
SHALL:handle | AU PS Consumer
medication[x]:medicationReference | O | 0..1 | Reference(AU PS Medication) | Medication Reference
Obligations | Actor
SHALL:populate | AU PS Producer
SHALL:handle | AU PS Consumer
SHOULD:display | AU PS Consumer
subject | O | 1..1 | Reference(AU PS Patient) | Who is/was taking the medication
Obligations | Actor
SHALL:populate | AU PS Producer
SHALL:handle | AU PS Consumer
SHOULD:display | AU PS Consumer
reference | SO | 1..1 | string | Literal reference, Relative, internal or absolute URL
Obligations | Actor
SHALL:populate | AU PS Producer
SHALL:handle | AU PS Consumer
effective[x] | O | 1..1 |  | The date/time or interval when the medication is/was/will be taken
Obligations | Actor
SHALL:populate-if-known | AU PS Producer
SHALL:handle | AU PS Consumer
SHOULD:display | AU PS Consumer
effectiveDateTime |  |  | dateTime |
effectivePeriod |  |  | Period |
dateAsserted | O | 0..1 | dateTime | When the statement was asserted?
Obligations | Actor
SHALL:populate-if-known | AU PS Producer
SHALL:handle | AU PS Consumer
SHOULD:display | AU PS Consumer
reasonCode | O | 0..* | CodeableConceptIPS | Reason for why the medication is being/was taken
Obligations | Actor
SHALL:populate-if-known | AU PS Producer
SHALL:handle | AU PS Consumer
SHOULD:display | AU PS Consumer
reasonReference | O | 0..* | Reference(AU PS Condition | Observation | DiagnosticReport (IPS)) | Condition or observation that supports why the medication is being/was taken
Obligations | Actor
SHALL:populate-if-known | AU PS Producer
SHALL:handle | AU PS Consumer
SHOULD:display | AU PS Consumer
dosage | O | 0..* | AUBaseDosage | Details of how medication is/was taken or should be taken
Obligations | Actor
SHALL:populate-if-known | AU PS Producer
SHALL:handle | AU PS Consumer
SHOULD:display | AU PS Consumer
text | O | 0..1 | string | Free text dosage instructions e.g. SIG
Obligations | Actor
SHALL:populate-if-known | AU PS Producer
SHALL:handle | AU PS Consumer
SHOULD:display | AU PS Consumer
timing | SO | 0..1 | Timing | When medication should be administered
Obligations | Actor
SHALL:populate-if-known | AU PS Producer
SHALL:handle | AU PS Consumer
SHOULD:display | AU PS Consumer
Documentation for this format

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
MedicationStatement |  | 0..* | AUCoreMedicationStatement | A record of medication being taken by a patient in an Australian healthcare context This profile also complies with the profile MedicationStatement (IPS)
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
Slices for extension |  | 0..* | Extension | Extension Slice: Unordered, Open by value:url
extension:longTerm |  | 0..1 | boolean | Medication Long Term Indicator URL: http://hl7.org.au/fhir/StructureDefinition/medication-long-term
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
identifier | Σ | 0..* | Identifier | External identifier
basedOn | Σ | 0..* | Reference(MedicationRequest | CarePlan | ServiceRequest) | Fulfils plan, proposal or order
partOf | Σ | 0..* | Reference(MedicationAdministration | MedicationDispense | MedicationStatement | Procedure | Observation) | Part of referenced event
status | ?!SO Σ | 1..1 | code | active | completed | entered-in-error | intended | stopped | on-hold | unknown | not-taken Binding: Medication Status Codes (required): A coded concept indicating the current status of a MedicationStatement.
Obligations | Actor
SHALL:populate | AU PS Producer
SHALL:handle | AU PS Consumer
SHOULD:display | AU PS Consumer
statusReason |  | 0..* | CodeableConcept | Reason for current status Binding: SNOMEDCTDrugTherapyStatusCodes (example): A coded concept indicating the reason for the status of the statement.
category | Σ | 0..1 | CodeableConcept | Type of medication usage Binding: Medication usage category codes (preferred): A coded concept identifying where the medication included in the MedicationStatement is expected to be consumed or administered.
Slices for medication[x] | SO Σ | 1..1 |  | Medication Detail Slice: Unordered, Closed by type:$this Binding: SNOMEDCTMedicationCodes (example): A coded concept identifying the substance or product being taken.
Obligations | Actor
SHALL:populate | AU PS Producer
SHALL:handle | AU PS Consumer
SHOULD:display | AU PS Consumer
medicationCodeableConcept |  |  | CodeableConcept |
medicationReference |  |  | Reference(Medication) |
medication[x]:medicationCodeableConcept | SO Σ | 0..1 | CodeableConceptIPS | Coded Medication Binding: SNOMEDCTMedicationCodes (example)
Additional Bindings | Purpose
Australian Medication | Preferred
PBS Item Codes | Preferred
MIMS | Preferred
GTIN | Preferred
Obligations | Actor
SHALL:populate | AU PS Producer
SHALL:handle | AU PS Consumer
SHOULD:display | AU PS Consumer
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:pbs | SO Σ | 0..* | Coding | Code defined by a terminology system Binding: PBS Item Codes (required)
Obligations | Actor
SHALL:populate-if-known | AU PS Producer
SHALL:handle | AU PS Consumer
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:amt | SO Σ | 0..* | Coding | Code defined by a terminology system Binding: Australian Medication (required)
Obligations | Actor
SHALL:populate-if-known | AU PS Producer
SHALL:handle | AU PS Consumer
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
text | Σ | 0..1 | string | Medication primary text
medication[x]:medicationReference | SO Σ | 0..1 | Reference(AU PS Medication) | Medication Reference
Obligations | Actor
SHALL:populate | AU PS Producer
SHALL:handle | AU PS Consumer
SHOULD:display | AU PS Consumer
subject | SO Σ | 1..1 | Reference(AU PS Patient) | Who is/was taking the medication
Obligations | Actor
SHALL:populate | AU PS Producer
SHALL:handle | AU PS Consumer
SHOULD:display | AU PS Consumer
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
reference | SO Σ C | 1..1 | string | Literal reference, Relative, internal or absolute URL
Obligations | Actor
SHALL:populate | AU PS Producer
SHALL:handle | AU PS Consumer
type | Σ | 0..1 | uri | Type the reference refers to (e.g. "Patient") Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).
identifier | Σ | 0..1 | Identifier | Logical reference, when literal reference is not known
display | Σ | 0..1 | string | Text alternative for the resource
context | Σ | 0..1 | Reference(Encounter | EpisodeOfCare) | Encounter / Episode associated with MedicationStatement
effective[x] | SO Σ | 1..1 |  | The date/time or interval when the medication is/was/will be taken
Obligations | Actor
SHALL:populate-if-known | AU PS Producer
SHALL:handle | AU PS Consumer
SHOULD:display | AU PS Consumer
effectiveDateTime |  |  | dateTime S |
effectivePeriod |  |  | Period |
dateAsserted | SO Σ | 0..1 | dateTime | When the statement was asserted?
Obligations | Actor
SHALL:populate-if-known | AU PS Producer
SHALL:handle | AU PS Consumer
SHOULD:display | AU PS Consumer
informationSource |  | 0..1 | Reference(Patient | Practitioner | PractitionerRole | RelatedPerson | Organization) | Person or organization that provided the information about the taking of this medication
derivedFrom |  | 0..* | Reference(Resource) | Additional supporting information
reasonCode | SO | 0..* | CodeableConceptIPS | Reason for why the medication is being/was taken Binding: Medication Reason Taken (preferred)
Obligations | Actor
SHALL:populate-if-known | AU PS Producer
SHALL:handle | AU PS Consumer
SHOULD:display | AU PS Consumer
reasonReference | SO | 0..* | Reference(AU PS Condition | Observation | DiagnosticReport (IPS)) | Condition or observation that supports why the medication is being/was taken
Obligations | Actor
SHALL:populate-if-known | AU PS Producer
SHALL:handle | AU PS Consumer
SHOULD:display | AU PS Consumer
note |  | 0..* | Annotation | Further information about the statement
dosage | SO | 0..* | AUBaseDosage | Details of how medication is/was taken or should be taken
Obligations | Actor
SHALL:populate-if-known | AU PS Producer
SHALL:handle | AU PS Consumer
SHOULD:display | AU PS Consumer
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
sequence | Σ | 0..1 | integer | The order of the dosage instructions
text | SO Σ | 0..1 | string | Free text dosage instructions e.g. SIG
Obligations | Actor
SHALL:populate-if-known | AU PS Producer
SHALL:handle | AU PS Consumer
SHOULD:display | AU PS Consumer
additionalInstruction | Σ | 0..* | CodeableConcept | Supplemental instruction or warnings to the patient - e.g. "with meals", "may cause drowsiness" Binding: SNOMEDCTAdditionalDosageInstructions (preferred)
patientInstruction | Σ | 0..1 | string | Patient or consumer oriented instructions
timing | SO Σ | 0..1 | Timing | When medication should be administered
Obligations | Actor
SHALL:populate-if-known | AU PS Producer
SHALL:handle | AU PS Consumer
SHOULD:display | AU PS Consumer
asNeeded[x] | Σ | 0..1 |  | Take "as needed" (for x) Binding: Clinical Finding (preferred)
asNeededBoolean |  |  | boolean |
asNeededCodeableConcept |  |  | CodeableConcept |
site | Σ | 0..1 | CodeableConcept | Body site to administer to Binding: Body Site (preferred)
route | Σ | 0..1 | CodeableConcept | How drug should enter body Binding: Route of Administration (preferred)
method | Σ | 0..1 | CodeableConcept | Technique for administering medication Binding: SNOMEDCTAdministrationMethodCodes (preferred)
doseAndRate | Σ | 0..* | Element | Amount of medication administered
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
type | Σ | 0..1 | CodeableConcept | The kind of dose or rate specified Binding: DoseAndRateType (example): The kind of dose or rate specified.
dose[x] | Σ | 0..1 |  | Amount of medication per dose
doseRange |  |  | Range |
doseQuantity |  |  | Quantity(SimpleQuantity) |
rate[x] | Σ | 0..1 |  | Amount of medication per unit of time
rateRatio |  |  | Ratio |
rateRange |  |  | Range |
rateQuantity |  |  | Quantity(SimpleQuantity) |
maxDosePerPeriod | Σ | 0..1 | Ratio | Upper limit on medication per unit of time
maxDosePerAdministration | Σ | 0..1 | SimpleQuantity(4.0.1) | Upper limit on medication per administration
maxDosePerLifetime | Σ | 0..1 | SimpleQuantity(4.0.1) | Upper limit on medication per lifetime of the patient
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
MedicationStatement.​language | Base | preferred | Common Languages | 📍4.0.1 | FHIR Std.
MedicationStatement.​status | Base | required | Medication status codes | 📍4.0.1 | FHIR Std.
MedicationStatement.​statusReason | Base | example | SNOMED CT Drug Therapy Status codes | 📍4.0.1 | FHIR Std.
MedicationStatement.​category | Base | preferred | Medication usage category codes | 📍4.0.1 | FHIR Std.
MedicationStatement.​medication[x] | Base | example | SNOMED CT Medication Codes | 📍4.0.1 | FHIR Std.
MedicationStatement.​medication[x]:medicationCodeableConcept | Base | example | SNOMED CT Medication Codes | 📍4.0.1 | FHIR Std.
MedicationStatement.​medication[x]:medicationCodeableConcept.​coding:pbs | Base | required | PBS Item Codes | 📦6.0.0 | AU Base Implementation Guide v6.0
MedicationStatement.​medication[x]:medicationCodeableConcept.​coding:amt | Base | required | Australian Medication | ⏿1.0.2 | tx.hl7.org.au
MedicationStatement.​subject.type | Base | extensible | ResourceType | 📍4.0.1 | FHIR Std.
MedicationStatement.​reasonCode | Base | preferred | Medication Reason Taken | ⏿1.1.0 | tx.hl7.org.au
MedicationStatement.​dosage.additionalInstruction | Base | preferred | SNOMED CT Additional Dosage Instructions | 📦4.0.1 | FHIR Std.
MedicationStatement.​dosage.asNeeded[x] | Base | preferred | Clinical Finding | ⏿1.0.2 | tx.hl7.org.au
MedicationStatement.​dosage.site | Base | preferred | Body Site | ⏿1.0.2 | tx.hl7.org.au
MedicationStatement.​dosage.route | Base | preferred | Route of Administration | ⏿1.0.2 | tx.hl7.org.au
MedicationStatement.​dosage.method | Base | preferred | SNOMED CT Administration Method Codes | 📦4.0.1 | FHIR Std.
MedicationStatement.​dosage.doseAndRate.type | Base | example | DoseAndRateType | 📍4.0.1 | FHIR Std.

#### Constraints

Id | Grade | Path(s) | Description | Expression
dom-2 | error | MedicationStatement | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | MedicationStatement | 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 | MedicationStatement | 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 | MedicationStatement | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | MedicationStatement | 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 AUCoreMedicationStatement

Summary

Mandatory: 2 elements
Must-Support: 2 elements

Structures

This structure refers to these other structures:

- Codeable Concept (IPS) (http://hl7.org/fhir/uv/ips/StructureDefinition/CodeableConcept-uv-ips)
- AU PS Medication (http://hl7.org.au/fhir/ps/StructureDefinition/au-ps-medication)
- AU PS Patient (http://hl7.org.au/fhir/ps/StructureDefinition/au-ps-patient)
- AU PS Condition (http://hl7.org.au/fhir/ps/StructureDefinition/au-ps-condition)
- DiagnosticReport (IPS) (http://hl7.org/fhir/uv/ips/StructureDefinition/DiagnosticReport-uv-ips)

Maturity: 1

Key Elements View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
MedicationStatement |  | 0..* | AUCoreMedicationStatement | A record of medication being taken by a patient in an Australian healthcare context This profile also complies with the profile MedicationStatement (IPS)
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
Slices for extension |  |  |  | Content/Rules for all slices
extension:longTerm |  | 0..1 | boolean | Medication Long Term Indicator URL: http://hl7.org.au/fhir/StructureDefinition/medication-long-term
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
status | ?!SO Σ | 1..1 | code | active | completed | entered-in-error | intended | stopped | on-hold | unknown | not-taken Binding: Medication Status Codes (required): A coded concept indicating the current status of a MedicationStatement.
Obligations | Actor
SHALL:populate | AU PS Producer
SHALL:handle | AU PS Consumer
SHOULD:display | AU PS Consumer
Slices for medication[x] | SO Σ | 1..1 |  | Medication Detail Slice: Unordered, Closed by type:$this Binding: SNOMEDCTMedicationCodes (example): A coded concept identifying the substance or product being taken.
Obligations | Actor
SHALL:populate | AU PS Producer
SHALL:handle | AU PS Consumer
SHOULD:display | AU PS Consumer
medicationCodeableConcept |  |  | CodeableConcept |
medicationReference |  |  | Reference(Medication) |
medication[x]:medicationCodeableConcept | SO Σ | 0..1 | CodeableConceptIPS | Coded Medication Binding: SNOMEDCTMedicationCodes (example)
Additional Bindings | Purpose
Australian Medication | Preferred
PBS Item Codes | Preferred
MIMS | Preferred
GTIN | Preferred
Obligations | Actor
SHALL:populate | AU PS Producer
SHALL:handle | AU PS Consumer
SHOULD:display | AU PS Consumer
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 PS Producer
SHALL:handle | AU PS Consumer
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 PS Producer
SHALL:handle | AU PS Consumer
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)
medication[x]:medicationReference | SO Σ | 0..1 | Reference(AU PS Medication) | Medication Reference
Obligations | Actor
SHALL:populate | AU PS Producer
SHALL:handle | AU PS Consumer
SHOULD:display | AU PS Consumer
subject | SO Σ | 1..1 | Reference(AU PS Patient) | Who is/was taking the medication
Obligations | Actor
SHALL:populate | AU PS Producer
SHALL:handle | AU PS Consumer
SHOULD:display | AU PS Consumer
reference | SO Σ C | 1..1 | string | Literal reference, Relative, internal or absolute URL
Obligations | Actor
SHALL:populate | AU PS Producer
SHALL:handle | AU PS Consumer
effective[x] | SO Σ | 1..1 |  | The date/time or interval when the medication is/was/will be taken
Obligations | Actor
SHALL:populate-if-known | AU PS Producer
SHALL:handle | AU PS Consumer
SHOULD:display | AU PS Consumer
effectiveDateTime |  |  | dateTime S |
effectivePeriod |  |  | Period |
dateAsserted | SO Σ | 0..1 | dateTime | When the statement was asserted?
Obligations | Actor
SHALL:populate-if-known | AU PS Producer
SHALL:handle | AU PS Consumer
SHOULD:display | AU PS Consumer
reasonCode | SO | 0..* | CodeableConceptIPS | Reason for why the medication is being/was taken Binding: Medication Reason Taken (preferred)
Obligations | Actor
SHALL:populate-if-known | AU PS Producer
SHALL:handle | AU PS Consumer
SHOULD:display | AU PS Consumer
reasonReference | SO | 0..* | Reference(AU PS Condition | Observation | DiagnosticReport (IPS)) | Condition or observation that supports why the medication is being/was taken
Obligations | Actor
SHALL:populate-if-known | AU PS Producer
SHALL:handle | AU PS Consumer
SHOULD:display | AU PS Consumer
dosage | SO | 0..* | AUBaseDosage | Details of how medication is/was taken or should be taken
Obligations | Actor
SHALL:populate-if-known | AU PS Producer
SHALL:handle | AU PS Consumer
SHOULD:display | AU PS Consumer
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
text | SO Σ | 0..1 | string | Free text dosage instructions e.g. SIG
Obligations | Actor
SHALL:populate-if-known | AU PS Producer
SHALL:handle | AU PS Consumer
SHOULD:display | AU PS Consumer
timing | SO Σ | 0..1 | Timing | When medication should be administered
Obligations | Actor
SHALL:populate-if-known | AU PS Producer
SHALL:handle | AU PS Consumer
SHOULD:display | AU PS Consumer
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
MedicationStatement.​status | Base | required | Medication status codes | 📍4.0.1 | FHIR Std.
MedicationStatement.​medication[x] | Base | example | SNOMED CT Medication Codes | 📍4.0.1 | FHIR Std.
MedicationStatement.​medication[x]:medicationCodeableConcept | Base | example | SNOMED CT Medication Codes | 📍4.0.1 | FHIR Std.
MedicationStatement.​medication[x]:medicationCodeableConcept.​coding:pbs | Base | required | PBS Item Codes | 📦6.0.0 | AU Base Implementation Guide v6.0
MedicationStatement.​medication[x]:medicationCodeableConcept.​coding:amt | Base | required | Australian Medication | ⏿1.0.2 | tx.hl7.org.au
MedicationStatement.​reasonCode | Base | preferred | Medication Reason Taken | ⏿1.1.0 | tx.hl7.org.au

#### Constraints

Id | Grade | Path(s) | Description | Expression
dom-2 | error | MedicationStatement | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | MedicationStatement | 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 | MedicationStatement | 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 | MedicationStatement | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | MedicationStatement | 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 AUCoreMedicationStatement

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
MedicationStatement |  | 0..* | AUCoreMedicationStatement | A record of medication being taken by a patient in an Australian healthcare context This profile also complies with the profile MedicationStatement (IPS)
status | O | 1..1 | code | active | completed | entered-in-error | intended | stopped | on-hold | unknown | not-taken
Obligations | Actor
SHALL:populate | AU PS Producer
SHALL:handle | AU PS Consumer
SHOULD:display | AU PS Consumer
medication[x] | O | 1..1 | CodeableConcept, Reference(Medication) | Medication Detail
Obligations | Actor
SHALL:populate | AU PS Producer
SHALL:handle | AU PS Consumer
SHOULD:display | AU PS Consumer
Slices for medication[x] |  |  |  | Content/Rules for all slices
medication[x]:medicationCodeableConcept | O | 0..1 | CodeableConceptIPS | Coded Medication
Obligations | Actor
SHALL:populate | AU PS Producer
SHALL:handle | AU PS Consumer
SHOULD:display | AU PS Consumer
Slices for coding |  |  |  | Content/Rules for all slices
coding:pbs | O | 0..* | Coding | Code defined by a terminology system
Obligations | Actor
SHALL:populate-if-known | AU PS Producer
SHALL:handle | AU PS Consumer
coding:amt | O | 0..* | Coding | Code defined by a terminology system
Obligations | Actor
SHALL:populate-if-known | AU PS Producer
SHALL:handle | AU PS Consumer
medication[x]:medicationReference | O | 0..1 | Reference(AU PS Medication) | Medication Reference
Obligations | Actor
SHALL:populate | AU PS Producer
SHALL:handle | AU PS Consumer
SHOULD:display | AU PS Consumer
subject | O | 1..1 | Reference(AU PS Patient) | Who is/was taking the medication
Obligations | Actor
SHALL:populate | AU PS Producer
SHALL:handle | AU PS Consumer
SHOULD:display | AU PS Consumer
reference | SO | 1..1 | string | Literal reference, Relative, internal or absolute URL
Obligations | Actor
SHALL:populate | AU PS Producer
SHALL:handle | AU PS Consumer
effective[x] | O | 1..1 |  | The date/time or interval when the medication is/was/will be taken
Obligations | Actor
SHALL:populate-if-known | AU PS Producer
SHALL:handle | AU PS Consumer
SHOULD:display | AU PS Consumer
effectiveDateTime |  |  | dateTime |
effectivePeriod |  |  | Period |
dateAsserted | O | 0..1 | dateTime | When the statement was asserted?
Obligations | Actor
SHALL:populate-if-known | AU PS Producer
SHALL:handle | AU PS Consumer
SHOULD:display | AU PS Consumer
reasonCode | O | 0..* | CodeableConceptIPS | Reason for why the medication is being/was taken
Obligations | Actor
SHALL:populate-if-known | AU PS Producer
SHALL:handle | AU PS Consumer
SHOULD:display | AU PS Consumer
reasonReference | O | 0..* | Reference(AU PS Condition | Observation | DiagnosticReport (IPS)) | Condition or observation that supports why the medication is being/was taken
Obligations | Actor
SHALL:populate-if-known | AU PS Producer
SHALL:handle | AU PS Consumer
SHOULD:display | AU PS Consumer
dosage | O | 0..* | AUBaseDosage | Details of how medication is/was taken or should be taken
Obligations | Actor
SHALL:populate-if-known | AU PS Producer
SHALL:handle | AU PS Consumer
SHOULD:display | AU PS Consumer
text | O | 0..1 | string | Free text dosage instructions e.g. SIG
Obligations | Actor
SHALL:populate-if-known | AU PS Producer
SHALL:handle | AU PS Consumer
SHOULD:display | AU PS Consumer
timing | SO | 0..1 | Timing | When medication should be administered
Obligations | Actor
SHALL:populate-if-known | AU PS Producer
SHALL:handle | AU PS Consumer
SHOULD:display | AU PS Consumer
Documentation for this format

Snapshot View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
MedicationStatement |  | 0..* | AUCoreMedicationStatement | A record of medication being taken by a patient in an Australian healthcare context This profile also complies with the profile MedicationStatement (IPS)
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
Slices for extension |  | 0..* | Extension | Extension Slice: Unordered, Open by value:url
extension:longTerm |  | 0..1 | boolean | Medication Long Term Indicator URL: http://hl7.org.au/fhir/StructureDefinition/medication-long-term
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
identifier | Σ | 0..* | Identifier | External identifier
basedOn | Σ | 0..* | Reference(MedicationRequest | CarePlan | ServiceRequest) | Fulfils plan, proposal or order
partOf | Σ | 0..* | Reference(MedicationAdministration | MedicationDispense | MedicationStatement | Procedure | Observation) | Part of referenced event
status | ?!SO Σ | 1..1 | code | active | completed | entered-in-error | intended | stopped | on-hold | unknown | not-taken Binding: Medication Status Codes (required): A coded concept indicating the current status of a MedicationStatement.
Obligations | Actor
SHALL:populate | AU PS Producer
SHALL:handle | AU PS Consumer
SHOULD:display | AU PS Consumer
statusReason |  | 0..* | CodeableConcept | Reason for current status Binding: SNOMEDCTDrugTherapyStatusCodes (example): A coded concept indicating the reason for the status of the statement.
category | Σ | 0..1 | CodeableConcept | Type of medication usage Binding: Medication usage category codes (preferred): A coded concept identifying where the medication included in the MedicationStatement is expected to be consumed or administered.
Slices for medication[x] | SO Σ | 1..1 |  | Medication Detail Slice: Unordered, Closed by type:$this Binding: SNOMEDCTMedicationCodes (example): A coded concept identifying the substance or product being taken.
Obligations | Actor
SHALL:populate | AU PS Producer
SHALL:handle | AU PS Consumer
SHOULD:display | AU PS Consumer
medicationCodeableConcept |  |  | CodeableConcept |
medicationReference |  |  | Reference(Medication) |
medication[x]:medicationCodeableConcept | SO Σ | 0..1 | CodeableConceptIPS | Coded Medication Binding: SNOMEDCTMedicationCodes (example)
Additional Bindings | Purpose
Australian Medication | Preferred
PBS Item Codes | Preferred
MIMS | Preferred
GTIN | Preferred
Obligations | Actor
SHALL:populate | AU PS Producer
SHALL:handle | AU PS Consumer
SHOULD:display | AU PS Consumer
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:pbs | SO Σ | 0..* | Coding | Code defined by a terminology system Binding: PBS Item Codes (required)
Obligations | Actor
SHALL:populate-if-known | AU PS Producer
SHALL:handle | AU PS Consumer
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:amt | SO Σ | 0..* | Coding | Code defined by a terminology system Binding: Australian Medication (required)
Obligations | Actor
SHALL:populate-if-known | AU PS Producer
SHALL:handle | AU PS Consumer
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
text | Σ | 0..1 | string | Medication primary text
medication[x]:medicationReference | SO Σ | 0..1 | Reference(AU PS Medication) | Medication Reference
Obligations | Actor
SHALL:populate | AU PS Producer
SHALL:handle | AU PS Consumer
SHOULD:display | AU PS Consumer
subject | SO Σ | 1..1 | Reference(AU PS Patient) | Who is/was taking the medication
Obligations | Actor
SHALL:populate | AU PS Producer
SHALL:handle | AU PS Consumer
SHOULD:display | AU PS Consumer
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
reference | SO Σ C | 1..1 | string | Literal reference, Relative, internal or absolute URL
Obligations | Actor
SHALL:populate | AU PS Producer
SHALL:handle | AU PS Consumer
type | Σ | 0..1 | uri | Type the reference refers to (e.g. "Patient") Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).
identifier | Σ | 0..1 | Identifier | Logical reference, when literal reference is not known
display | Σ | 0..1 | string | Text alternative for the resource
context | Σ | 0..1 | Reference(Encounter | EpisodeOfCare) | Encounter / Episode associated with MedicationStatement
effective[x] | SO Σ | 1..1 |  | The date/time or interval when the medication is/was/will be taken
Obligations | Actor
SHALL:populate-if-known | AU PS Producer
SHALL:handle | AU PS Consumer
SHOULD:display | AU PS Consumer
effectiveDateTime |  |  | dateTime S |
effectivePeriod |  |  | Period |
dateAsserted | SO Σ | 0..1 | dateTime | When the statement was asserted?
Obligations | Actor
SHALL:populate-if-known | AU PS Producer
SHALL:handle | AU PS Consumer
SHOULD:display | AU PS Consumer
informationSource |  | 0..1 | Reference(Patient | Practitioner | PractitionerRole | RelatedPerson | Organization) | Person or organization that provided the information about the taking of this medication
derivedFrom |  | 0..* | Reference(Resource) | Additional supporting information
reasonCode | SO | 0..* | CodeableConceptIPS | Reason for why the medication is being/was taken Binding: Medication Reason Taken (preferred)
Obligations | Actor
SHALL:populate-if-known | AU PS Producer
SHALL:handle | AU PS Consumer
SHOULD:display | AU PS Consumer
reasonReference | SO | 0..* | Reference(AU PS Condition | Observation | DiagnosticReport (IPS)) | Condition or observation that supports why the medication is being/was taken
Obligations | Actor
SHALL:populate-if-known | AU PS Producer
SHALL:handle | AU PS Consumer
SHOULD:display | AU PS Consumer
note |  | 0..* | Annotation | Further information about the statement
dosage | SO | 0..* | AUBaseDosage | Details of how medication is/was taken or should be taken
Obligations | Actor
SHALL:populate-if-known | AU PS Producer
SHALL:handle | AU PS Consumer
SHOULD:display | AU PS Consumer
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
sequence | Σ | 0..1 | integer | The order of the dosage instructions
text | SO Σ | 0..1 | string | Free text dosage instructions e.g. SIG
Obligations | Actor
SHALL:populate-if-known | AU PS Producer
SHALL:handle | AU PS Consumer
SHOULD:display | AU PS Consumer
additionalInstruction | Σ | 0..* | CodeableConcept | Supplemental instruction or warnings to the patient - e.g. "with meals", "may cause drowsiness" Binding: SNOMEDCTAdditionalDosageInstructions (preferred)
patientInstruction | Σ | 0..1 | string | Patient or consumer oriented instructions
timing | SO Σ | 0..1 | Timing | When medication should be administered
Obligations | Actor
SHALL:populate-if-known | AU PS Producer
SHALL:handle | AU PS Consumer
SHOULD:display | AU PS Consumer
asNeeded[x] | Σ | 0..1 |  | Take "as needed" (for x) Binding: Clinical Finding (preferred)
asNeededBoolean |  |  | boolean |
asNeededCodeableConcept |  |  | CodeableConcept |
site | Σ | 0..1 | CodeableConcept | Body site to administer to Binding: Body Site (preferred)
route | Σ | 0..1 | CodeableConcept | How drug should enter body Binding: Route of Administration (preferred)
method | Σ | 0..1 | CodeableConcept | Technique for administering medication Binding: SNOMEDCTAdministrationMethodCodes (preferred)
doseAndRate | Σ | 0..* | Element | Amount of medication administered
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
type | Σ | 0..1 | CodeableConcept | The kind of dose or rate specified Binding: DoseAndRateType (example): The kind of dose or rate specified.
dose[x] | Σ | 0..1 |  | Amount of medication per dose
doseRange |  |  | Range |
doseQuantity |  |  | Quantity(SimpleQuantity) |
rate[x] | Σ | 0..1 |  | Amount of medication per unit of time
rateRatio |  |  | Ratio |
rateRange |  |  | Range |
rateQuantity |  |  | Quantity(SimpleQuantity) |
maxDosePerPeriod | Σ | 0..1 | Ratio | Upper limit on medication per unit of time
maxDosePerAdministration | Σ | 0..1 | SimpleQuantity(4.0.1) | Upper limit on medication per administration
maxDosePerLifetime | Σ | 0..1 | SimpleQuantity(4.0.1) | Upper limit on medication per lifetime of the patient
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
MedicationStatement.​language | Base | preferred | Common Languages | 📍4.0.1 | FHIR Std.
MedicationStatement.​status | Base | required | Medication status codes | 📍4.0.1 | FHIR Std.
MedicationStatement.​statusReason | Base | example | SNOMED CT Drug Therapy Status codes | 📍4.0.1 | FHIR Std.
MedicationStatement.​category | Base | preferred | Medication usage category codes | 📍4.0.1 | FHIR Std.
MedicationStatement.​medication[x] | Base | example | SNOMED CT Medication Codes | 📍4.0.1 | FHIR Std.
MedicationStatement.​medication[x]:medicationCodeableConcept | Base | example | SNOMED CT Medication Codes | 📍4.0.1 | FHIR Std.
MedicationStatement.​medication[x]:medicationCodeableConcept.​coding:pbs | Base | required | PBS Item Codes | 📦6.0.0 | AU Base Implementation Guide v6.0
MedicationStatement.​medication[x]:medicationCodeableConcept.​coding:amt | Base | required | Australian Medication | ⏿1.0.2 | tx.hl7.org.au
MedicationStatement.​subject.type | Base | extensible | ResourceType | 📍4.0.1 | FHIR Std.
MedicationStatement.​reasonCode | Base | preferred | Medication Reason Taken | ⏿1.1.0 | tx.hl7.org.au
MedicationStatement.​dosage.additionalInstruction | Base | preferred | SNOMED CT Additional Dosage Instructions | 📦4.0.1 | FHIR Std.
MedicationStatement.​dosage.asNeeded[x] | Base | preferred | Clinical Finding | ⏿1.0.2 | tx.hl7.org.au
MedicationStatement.​dosage.site | Base | preferred | Body Site | ⏿1.0.2 | tx.hl7.org.au
MedicationStatement.​dosage.route | Base | preferred | Route of Administration | ⏿1.0.2 | tx.hl7.org.au
MedicationStatement.​dosage.method | Base | preferred | SNOMED CT Administration Method Codes | 📦4.0.1 | FHIR Std.
MedicationStatement.​dosage.doseAndRate.type | Base | example | DoseAndRateType | 📍4.0.1 | FHIR Std.

#### Constraints

Id | Grade | Path(s) | Description | Expression
dom-2 | error | MedicationStatement | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | MedicationStatement | 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 | MedicationStatement | 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 | MedicationStatement | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | MedicationStatement | 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 AUCoreMedicationStatement

Summary

Mandatory: 2 elements
Must-Support: 2 elements

Structures

This structure refers to these other structures:

- Codeable Concept (IPS) (http://hl7.org/fhir/uv/ips/StructureDefinition/CodeableConcept-uv-ips)
- AU PS Medication (http://hl7.org.au/fhir/ps/StructureDefinition/au-ps-medication)
- AU PS Patient (http://hl7.org.au/fhir/ps/StructureDefinition/au-ps-patient)
- AU PS Condition (http://hl7.org.au/fhir/ps/StructureDefinition/au-ps-condition)
- DiagnosticReport (IPS) (http://hl7.org/fhir/uv/ips/StructureDefinition/DiagnosticReport-uv-ips)

Maturity: 1

Other representations of profile: CSV, Excel, Schematron