NHS Digital FHIR Medicines (Retired - 2.1.14)

This guidance is under active development by NHS Digital and content may be added or updated on a regular basis.

NHSDigital-Claim

Conformance Url
https://fhir.nhs.uk/StructureDefinition/NHSDigital-Claim




idΣ0..1string
metaΣ0..1Meta
implicitRulesΣ ?!0..1uri
language0..1codeBinding
text0..1Narrative
contained0..*Resource
extensionI0..*Extension
modifierExtension?! I0..*Extension
identifierS0..*Identifier
statusS Σ ?!1..1codeBinding
typeS Σ1..1CodeableConceptBinding
subType0..1CodeableConcept
useΣ1..1codeBinding
patientS Σ I1..1Reference(Patient)
billablePeriodΣ I0..1Period
createdS Σ1..1dateTime
entererI0..1Reference(Practitioner | PractitionerRole)
insurerΣ I0..1Reference(Organization)
providerS Σ I1..1Reference( | )
priorityΣ1..1CodeableConcept
fundsReserve0..1CodeableConcept
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
claimI0..1Reference(Claim)
relationship0..1CodeableConcept
reference0..1Identifier
id0..1string
groupIdentifierI1..1Extension(Complex)
referenceΣ I0..1string
typeΣ0..1uriBinding
id0..1string
extensionI0..*Extension
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ1..1uriFixed Value
valueΣ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
displayΣ0..1string
id0..1string
groupIdentifierI1..1Extension(Complex)
referenceΣ I0..1string
typeΣ0..1uriBinding
id0..1string
extensionI0..*Extension
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ1..1uri
valueΣ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
displayΣ0..1string
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
type1..1CodeableConcept
id0..1string
extensionI0..*Extension
referenceΣ I0..1string
typeΣ0..1uriBinding
id0..1string
extensionI0..*Extension
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ1..1uri
valueΣ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
displayΣ0..1string
referralI0..1Reference(ServiceRequest)
facilityI0..1Reference(Location)
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
sequence1..1positiveInt
providerI1..1Reference(Practitioner | PractitionerRole | Organization)
responsible0..1boolean
role0..1CodeableConcept
qualification0..1CodeableConcept
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
sequence1..1positiveInt
category1..1CodeableConcept
code0..1CodeableConcept
timingDatedate
timingPeriodPeriod
valueBooleanboolean
valueStringstring
valueQuantityQuantity
valueAttachmentAttachment
valueReferenceReference(Resource)
reason0..1CodeableConcept
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
sequence1..1positiveInt
diagnosisCodeableConceptCodeableConcept
diagnosisReferenceReference(Condition)
type0..*CodeableConcept
onAdmission0..1CodeableConcept
packageCode0..1CodeableConcept
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
sequence1..1positiveInt
type0..*CodeableConcept
date0..1dateTime
procedureCodeableConceptCodeableConcept
procedureReferenceReference(Procedure)
udiI0..*Reference(Device)
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
sequenceΣ1..1positiveInt
focalΣ1..1boolean
identifier0..1Identifier
coverageΣ I1..1Reference(Coverage)
businessArrangement0..1string
preAuthRef0..*string
claimResponseI0..1Reference(ClaimResponse)
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
date1..1date
type0..1CodeableConceptBinding
locationAddressAddress
locationReferenceReference(Location)
id0..1string
lineItemIdentifierS I1..1Extension(Identifier)
prescriptionStatusI0..1Extension(Coding)
prescriptionStatusReassonS I0..1Extension(Coding)
modifierExtensionΣ ?! I0..*Extension
sequenceS1..1positiveInt
careTeamSequence0..*positiveInt
diagnosisSequence0..*positiveInt
procedureSequence0..*positiveInt
informationSequence0..*positiveInt
revenue0..1CodeableConcept
category0..1CodeableConcept
productOrServiceS1..1CodeableConceptBinding
modifierS1..*CodeableConceptBinding
programCodeS1..1CodeableConceptBinding
servicedDatedate
servicedPeriodPeriod
locationCodeableConceptCodeableConcept
locationAddressAddress
locationReferenceReference(Location)
quantityS I0..1SimpleQuantity
unitPrice0..1Money
factor0..1decimal
net0..1Money
udiI0..*Reference(Device)
bodySite0..1CodeableConcept
subSite0..*CodeableConcept
encounterI0..*Reference(Encounter)
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
sequenceS1..1positiveInt
revenue0..1CodeableConcept
category0..1CodeableConcept
productOrServiceS1..1CodeableConceptBinding
modifier0..*CodeableConcept
id0..1string
extensionI0..*Extension
id0..1string
extensionI0..*Extension
systemΣ0..1uriFixed Value
versionΣ0..1string
codeΣ0..1code
displayΣ0..1string
userSelectedΣ0..1boolean
textΣ0..1string
id0..1string
extensionI0..*Extension
id0..1string
extensionI0..*Extension
systemΣ0..1uriFixed Value
versionΣ0..1string
codeΣ0..1code
displayΣ0..1string
userSelectedΣ0..1boolean
textΣ0..1string
id0..1string
extensionI0..*Extension
id0..1string
extensionI0..*Extension
systemΣ0..1uriFixed Value
versionΣ0..1string
codeΣ0..1code
displayΣ0..1string
userSelectedΣ0..1boolean
textΣ0..1string
id0..1string
runningTotalI0..1Extension(Quantity)
valueΣ0..1decimal
comparatorΣ ?!0..0codeBinding
unitΣ0..1string
systemΣ I0..1uri
codeΣ0..1code
unitPrice0..1Money
factor0..1decimal
net0..1Money
udiI0..*Reference(Device)
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
sequence1..1positiveInt
revenue0..1CodeableConcept
category0..1CodeableConcept
productOrService1..1CodeableConcept
modifier0..*CodeableConcept
programCode0..*CodeableConcept
quantityI0..1SimpleQuantity
unitPrice0..1Money
factor0..1decimal
net0..1Money
udiI0..*Reference(Device)
total0..1Money

