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.

extension[dosagelastchanged]

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

Only populate where the dosage instructions have been changed during the lifetime of the Medication/Medical Device plan.

Set to the date when the dosage instructions were last changed.

identifier

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

This MUST be populated with a globally unique and persistent identifier (that is, it doesn’t change between requests and therefore stored with the source data). This MUST be scoped by a provider specific namespace for the identifier.

Where consuming systems are integrating data from this resource to their local system, they MUST also persist this identifer 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: Mandatory Cardinality: 1..1

The period the medication or medical device is authorised under this medication/medical device plan. For items that are repeats and repeat dispensed this refers to the entire cycle of prescriptions made under the authorisation. For acutes, this refers to the period of the prescription issue.

Period.start is MANDATORY.

The date from which the medication or medical device is authorised under this plan.

Use one of the following dates in order of descending preference:

  • The authorised date as recorded in the patient record.
    • For authorisation that were performed during a consultation this will be the date when the consultation took place.
  • The date of the first issue under the medication/medical device plan
  • The date the medication/medical device plan was recorded onto the system (the audit date).

Period.end is REQUIRED.

The date when the authorisation under this plan ends.

Where the medication/medical device plan is still active, set to null.

Where the medication/medical device plan has ended use one of the following dates in order of descending preference:

  • The end date recorded in the patient record
  • The end date of the final issue under the medication/medical device plan
  • The date the plan was updated to ended
  • The Period.start date
    • This option should only occur where data has been lost (for example during the record transfer between two systems) and is used to ensure that an ended plan will always have an end date.

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.

Where the dosage instructions have been changed during the lifetime of the Medication/Medical Device plan append the following warning text to end of the dosage instructions:

  • “WARNING – Dosage has changed during the effective period. The latest change was made on DD-Mmm-YYYY”, where DD-Mmm-YYYY is the date the dosage was last changed.

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.