Guidance for populating and consuming the MedicationStatement resource

Introduction

The headings below list the elements of the MedicationStatement resource and describe how to populate and consume them.

MedicationStatement elements

id

Data type: Id Optionality: Mandatory Cardinality: 1..1

The logical identifier of the MedicationStatement resource.

meta.profile

Data type: uri Optionality: Mandatory Cardinality: 1..1

The MedicationStatement profile URL.

Fixed value https://fhir.nhs.uk/STU3/StructureDefinition/CareConnect-GPC-MedicationStatement-1

extension[lastIssueDate]

Data type: dateTime Optionality: Required Cardinality: 0..1

When the medication was last issued.

extension[prescribingAgency]

Data type: CodeableConcept Optionality: Mandatory Cardinality: 1..1

This details the care setting in which the medication was prescribed. Currently this will only detail if the medication was prescribed by the GP practice or by another organisation, however in the future this valueset could be built on to be more specific about where a medication was prescribed. For instance, if the patient was prescribed a medication by a hospital or bought a medication over the counter then this would be indicated here.

For repeat and repeat dispensed medications the value identifies the care setting where the medication plan (rather than any specific issue in the plan) was authorised.

identifier

Data type: Identifier Optionality: Mandatory Cardinality: 1..*

This is for business identifiers.

This is sliced to include a cross care setting identifier which MUST be populated. The codeSystem for this identifier is https://fhir.nhs.uk/Id/cross-care-setting-identifier.

This MUST be a GUID.

Providing systems MUST ensure this GUID is globally unique and a persistent identifier (that is, it doesn’t change between requests and therefore stored with the source data).

Where consuming systems are integrating data from this resource to their local system, they MUST also persist this GUID at the same time.

basedOn

Data type: Reference Optionality: Mandatory Cardinality: 1..1

Link to the MedicationRequest that this MedicationStatement is based on.

Every MedicationStatement MUST be based on a MedicationRequest with intent set to plan.

context

Data type: Reference(Encounter) Optionality: Required Cardinality: 0..1

The Encounter within which the medication was authorised.

As per base profile guidance.

status

Data type: code Optionality: Mandatory Cardinality: 1..1

The status of the authorisation.

Use one of active, completed or stopped:

  • active represents an active authorisation - used for active repeat medications
  • stopped represents an authorisation which has been discontinued, cancelled or stopped
  • complete represents an authorisation which has run its course

For repeat and repeat dispensed the status refers to the status of the plan (the entire cycle of prescriptions).

For acute the status refers to the status of the prescription issue.

medicationReference

Data type: Reference(Medication) Optionality: Mandatory Cardinality: 1..1

The medication the authorisation is for.

The Medication resource provides the coded representation of the medication.

effective

Data type: Period Optionality: Required Cardinality: 0..1

Period.start is MANDATORY. Where there is no defined start date this is populated with the recorded date.

Period.end is REQUIRED. Where there is a defined expiry or end date or where the end date can be derived (for example - from the duration) the end date MUST be supplied.

For repeats and repeat dispensed this refers to the period of the plan (the entire cycle of prescriptions).

For acutes this refers to the period of the prescription issue.

dateAsserted

Data type: dateTime Optionality: Mandatory Cardinality: 1..1

When this medication statement was believed true.

Unless there is a distinct user-modifiable availability date/time for the authorisation, this is the audit trail date/time for when the authorisation was entered.

subject

Data type: Reference(Patient) Optionality: Mandatory Cardinality: 1..1

Who the medication is for- that is, to whom it will be administered.

Reference to patient.

taken

Data type: code Optionality: Mandatory Cardinality: 1..1

Whether a medication was taken.

Providers MUST use a default value of unk – unknown.

This item is mandatory in the base FHIR profile but GP systems do not record this detail therefore we have been forced to pick a default value and this information should not be used.

This element has been included in this section as providers MUST populate it. However, as the data should not be used it has also been included in the ‘Do not use’ section below.

reasonCode

Data type: CodeableConcept Optionality: Optional Cardinality: 0..*

The coded reason for authorising the medication.

reasonReference

Data type: Reference(Condition), Reference(Observation) Optionality: Optional Cardinality: 0..*

References the condition or observation that was the reason for this authorisation.

Unless there is a specific linkage in the context of medication, indirect linkages to be handled via Problem list.

note

Data type: Annotation Optionality: Required Cardinality: 0..*

All notes that are associated with this medication record.

All patient notes and prescriber notes at authorisation(plan) and issue(order) level MUST be included in this field. They MUST be concatenated and indicate the level the notes come from (for example, 1st Issue) and be prefixed with either ‘Patient Notes:’ or ‘Prescriber Notes:’ as appropriate.

dosage.text

Data type: String Optionality: Mandatory Cardinality: 1..1

Complete dosage instructions as text.

In exceptional cases where for legacy data there is no dosage recorded in the system then this MUST be populated with the text ‘No information available’.

dosage.patientInstruction

Data type: String Optionality: Required Cardinality: 0..1

Additional instructions for patient - that is, RHS of prescription label.



MedicationStatement elements not in use

The following elements SHALL NOT be populated:

meta.versionId

Data type: Id

meta.lastUpdated

Data type: Instant

partOf

Data type: Reference(MedicationAdministration, MedicationDispense, MedicationStatement, Procedure, Observation)

This is not in scope for this version of Care Connect and therefore not available for use in GP Connect.

category

Data type: CodeableConcept

This is not in scope for this version of Care Connect and therefore not available for use in GP Connect.

informationSource

Data type: Reference(Patient, Practitioner, RelatedPerson, Organization)

This is not in scope for this version of Care Connect and therefore not available for use in GP Connect.

derivedFrom

Data type: Reference(Any)

This is not in scope for this version of Care Connect and therefore not available for use in GP Connect.

taken

Data type: code

This is not in scope for this version of Care Connect and therefore not available for use in GP Connect.

reasonNotTaken

Data type: CodeableConcept

This is not in scope for this version of Care Connect and therefore not available for use in GP Connect.

extension[ChangeSummary]

Data type: Complex Extension

This is not in scope for this version of GP Connect.