idΣ0..1string
metaΣ0..1Meta
implicitRulesΣ ?!0..1uri
language0..1codeBinding
text0..1Narrative
contained0..*Resource
extensionI0..*Extension
modifierExtension?! I0..*Extension
identifierS0..*Identifier
statusS Σ ?!1..1codeBinding
typeS Σ1..1CodeableConceptBinding
subType0..1CodeableConcept
useΣ1..1codeBinding
patientS Σ I1..1Reference(Patient)
billablePeriodΣ I0..1Period
createdS Σ1..1dateTime
entererI0..1Reference(Practitioner | PractitionerRole)
insurerΣ I0..1Reference(Organization)
providerS Σ I1..1Reference( | )
priorityΣ1..1CodeableConcept
fundsReserve0..1CodeableConcept
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
claimI0..1Reference(Claim)
relationship0..1CodeableConcept
reference0..1Identifier
id0..1string
groupIdentifierI1..1Extension(Complex)
referenceΣ I0..1string
typeΣ0..1uriBinding
id0..1string
extensionI0..*Extension
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ1..1uriFixed Value
valueΣ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
displayΣ0..1string
id0..1string
groupIdentifierI1..1Extension(Complex)
referenceΣ I0..1string
typeΣ0..1uriBinding
id0..1string
extensionI0..*Extension
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ1..1uri
valueΣ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
displayΣ0..1string
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
type1..1CodeableConcept
id0..1string
extensionI0..*Extension
referenceΣ I0..1string
typeΣ0..1uriBinding
id0..1string
extensionI0..*Extension
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ1..1uri
valueΣ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
displayΣ0..1string
referralI0..1Reference(ServiceRequest)
facilityI0..1Reference(Location)
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
sequence1..1positiveInt
providerI1..1Reference(Practitioner | PractitionerRole | Organization)
responsible0..1boolean
role0..1CodeableConcept
qualification0..1CodeableConcept
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
sequence1..1positiveInt
category1..1CodeableConcept
code0..1CodeableConcept
timingDatedate
timingPeriodPeriod
valueBooleanboolean
valueStringstring
valueQuantityQuantity
valueAttachmentAttachment
valueReferenceReference(Resource)
reason0..1CodeableConcept
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
sequence1..1positiveInt
diagnosisCodeableConceptCodeableConcept
diagnosisReferenceReference(Condition)
type0..*CodeableConcept
onAdmission0..1CodeableConcept
packageCode0..1CodeableConcept
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
sequence1..1positiveInt
type0..*CodeableConcept
date0..1dateTime
procedureCodeableConceptCodeableConcept
procedureReferenceReference(Procedure)
udiI0..*Reference(Device)
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
sequenceΣ1..1positiveInt
focalΣ1..1boolean
identifier0..1Identifier
coverageΣ I1..1Reference(Coverage)
businessArrangement0..1string
preAuthRef0..*string
claimResponseI0..1Reference(ClaimResponse)
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
date1..1date
type0..1CodeableConceptBinding
locationAddressAddress
locationReferenceReference(Location)
id0..1string
lineItemIdentifierS I1..1Extension(Identifier)
prescriptionStatusI0..1Extension(Coding)
prescriptionStatusReassonS I0..1Extension(Coding)
modifierExtensionΣ ?! I0..*Extension
sequenceS1..1positiveInt
careTeamSequence0..*positiveInt
diagnosisSequence0..*positiveInt
procedureSequence0..*positiveInt
informationSequence0..*positiveInt
revenue0..1CodeableConcept
category0..1CodeableConcept
productOrServiceS1..1CodeableConceptBinding
modifierS1..*CodeableConceptBinding
programCodeS1..1CodeableConceptBinding
servicedDatedate
servicedPeriodPeriod
locationCodeableConceptCodeableConcept
locationAddressAddress
locationReferenceReference(Location)
quantityS I0..1SimpleQuantity
unitPrice0..1Money
factor0..1decimal
net0..1Money
udiI0..*Reference(Device)
bodySite0..1CodeableConcept
subSite0..*CodeableConcept
encounterI0..*Reference(Encounter)
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
sequenceS1..1positiveInt
revenue0..1CodeableConcept
category0..1CodeableConcept
productOrServiceS1..1CodeableConceptBinding
modifier0..*CodeableConcept
id0..1string
extensionI0..*Extension
id0..1string
extensionI0..*Extension
systemΣ0..1uriFixed Value
versionΣ0..1string
codeΣ0..1code
displayΣ0..1string
userSelectedΣ0..1boolean
textΣ0..1string
id0..1string
extensionI0..*Extension
id0..1string
extensionI0..*Extension
systemΣ0..1uriFixed Value
versionΣ0..1string
codeΣ0..1code
displayΣ0..1string
userSelectedΣ0..1boolean
textΣ0..1string
id0..1string
extensionI0..*Extension
id0..1string
extensionI0..*Extension
systemΣ0..1uriFixed Value
versionΣ0..1string
codeΣ0..1code
displayΣ0..1string
userSelectedΣ0..1boolean
textΣ0..1string
id0..1string
runningTotalI0..1Extension(Quantity)
valueΣ0..1decimal
comparatorΣ ?!0..0codeBinding
unitΣ0..1string
systemΣ I0..1uri
codeΣ0..1code
unitPrice0..1Money
factor0..1decimal
net0..1Money
udiI0..*Reference(Device)
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
sequence1..1positiveInt
revenue0..1CodeableConcept
category0..1CodeableConcept
productOrService1..1CodeableConcept
modifier0..*CodeableConcept
programCode0..*CodeableConcept
quantityI0..1SimpleQuantity
unitPrice0..1Money
factor0..1decimal
net0..1Money
udiI0..*Reference(Device)
total0..1Money



