Implementation guidance for populating and consuming the FHIR Medication resource

Introduction

Links to the definitions of the Medication resource within the specifications covered within this guidance.

  • Medication resource within STU3
  • Medication resource within CareConnect
  • Medication resource within R4

Minimum Viable Product (MVP)

Elements marked as MVP denote those recommended to be required for an MVP for the target use case.

Elements  
id MVP
text  
identifier  
code MVP
status  
manufacturer  
form  
amount  
ingredient  
batch  
isBrand  
isOverTheCounter  
package  
image  

Medication elements

id

Data Type: Id
Required / Cardinality: Required 0..1
Version Support: STU3 R4
Description: Logical id of this artifact.

It is recommended this is the medication unique dm+d concept id. This use of this identifier will provide a unique mechanism to return a Medication resource in a RESTful implementation anywhere across the NHS.

For example;

<reference value="https://myFHIRserver/medication/87652004"/>

Where 87652004 in this example is the unique dm+d concept id for the Virtual Therapeutic Moiety for Atenolol.

Note: Where a medication is not within the dm+d and therefore does not have a dm+d code then the approach will be a local implementation decision. If you have a local FHIR Medication Resource server that is being used to share drug data locally then using the Medication Reference URL is OK. If the data is being shared outside of the local environment then the Medication resource should only reference dm+d data.

See medication with no dm+d code.

text

Data Type: Narrative
Required / Cardinality: Optional 0..1
Version Support: STU3 R4
Description: Text summary of the resource, for human interpretation

The element is not required for an MVP implementation.

identifier

Data Type: Identifier
Required / Cardinality: Optional 0..*
Version Support: R4
Description: Business identifier for this medication.

The element is not required for an MVP implementation. It could be used to share a local or alternative medication identifier.

code

Data Type: CodeableConcept
Required / Cardinality: Required 0..1
Version Support: STU3 R4
Description: A code (or set of codes) that specify this medication, or a textual description if no code is available. Usage note: This could be a standard medication code such as a code from RxNorm, SNOMED CT, IDMP etc. It could also be a national or local formulary code, optionally with translations to other code systems.

All medication must be represented using NHS dm+d terminology.

  • The code.coding.system must be “http://snomed.info/sct”.
  • The code.coding.code must be the NHS dm+d concept code.
  • The code.coding.display must be the NHS dm+d concept description.

status

Data Type: code
Required / Cardinality: Optional 0..1
Version Support: STU3 R4
Description: A code to indicate if the medication is in active use.

The element is not required for an MVP implementation.

manufacturer

Data Type: Reference
Required / Cardinality: Optional 0..1
Version Support: STU3 R4
Description: Describes the details of the manufacturer of the medication product. This is not intended to represent the distributor of a medication product.

The element is not required for an MVP implementation.

form

Data Type: CodeableConcept
Required / Cardinality: Optional 0..1
Version Support: STU3 R4
Description: Describes the form of the item, e.g. powder, tablets, capsule etc.

The element is not required for an MVP implementation.

Within the dm+d terminology, the VMP, AMP, VMPP and AMPP concepts include a coded form.

Where a medication is identified using a VTM concept and the prescriber wishes to qualify with a form then use this element.

Coded forms should be taken from either the dm+d or from the SNOMED-CT hierarchy as a descendant of the concept 736542009 Pharmaceutical dose form.

amount

Data Type: Ratio
Required / Cardinality: Optional 0..1
Version Support: R4
Description: Specific amount of the drug in the packaged product. For example, when specifying a product that has the same strength (For example, Insulin glargine 100 unit per mL solution for injection), this attribute provides additional clarification of the package amount (For example, 3 mL, 10mL, etc.).

The element is not required for an MVP implementation.

ingredient

Data Type: BackboneElement
Required / Cardinality: Optional 0..*
Version Support: STU3 R4
Description: Identifies a particular constituent of interest in the product.

The element is not required for an MVP implementation.

batch

Data Type: BackboneElement
Required / Cardinality: Optional 0..1
Version Support: R4
Description: Information that only applies to packages (not products).

The element is not required for an MVP implementation.

isBrand

Data Type: boolean
Required / Cardinality: Optional 0..1
Version Support: STU3
Description: Set to true if the item is attributable to a specific manufacturer.

This element has been removed from FHIR R4 so should not be implemented as part of an STU3 or CareConnect implementation.

Within the dm+d terminology, medication that is a brand is identified as an AMP and AMPP concept.

isOverTheCounter

Data Type: boolean
Required / Cardinality: Optional 0..1
Version Support: STU3
Description: Set to true if the medication can be obtained without an order from a prescriber.

This element has been removed from FHIR R4 so should not be implemented as part of an STU3 or CareConnect implementation.

package

Data Type: BackboneElement
Required / Cardinality: Optional 0..1
Version Support: STU3
Description: Information that only applies to packages (not products).

This element has been removed from FHIR R4 so should not be implemented as part of an STU3 or CareConnect implementation.

image

Data Type: Attachment
Required / Cardinality: Optional 0..*
Version Support: STU3
Description: Photo(s) or graphic representation(s) of the medication.

This element has been removed from FHIR R4 so should not be implemented as part of an STU3 or CareConnect implementation.

Tags: design