extension agent

The person submitting/authoring the Claim


   "extension":  [
        {
            "url": "https://fhir.nhs.uk/StructureDefinition/Extension-Provenance-agent",
            "valueReference": {
                "identifier": {
                    "system": "https://fhir.nhs.uk/Id/sds-role-profile-id",
                    "value": "884562163557"
                },
                "display": "dummy full name"
            }
        }
    ],



identifier

MUST be unique for each Claim. In EPS this must be a UUID with a system of https://fhir.nhs.uk/Id/prescription-dispense-item-number


      "identifier":  [
          {
              "system": "https://fhir.nhs.uk/Id/prescription-dispense-item-number",
              "value": "4509B70D-D8B8-EA03-1105-64557CB54A29"
          }
      ],



status, type and use

For EPS the following MUST be used.


      "status": "active",
      "type": {
          "coding":  [
              {
                   "system": "http://terminology.hl7.org/CodeSystem/claim-type",
                    "code": "pharmacy",
                    "display": "Pharmacy"
             }             
          ]
      },
      "use": "claim",



patient

MUST be an identifier reference using the Patients NHS Number.


      "patient": {
          "identifier": {
              "system": "https://fhir.nhs.uk/Id/nhs-number",
              "value": "2300992742"
          }
      },



created

The date of the Claim


  "created": "2004-09-16T16:30:00+00:00",



provider

The organisation responsible for the claim

"provider": {
        "identifier": {
            "system": "https://fhir.nhs.uk/Id/ods-organization-code",
            "value": "VNE51"
        },
        "display": "The Simple Pharmacy"
    },


priority

Desired processing ugency. Fixed value.

"priority": {
        "coding": [
            {
                "system": "http://terminology.hl7.org/CodeSystem/processpriority",
                "code": "normal"
            }
        ]
    }


prescription

References to the original prescription, the groupIdentifier contains both the ShortForm prescription id and long form UUID variant. See NHSDigital-MedicationRequest for more details.

This MUST not be used to reference the MedicationRequest, this is done via extension medicationRequest


"prescription": {
    "extension": [
        {
            "url": "https://fhir.nhs.uk/StructureDefinition/Extension-DM-GroupIdentifier",
            "extension": [
                {
                    "url": "shortForm",
                    "valueIdentifier": {
                        "system": "https://fhir.nhs.uk/Id/prescription-order-number",
                        "value": "82D996-C81010-11DB12"
                    }
                },
                {
                    "url": "UUID",
                    "valueIdentifier": {
                        "system": "https://fhir.nhs.uk/Id/prescription",
                        "value": "b2fc79f0-2793-4736-9b2d-0976c21e73a5"
                    }
                }
            ]
        }
    ],
    "display": "The original prescription"
},



payee

The recipient of benefits payable. This is the ODS Code of the Pharmacy (provider) making the Claim.


"payee": {
    "type": {
        "coding": [
            {
                "system": "http://terminology.hl7.org/CodeSystem/payeetype",
                "value": "provider",
                "display": "Provider"
            }
        ]
    },
    "party": {
        "identifier": {
            "system": "https://fhir.nhs.uk/Id/ods-organization-code",
            "value": "AB123"
        },
        "display": "The Simple Pharmacy"
    }
}


insurance

For EPS this is the NHS Business Services Authority. The sequence value must match the sequence number used in the the item section.


"insurance":  [
    {
        "sequence": 1,
        "focal": true,
        "coverage": {
            "identifier": {
                "system": "https://fhir.nhs.uk/Id/ods-organization-code",
                "value": "T1450"
            },
            "display": "NHS BUSINESS SERVICES AUTHORITY"
        }
    }
],


item, detail and subDetail

  • item refers to the prescription as a whole
  • detail refers to the MedicationRequest within the prescription.
  • subDetail refers to the MedicationDispense's which relate to a MedicationRequest.
item (prescription) detail (requested medication) subDetail (dispensed medication)
productOrService 16076005 Prescription dm+d code of requested medication dm+d code of dispensed medication
programCode exemptionEvidence prescriptionChargeExemption prescriptionCharge dispensingEndorsement additionalInstructions
modifier MedicationDispenseType
quantity MedicationRequest.quantity MedicationDispense.quantity

item

item.prescriptionStatus(extension)

A Code from DM-Task-Status-Reason. This will generally match the value of the last dispense-notification message. This should match the status of the associated NHSDigital-Task


"extension": [
    {
        "url": "https://fhir.nhs.uk/StructureDefinition/Extension-EPS-TaskBusinessStatus",
        "valueCoding": {
            "system": "https://fhir.nhs.uk/CodeSystem/EPS-task-business-status",
            "code": "0006",
            "display": "Dispensed"
        }
    }
],




item.prescriptionStatusReason(extension)

Mandatory if the medication was not dispensed. The reason will be a code from DM-MedicationDispense-status-reason This should match the statusReason of the associated NHSDigital-Task

Should be this CodeSystem https://fhir.nhs.uk/CodeSystem/medicationdispense-status-reason


"extension": [
    {
        "url": "https://fhir.nhs.uk/StructureDefinition/Extension-EPS-TaskBusinessStatusReason",
        "valueCoding": {
            "system": "https://fhir.nhs.uk/ValueSet/DM-medicationdispense-status-reason",
            "code": "0001",
            "display": "Not required as instructed by the patient"
        }
    }
],



item.sequence

An integer to identify the item within the resource. This should match the sequence value in insurance. Fixed value.


"sequence": 1,



item.productOrService

Mandatory fixed value.


"productOrService": {
    "coding":  [
        {
            "system": "http://snomed.info/sct",
            "code": "16076005",
            "display": "Prescription"
        }
    ]
},



item.programCode

Codes from:

ValueSet Min Occurrence Max Occurrence
DM-prescription-charge-exemption 0 1
DM-vs-exemption-evidence 0 1

"programCode": [
    {
        "coding": [
              {
                "code": "0001",
                "system": "https://fhir.nhs.uk/CodeSystem/prescription-charge-exemption",
                "display": "Patient has paid appropriate charges"
              }
            ]
          },
          {
            "coding": [
              {
                "system": "https://fhir.nhs.uk/CodeSystem/DM-exemption-evidence",
                "code": "no-evidence-seen",
                "display": "No Evidence Seen"
              }
            ]
          }
        ]



detail

detail.sequenceIdentifier(extension)

A uuid to identify the line item


"extension":  [
    {
        "url": "https://fhir.nhs.uk/StructureDefinition/Extension-ClaimSequenceIdentifier",
        "valueIdentifier": {
            "system": "https://fhir.nhs.uk/Id/claim-sequence-identifier",
            "value": "18fc8a8b-f7c7-4367-80ce-1f4fc84c962d"
        }
    }
],



detail.medicationRequest(extension)

This should match the identifier of the associated NHSDigital-MedicationRequest


"extension":  [
    {
        "url": "https://fhir.nhs.uk/StructureDefinition/Extension-ClaimMedicationRequestReference",
        "valueReference": {
            "identifier": {
                "system": "https://fhir.nhs.uk/Id/prescription-order-item-number",
                "value": "33560bee-bc0c-4e3b-a155-71591eee9ca5"
            }
        }
    }
],



detail.sequence

An integer to identify the item within the resource. This should match the sequence value in insurance.


"sequence": 1,



detail.productOrService

This should match the medicationCodeableConcept of the associated NHSDigital-MedicationRequest


"productOrService": {
    "coding":  [
        {
            "system": "http://snomed.info/sct",
            "code": "322237000",
            "display": "Paracetamol 500mg soluble tablets"
        }
    ]
},



detail.modifier

This is the current status of the dispensed medications and is a code from DM-MedicationDispense-Type

If the code is 0002 - Item not dispensed then the extension extension prescriptionStatusReason is required.

This should match the type of the last associated NHSDigital-MedicationDispense


"modifier":  [
    {
        "coding":  [
            {
                "system": "https://fhir.nhs.uk/CodeSystem/medicationdispense-type",
                "code": "0001",
                "display": "Item fully dispensed"
            }
        ]
    }
],



detail.quantity

This should match the quantity of the associated NHSDigital-MedicationRequest


"quantity": {
    "value": 200,
    "unit": "unit dose",
    "system": "http://snomed.info/sct",
    "code": "408102007"
},


item.detail.programCode

Dispense Exemption Codes from

ValueSet Min Occurrence Max Occurrence
DM-vs-prescription-charge 0 1
DM-dispensing-endorsement 0 *

"programCode":  [
    {
        "coding":  [
            {
                "system": "https://fhir.nhs.uk/CodeSystem/DM-prescription-charge",
                "code": "paid-once",
                "display": "Paid Once"
            }
        ]
    },
    {
        "coding":  [
            {
                "system": "https://fhir.nhs.uk/CodeSystem/medicationdispense-endorsement",
                "code": "IP",
                "display": "Invoice Price"
            }
        ]
    }
],




subDetail

subDetail is only present if the medication has been dispensed.


item.detail.subDetail.sequence

An integer id for each medication dispense.


"sequence": 1,




item.detail.subDetail.productOrService

This should match the medicationCodeableConcept of the associated NHSDigital-MedicationDispense


"productOrService": {
    "coding":  [
        {
            "system": "http://snomed.info/sct",
            "code": "3416211000001106",
            "display": "Salbutamol 100micrograms/dose inhaler (Sandoz Ltd) 200 dose"
        }
    ]
},



item.detail.subDetail.quantity

This should match the quantity of the associated NHSDigital-MedicationDispense


"quantity": {
    "value": 200,
    "unit": "unit dose",
    "system": "http://snomed.info/sct",
    "code": "408102007"
}


back to top