Electronic Prescription Service (EPS) Implementation Guide

NHSDigital-Claim

Profile url
https://fhir.nhs.uk/StructureDefinition/NHSDigital-Claim

The Claim resource collates all the prescription and dispensing data required for prescription reimbursement financial processing. The dispensing of a single prescription-order is claimed for using a single Claim resource, therefore the cardinality of the item data element is different to the FHIR international standard, profiled as 1..1.

Many data items are taken from the downloaded prescription-order or submitted dispense-notification messages. Three additional items of business data will be captured by the dispensing system for reimbursement purposes.

  1. Did the patient pay a prescription charge, and how many charges (some combination pack medication products attract two prescription charges)?
  2. If prescription charge exempt, was evidence seen?
  3. Any associated dispensing endorsement codes with supporting data.

In the event of human error, a Claim can be amended by re-submission. The extension:Extension-replacementOf must contain the Claim.identifier for the Claim being replaced. Reimbursement authorities may have different business rules for when a claim can be amended.

Migration from HL7v3: A cross reference between HL7v3 Dispense Claim Information data elements and FHIR Claim data elements is provided at the bottom of this page.

idΣ0..1string
metaΣ0..1Meta
implicitRulesΣ ?!0..1uri
language0..1codeBinding
text0..1Narrative
contained0..*Resource
replacementOfS C0..1Extension(Identifier)
agentS C0..1Extension(Reference(NHSDigitalHealthcareService | NHSDigitalPractitioner | NHSDigitalPractitionerRole))
modifierExtension?! C0..*Extension
id0..1string
extensionC0..*Extension
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ1..1uri
valueΣ1..1string
periodΣ C0..1Period
assignerΣ C0..1Reference(Organization)
statusS Σ ?!1..1codeBinding
id0..1string
extensionC0..*Extension
id0..1string
extensionC0..*Extension
systemΣ1..1uriFixed Value
versionΣ0..1string
codeΣ1..1codeFixed Value
displayΣ0..1string
userSelectedΣ0..1boolean
textΣ0..1string
subType0..1CodeableConcept
useΣ1..1codeBindingFixed Value
id0..1string
extensionC0..*Extension
referenceΣ C0..1string
typeΣ0..1uriBinding
id0..1string
extensionC0..*Extension
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ1..1uriFixed Value
valueΣ1..1string
periodΣ C0..1Period
assignerΣ C0..1Reference(Organization)
displayΣ0..1string
billablePeriodΣ C0..1Period
createdS Σ1..1dateTime
entererC0..1Reference(Practitioner | PractitionerRole)
insurerΣ C0..1Reference(Organization)
id0..1string
extensionC0..*Extension
referenceΣ C1..1string
typeΣ0..1uriBinding
id0..1string
extensionC0..*Extension
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ1..1uri
valueΣ1..1string
periodΣ C0..1Period
assignerΣ C0..1Reference(Organization)
displayΣ0..1string
id0..1string
extensionC0..*Extension
id0..1string
extensionC0..*Extension
systemΣ1..1uriFixed Value
versionΣ0..1string
codeΣ1..1codeFixed Value
displayΣ0..1string
userSelectedΣ0..1boolean
textΣ0..1string
fundsReserve0..1CodeableConcept
id0..1string
extensionC0..*Extension
modifierExtensionΣ ?! C0..*Extension
claimC0..1Reference(Claim)
relationship0..1CodeableConcept
reference0..1Identifier
id0..1string
id0..1string
id0..1string
extensionC0..*Extension
url1..1uriFixed Value
valueIdentifierIdentifier
id0..1string
extensionC0..*Extension
url1..1uriFixed Value
valueIdentifierIdentifier
url1..1uriFixed Value
referenceΣ C0..0string
typeΣ0..1uriBinding
displayΣ0..1string
id0..1string
id0..1string
id0..1string
extensionC0..*Extension
url1..1uriFixed Value
valueIdentifierIdentifier
id0..1string
extensionC0..*Extension
url1..1uriFixed Value
valueIdentifierIdentifier
url1..1uriFixed Value
referenceΣ C0..1string
typeΣ0..1uriBinding
id0..1string
extensionC0..*Extension
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ1..1uri
valueΣ1..1string
periodΣ C0..1Period
assignerΣ C0..1Reference(Organization)
displayΣ0..1string
id0..1string
extensionC0..*Extension
modifierExtensionΣ ?! C0..*Extension
id0..1string
extensionC0..*Extension
id0..1string
extensionC0..*Extension
systemΣ1..1uriFixed Value
versionΣ0..1string
codeΣ1..1codeFixed Value
displayΣ1..1stringFixed Value
userSelectedΣ0..1boolean
textΣ0..1string
id0..1string
extensionC0..*Extension
referenceΣ C0..1string
typeΣ0..1uriBinding
id0..1string
extensionC0..*Extension
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ1..1uriFixed Value
valueΣ1..1string
periodΣ C0..1Period
assignerΣ C0..1Reference(Organization)
displayΣ0..1string
referralC0..1Reference(ServiceRequest)
facilityC0..1Reference(Location)
id0..1string
extensionC0..*Extension
modifierExtensionΣ ?! C0..*Extension
sequence1..1positiveInt
providerC1..1Reference(Organization | Practitioner | PractitionerRole)
responsible0..1boolean
role0..1CodeableConcept
qualification0..1CodeableConcept
id0..1string
extensionC0..*Extension
modifierExtensionΣ ?! C0..*Extension
sequence1..1positiveInt
category1..1CodeableConcept
code0..1CodeableConcept
timingDatedate
timingPeriodPeriod
valueAttachmentAttachment
valueBooleanboolean
valueQuantityQuantity
valueReferenceReference(Resource)
valueStringstring
reason0..1CodeableConcept
id0..1string
extensionC0..*Extension
modifierExtensionΣ ?! C0..*Extension
sequence1..1positiveInt
diagnosisCodeableConceptCodeableConcept
diagnosisReferenceReference(Condition)
type0..*CodeableConcept
onAdmission0..1CodeableConcept
packageCode0..1CodeableConcept
id0..1string
extensionC0..*Extension
modifierExtensionΣ ?! C0..*Extension
sequence1..1positiveInt
type0..*CodeableConcept
date0..1dateTime
procedureCodeableConceptCodeableConcept
procedureReferenceReference(Procedure)
udiC0..*Reference(Device)
id0..1string
extensionC0..*Extension
modifierExtensionΣ ?! C0..*Extension
sequenceΣ1..1positiveInt
focalΣ1..1boolean
identifier0..1Identifier
id0..1string
extensionC0..*Extension
referenceΣ C0..1string
typeΣ0..1uriBinding
identifierΣ1..1Identifier
displayΣ0..1string
businessArrangement0..1string
preAuthRef0..*string
claimResponseC0..1Reference(ClaimResponse)
id0..1string
extensionC0..*Extension
modifierExtensionΣ ?! C0..*Extension
date1..1date
type0..1CodeableConceptBinding
locationAddressAddress
locationReferenceReference(Location)
id0..1string
prescriptionStatusS C1..1Extension(Coding)
id0..1string
extensionC0..*Extension
url1..1uriFixed Value
id0..1string
extensionC0..*Extension
systemΣ1..1uri
versionΣ0..1string
codeΣ1..1code
displayΣ0..1string
userSelectedΣ0..1boolean
repeatInformationC0..*Extension(Complex)
modifierExtensionΣ ?! C0..*Extension
sequence1..1positiveIntFixed Value
careTeamSequence0..*positiveInt
diagnosisSequence0..*positiveInt
procedureSequence0..*positiveInt
informationSequence0..*positiveInt
revenue0..1CodeableConcept
category0..1CodeableConcept
id0..1string
extensionC0..*Extension
id0..1string
extensionC0..*Extension
systemΣ1..1uriFixed Value
versionΣ0..1string
codeΣ1..1codeFixed Value
displayΣ1..1stringFixed Value
userSelectedΣ0..1boolean
textΣ0..1string
modifier0..*CodeableConcept
id0..1string
extensionC0..*Extension
id0..1string
extensionC0..*Extension
systemΣ1..1uri
versionΣ0..1string
codeΣ1..1code
displayΣ0..1string
userSelectedΣ0..1boolean
textΣ0..1string
id0..1string
extensionC0..*Extension
id0..1string
extensionC0..*Extension
systemΣ1..1uriFixed Value
versionΣ0..1string
codeΣ1..1code
displayΣ0..1string
userSelectedΣ0..1boolean
textΣ0..1string
id0..1string
extensionC0..*Extension
id0..1string
extensionC0..*Extension
systemΣ1..1uriFixed Value
versionΣ0..1string
codeΣ1..1code
displayΣ0..1string
userSelectedΣ0..1boolean
textΣ0..1string
servicedDatedate
servicedPeriodPeriod
locationAddressAddress
locationCodeableConceptCodeableConcept
locationReferenceReference(Location)
quantityC0..1SimpleQuantity
unitPrice0..1Money
factor0..1decimal
net0..1Money
udiC0..*Reference(Device)
bodySite0..1CodeableConcept
subSite0..*CodeableConcept
encounterC0..*Reference(Encounter)
id0..1string
medicationRequestS C1..1Extension(Reference(NHSDigitalMedicationRequest))
sequenceIdentifierS C1..1Extension(Identifier)
repeatInformationC0..1Extension(Complex)
taskBusinessStatusReasonC0..1Extension(Coding)Binding
modifierExtensionΣ ?! C0..*Extension
sequenceS1..1positiveInt
revenue0..1CodeableConcept
category0..1CodeableConcept
productOrServiceS1..1CodeableConceptBinding
modifierS1..*CodeableConceptBinding
id0..1string
extensionC0..*Extension
id0..1string
extensionC0..*Extension
systemΣ1..1uri
versionΣ0..1string
codeΣ1..1code
displayΣ0..1string
userSelectedΣ0..1boolean
textΣ0..1string
id0..1string
extensionC0..*Extension
id0..1string
extensionC0..*Extension
systemΣ1..1uriFixed Value
versionΣ0..1string
codeΣ1..1code
displayΣ0..1string
userSelectedΣ0..1boolean
textΣ0..1string
id0..1string
extensionC0..*Extension
id0..1string
extensionC0..*Extension
systemΣ1..1uriFixed Value
versionΣ0..1string
codeΣ1..1code
displayΣ0..1string
userSelectedΣ0..1boolean
textΣ0..1string
quantityS C0..1SimpleQuantity
unitPrice0..1Money
factor0..1decimal
net0..1Money
udiC0..*Reference(Device)
id0..1string
medicationDispenseC0..1Extension(Reference(NHSDigitalMedicationDispense))
repeatInformationC0..1Extension(Complex)
modifierExtensionΣ ?! C0..*Extension
sequenceS1..1positiveInt
revenue0..1CodeableConcept
category0..1CodeableConcept
productOrServiceS1..1CodeableConceptBinding
modifier0..*CodeableConcept
programCode0..*CodeableConcept
id0..1string
runningTotalC0..1Extension(Quantity)
valueΣ0..1decimal
comparatorΣ ?!0..0codeBinding
unitΣ0..1string
systemΣ C0..1uri
codeΣ0..1code
unitPrice0..1Money
factor0..1decimal
net0..1Money
udiC0..*Reference(Device)
total0..1Money
idΣ0..1string
metaΣ0..1Meta
implicitRulesΣ ?!0..1uri
language0..1codeBinding
text0..1Narrative
contained0..*Resource
replacementOfS C0..1Extension(Identifier)
agentS C0..1Extension(Reference(NHSDigitalHealthcareService | NHSDigitalPractitioner | NHSDigitalPractitionerRole))
modifierExtension?! C0..*Extension
id0..1string
extensionC0..*Extension
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ1..1uri
valueΣ1..1string
periodΣ C0..1Period
assignerΣ C0..1Reference(Organization)
statusS Σ ?!1..1codeBinding
id0..1string
extensionC0..*Extension
id0..1string
extensionC0..*Extension
systemΣ1..1uriFixed Value
versionΣ0..1string
codeΣ1..1codeFixed Value
displayΣ0..1string
userSelectedΣ0..1boolean
textΣ0..1string
subType0..1CodeableConcept
useΣ1..1codeBindingFixed Value
id0..1string
extensionC0..*Extension
referenceΣ C0..1string
typeΣ0..1uriBinding
id0..1string
extensionC0..*Extension
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ1..1uriFixed Value
valueΣ1..1string
periodΣ C0..1Period
assignerΣ C0..1Reference(Organization)
displayΣ0..1string
billablePeriodΣ C0..1Period
createdS Σ1..1dateTime
entererC0..1Reference(Practitioner | PractitionerRole)
insurerΣ C0..1Reference(Organization)
id0..1string
extensionC0..*Extension
referenceΣ C1..1string
typeΣ0..1uriBinding
id0..1string
extensionC0..*Extension
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ1..1uri
valueΣ1..1string
periodΣ C0..1Period
assignerΣ C0..1Reference(Organization)
displayΣ0..1string
id0..1string
extensionC0..*Extension
id0..1string
extensionC0..*Extension
systemΣ1..1uriFixed Value
versionΣ0..1string
codeΣ1..1codeFixed Value
displayΣ0..1string
userSelectedΣ0..1boolean
textΣ0..1string
fundsReserve0..1CodeableConcept
id0..1string
extensionC0..*Extension
modifierExtensionΣ ?! C0..*Extension
claimC0..1Reference(Claim)
relationship0..1CodeableConcept
reference0..1Identifier
id0..1string
id0..1string
id0..1string
extensionC0..*Extension
url1..1uriFixed Value
valueIdentifierIdentifier
id0..1string
extensionC0..*Extension
url1..1uriFixed Value
valueIdentifierIdentifier
url1..1uriFixed Value
referenceΣ C0..0string
typeΣ0..1uriBinding
displayΣ0..1string
id0..1string
id0..1string
id0..1string
extensionC0..*Extension
url1..1uriFixed Value
valueIdentifierIdentifier
id0..1string
extensionC0..*Extension
url1..1uriFixed Value
valueIdentifierIdentifier
url1..1uriFixed Value
referenceΣ C0..1string
typeΣ0..1uriBinding
id0..1string
extensionC0..*Extension
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ1..1uri
valueΣ1..1string
periodΣ C0..1Period
assignerΣ C0..1Reference(Organization)
displayΣ0..1string
id0..1string
extensionC0..*Extension
modifierExtensionΣ ?! C0..*Extension
id0..1string
extensionC0..*Extension
id0..1string
extensionC0..*Extension
systemΣ1..1uriFixed Value
versionΣ0..1string
codeΣ1..1codeFixed Value
displayΣ1..1stringFixed Value
userSelectedΣ0..1boolean
textΣ0..1string
id0..1string
extensionC0..*Extension
referenceΣ C0..1string
typeΣ0..1uriBinding
id0..1string
extensionC0..*Extension
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ1..1uriFixed Value
valueΣ1..1string
periodΣ C0..1Period
assignerΣ C0..1Reference(Organization)
displayΣ0..1string
referralC0..1Reference(ServiceRequest)
facilityC0..1Reference(Location)
id0..1string
extensionC0..*Extension
modifierExtensionΣ ?! C0..*Extension
sequence1..1positiveInt
providerC1..1Reference(Organization | Practitioner | PractitionerRole)
responsible0..1boolean
role0..1CodeableConcept
qualification0..1CodeableConcept
id0..1string
extensionC0..*Extension
modifierExtensionΣ ?! C0..*Extension
sequence1..1positiveInt
category1..1CodeableConcept
code0..1CodeableConcept
timingDatedate
timingPeriodPeriod
valueAttachmentAttachment
valueBooleanboolean
valueQuantityQuantity
valueReferenceReference(Resource)
valueStringstring
reason0..1CodeableConcept
id0..1string
extensionC0..*Extension
modifierExtensionΣ ?! C0..*Extension
sequence1..1positiveInt
diagnosisCodeableConceptCodeableConcept
diagnosisReferenceReference(Condition)
type0..*CodeableConcept
onAdmission0..1CodeableConcept
packageCode0..1CodeableConcept
id0..1string
extensionC0..*Extension
modifierExtensionΣ ?! C0..*Extension
sequence1..1positiveInt
type0..*CodeableConcept
date0..1dateTime
procedureCodeableConceptCodeableConcept
procedureReferenceReference(Procedure)
udiC0..*Reference(Device)
id0..1string
extensionC0..*Extension
modifierExtensionΣ ?! C0..*Extension
sequenceΣ1..1positiveInt
focalΣ1..1boolean
identifier0..1Identifier
id0..1string
extensionC0..*Extension
referenceΣ C0..1string
typeΣ0..1uriBinding
identifierΣ1..1Identifier
displayΣ0..1string
businessArrangement0..1string
preAuthRef0..*string
claimResponseC0..1Reference(ClaimResponse)
id0..1string
extensionC0..*Extension
modifierExtensionΣ ?! C0..*Extension
date1..1date
type0..1CodeableConceptBinding
locationAddressAddress
locationReferenceReference(Location)
id0..1string
prescriptionStatusS C1..1Extension(Coding)
id0..1string
extensionC0..*Extension
url1..1uriFixed Value
id0..1string
extensionC0..*Extension
systemΣ1..1uri
versionΣ0..1string
codeΣ1..1code
displayΣ0..1string
userSelectedΣ0..1boolean
repeatInformationC0..*Extension(Complex)
modifierExtensionΣ ?! C0..*Extension
sequence1..1positiveIntFixed Value
careTeamSequence0..*positiveInt
diagnosisSequence0..*positiveInt
procedureSequence0..*positiveInt
informationSequence0..*positiveInt
revenue0..1CodeableConcept
category0..1CodeableConcept
id0..1string
extensionC0..*Extension
id0..1string
extensionC0..*Extension
systemΣ1..1uriFixed Value
versionΣ0..1string
codeΣ1..1codeFixed Value
displayΣ1..1stringFixed Value
userSelectedΣ0..1boolean
textΣ0..1string
modifier0..*CodeableConcept
id0..1string
extensionC0..*Extension
id0..1string
extensionC0..*Extension
systemΣ1..1uri
versionΣ0..1string
codeΣ1..1code
displayΣ0..1string
userSelectedΣ0..1boolean
textΣ0..1string
id0..1string
extensionC0..*Extension
id0..1string
extensionC0..*Extension
systemΣ1..1uriFixed Value
versionΣ0..1string
codeΣ1..1code
displayΣ0..1string
userSelectedΣ0..1boolean
textΣ0..1string
id0..1string
extensionC0..*Extension
id0..1string
extensionC0..*Extension
systemΣ1..1uriFixed Value
versionΣ0..1string
codeΣ1..1code
displayΣ0..1string
userSelectedΣ0..1boolean
textΣ0..1string
servicedDatedate
servicedPeriodPeriod
locationAddressAddress
locationCodeableConceptCodeableConcept
locationReferenceReference(Location)
quantityC0..1SimpleQuantity
unitPrice0..1Money
factor0..1decimal
net0..1Money
udiC0..*Reference(Device)
bodySite0..1CodeableConcept
subSite0..*CodeableConcept
encounterC0..*Reference(Encounter)
id0..1string
medicationRequestS C1..1Extension(Reference(NHSDigitalMedicationRequest))
sequenceIdentifierS C1..1Extension(Identifier)
repeatInformationC0..1Extension(Complex)
taskBusinessStatusReasonC0..1Extension(Coding)Binding
modifierExtensionΣ ?! C0..*Extension
sequenceS1..1positiveInt
revenue0..1CodeableConcept
category0..1CodeableConcept
productOrServiceS1..1CodeableConceptBinding
modifierS1..*CodeableConceptBinding
id0..1string
extensionC0..*Extension
id0..1string
extensionC0..*Extension
systemΣ1..1uri
versionΣ0..1string
codeΣ1..1code
displayΣ0..1string
userSelectedΣ0..1boolean
textΣ0..1string
id0..1string
extensionC0..*Extension
id0..1string
extensionC0..*Extension
systemΣ1..1uriFixed Value
versionΣ0..1string
codeΣ1..1code
displayΣ0..1string
userSelectedΣ0..1boolean
textΣ0..1string
id0..1string
extensionC0..*Extension
id0..1string
extensionC0..*Extension
systemΣ1..1uriFixed Value
versionΣ0..1string
codeΣ1..1code
displayΣ0..1string
userSelectedΣ0..1boolean
textΣ0..1string
quantityS C0..1SimpleQuantity
unitPrice0..1Money
factor0..1decimal
net0..1Money
udiC0..*Reference(Device)
id0..1string
medicationDispenseC0..1Extension(Reference(NHSDigitalMedicationDispense))
repeatInformationC0..1Extension(Complex)
modifierExtensionΣ ?! C0..*Extension
sequenceS1..1positiveInt
revenue0..1CodeableConcept
category0..1CodeableConcept
productOrServiceS1..1CodeableConceptBinding
modifier0..*CodeableConcept
programCode0..*CodeableConcept
id0..1string
runningTotalC0..1Extension(Quantity)
valueΣ0..1decimal
comparatorΣ ?!0..0codeBinding
unitΣ0..1string
systemΣ C0..1uri
codeΣ0..1code
unitPrice0..1Money
factor0..1decimal
net0..1Money
udiC0..*Reference(Device)
total0..1Money

Implementation Guidance

Resource elements not defined below can be omitted.

Element Usage
Extension-Provenance-agent The sds-user-id of the authenticated user as the identifier.value within the ExtensionProvenanceAgent.
Extension-replacementOf Used to amend Claims and must reference the Claim.identifier of the Claim being replaced within the Extension-replacementOf.
identifier Unique identifier (UUID) for the Claim.
Where system=https://fhir.nhs.uk/Id/prescription-dispense-item-number.
status Fixed code of active.
type Fixed code of pharmacy.
use Fixed code of claim.
patient Must be an identifier reference for the patient's NHS Number.
created Timestamp for the claim.
provider Reference to a contained NHSDigital-PractitionerRole resource for the authenticated user.
priority Fixed code of normal.
prescription Use the extension ExtensionDMGroupIdentifier containing the prescription order number (short form id) and the prescription UUID.
payee Fixed value for type=provider.
Reference to a contained NHSDigital-Organization resource for the dispensing site.
insurance ODS code identifier for the reimbursement authority. For England use T1450 | NHS BUSINESS SERVICES AUTHORITY. For Wales use RQFZ1 | NWSSP AUDIT & ASSURANCE SERVICES. Use the fixed values of sequence=1 and focal=true.
item Backbone Element. See item guidance below.
item.detail Backbone Element. See item.detail guidance below.
item.detail.subDetail Backbone Element. See item.detail.subDetail guidance below.

item

Details of the prescribed and dispensed medication together with relevant endorsements and patient charge/exemption data.

item.extension:prescriptionStatus

The prescription status from the NHSDigital-MedicationDispense message using the extension ExtensionEPSTaskBusinessStatus and the DM-Task-Status-Reason valueset.

"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.extension:prescriptionStatusReason

Required only when item.extension:prescriptionStatus is 0007 | Not Dispensed using the extension Extension-EPS-TaskBusinessStatusReason to record the reason the entire prescription was recorded as not dispensed, using the valueset https://simplifier.net/resolve?scope=package:uk.nhsdigital.r4.test@2.18.8-prerelease&filepath=package/ValueSet-DM-medicationdispense-status-reason.json.

Note: When items with a claim are recorded as 'not dispensed' (see item.detail.modifier) for different reasons, then use any of these reasons as the overall reason for not dispensing the prescription.

Example

"extension": [
  {
    "url": "https://fhir.nhs.uk/StructureDefinition/Extension-EPS-TaskBusinessStatus",
    "valueCoding": {
      "system": "https://fhir.nhs.uk/CodeSystem/EPS-task-business-status",
      "code": "0007",
      "display": "Not Dispensed"
    }
  },
  {
    "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.extension:repeatInformation

Required for repeat dispensing prescriptions and is the repeat information for the overall prescription. This data can be taken from the medication item within the last dispense-notification recorded against the prescription using the Extension ExtensionEPSRepeatInformation.

The numberOfRepeatsIssued will be the current issue of the overall prescription, where the first issue is 1. The numberOfRepeatsAllowed will be the total number of authorised issues for the overall prescription.

Example

"extension":  [
  {
    "url": "https://fhir.nhs.uk/StructureDefinition/Extension-EPS-RepeatInformation",
    "extension": [
      {
        "url": "numberOfRepeatsAllowed",
        "valueInteger": 5
      },
      {
        "url": "numberOfRepeatsIssued",
        "valueInteger": 2
      }
    ]
  }
]

item.sequence

Fixed value of 1 as the EPS implementation only supports a single item entry.

item.productOrService

A fixed value codeableConcept that represents a prescription.

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

item.programCode

Mandatory coded Prescription Charge Exemption to denote the exemption reason, including if the patient as paid prescription charges.

Coded Exemption evidence to denote if evidence for exemption has been seen. If omitted, the reimbursement agency will assume evidence has not been seen.

"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"
      }
    ]
  }
]

item.detail

A claim detail entry will relate to each MedicationRequest in the prescription-order being claimed. Based on current EPS rules, this will be between 1 to 4 medication items.

item.detail.extension:medicationRequest

Mandatory reference to the MedicationRequest.identifier:prescriptionOrderItem for the prescribed medication item using the Extension ExtensionClaimMedicationRequestIdentifier.

"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"
      }
    }
  }
]

item.detail.extension:sequenceIdentifier

Mandatory extension ExtensionClaimSequenceIdentifier for a locally generated UUID that is required for legacy EPS processing.

Example

"extension":  [
  {
    "url": "https://fhir.nhs.uk/StructureDefinition/Extension-ClaimSequenceIdentifier",
    "valueReference": {
      "identifier": {
        "system": "https://fhir.nhs.uk/Id/claim-sequence-identifier",
        "value": "be948cf8-5db1-4c39-8f9b-c7e049d55acb"
      }
    }
  }
]

item.detail.extension:repeatInformation

Required for repeat dispensing prescriptions and is the repeat information for this medication item. This data can be taken from the medication item within the last dispense-notification recorded against the prescription using the Extension ExtensionEPSRepeatInformation.

The numberOfRepeatsIssued will be the current issue for the medication item, where the first issue is 1. The numberOfRepeatsAllowed will be the total number of authorised issues for the medication item.

Example

"extension":  [
  {
    "url": "https://fhir.nhs.uk/StructureDefinition/Extension-EPS-RepeatInformation",
    "extension": [
      {
        "url": "numberOfRepeatsAllowed",
        "valueInteger": 5
      },
      {
        "url": "numberOfRepeatsIssued",
        "valueInteger": 2
      }
    ]
  }
]

item.detail.extension:taskBusinessStatusReason

Problem: The OAS spec does not mention this extension? The extension does not state the valueset, so which should be used?

Required when item.detail.modifier is 0002 | Item not dispensed which denotes the medication item has not been dispensed, where this extension provides a coded reason for non-dispensing.

The profile extension is ExtensionEPSTaskBusinessStatusReason which does not state any binding to a valueset. Use the valueset DM-MedicationDispense-Status-Reason.

Example

"modifier":  [
  {
    "coding":  [
      {
        "system": "https://fhir.nhs.uk/CodeSystem/medicationdispense-type",
        "code": "0002",
        "display": "Item not dispensed"
      }
    ]
  }
],
"extension": [
  {
    "url": "https://fhir.nhs.uk/StructureDefinition/Extension-EPS-TaskBusinessStatusReason",
    "valueCoding": {
      "system": "https://fhir.nhs.uk/CodeSystem/medicationdispense-status-reason",
      "code": "0001",
      "display": "Not required as instructed by the patient"
    }
  }
]

item.detail.sequence

A sequential integer to identify the item within the resource so will be betwen 1 and 4 depending on how many prescribed medication items are on the prescription.

item.detail.productOrService

The medicationCodeableConcept of the prescribed medication item, taken from the MedicationRequest.

Example

"productOrService": {
  "coding": [
      {
      "system": "http://dmd.nhs.uk",
      "code": "39732311000001104",
      "display": "Amoxicillin 250mg capsules"
      }
  ]
}

item.detail.modifier

Required code for the medication item dispensing status, taken from the NHSDigital-MedicationDispense and using the DM-MedicationDispense-Type valueset.

When the value is 0002 - Item not dispensed then the extension item.detail.extension:taskBusinessStatusReason must be provided.

Example

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

item.detail.programCode

Mandatory coded prescriptionCharge for whether or not a prescription charge was paid for the medication treatment, including if two charges applied.

Coded dispensingEndorsement for endorsements to support the claim for this medication items, including the code NDEC when no endorsements are declared. Multiple endorsements may be applicable.

Where an endorsement requires supporting information, include this within a text value.

Example

"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 for less common products or special items"
      }
    ],
    "text": "15gram,£12.34,EFGH Ltd"
  }
]

item.detail.quantity

The quantity of the prescribed medication item, taken from the MedicationRequest.dispenseRequest.quantity.

Example

"quantity": {
  "value": 30,
  "unit": "tablet",
  "system": "http://snomed.info/sct",
  "code": "428673006"
}

item.detail.subDetail

The subDetail is present when medication has been dispensed, which will be the normal scenario when submitting a Claim.

It would be typical that a single medication item will be dispensed to fulfil a single medication request. This would result in a single instance of subDetail.

For example:
item.detail.productOrService = Atenolol 50mg tablets (VMP)
item.detail.subDetail[0].productOrService = Atenolol 50mg tablets (Accord-UK Ltd) 28 tablet (AMPP)

There will also be cases when multiple medication items may be dispensed to fulfil a single medication request. This would result in multiple instances of subDetail.

For example:
item.detail.productOrService = Elemental 028 Extra liquid (Flavour Not Specified) (AMP)
item.detail.subDetail[0].productOrService = Elemental 028 Extra liquid grapefruit (Nutricia Ltd) 250 ml (AMPP)
item.detail.subDetail[1].productOrService = Elemental 028 Extra liquid summer fruits (Nutricia Ltd) 250 ml (AMPP)
item.detail.subDetail[2].productOrService = Elemental 028 Extra liquid orange & pineapple (Nutricia Ltd) 250 ml (AMPP)

item.detail.subDetail.extension:medicationDispense

A reference to something outside the Claim - but what? It is not defined in the OAS schema? The system suggests the UUID identifier from the MedicationDispense resources so I'll assume that. This element is also maybe not even needed as does not appear to map across to any legacy HL7v3 data element?

Reference to the MedicationDispense.identifier for the dispensed medication item using the Extension ExtensionClaimMedicationRequestIdentifier.

Example

"extension": [
  {
    "url": "https://fhir.nhs.uk/StructureDefinition/Extension-ClaimMedicationDispenseReference",
    "valueReference": {
      "identifier": {
        "system": "https://fhir.nhs.uk/Id/prescription-dispense-item-number",
        "value": "fd833d33-f128-4fa2-a807-1fc8a7db2658"
      }
    }
  }
]

item.detail.subDetail.extension:repeatInformation

This extension has been deprecated and must not be used for new implementations.

item.detail.subDetail.sequence

Mandatory sequential integer id for each detail entry.

Example

"sequence": 1

item.detail.subDetail.productOrService

Mandatory dipensed medication dm+d concept taken from the NHSDigital-MedicationDispense using the valueset DM-MedicationDispense-Code containing dm+d products from the VMP, AMP, VMPP and AMPP reference sets.

Where possible, Actual Medical Product Packs (AMPP) should be used as these concepts are those that physically exist on a pharmacy shelf.

Example

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

item.detail.subDetail.quantity

Mandatory dipensed medication item quantity taken from the NHSDigital-MedicationDispense.

Example

"quantity": {
  "value": 28,
  "unit": "tablet",
  "system": "http://snomed.info/sct",
  "code": "428673006"
}

HL7v3 to HL7 FHIR Data Element Cross Reference

Cross reference between HL7v3 Dispense Claim Information data elements and FHIR Claim data elements to assist suppliers migrating from HL7v3 EPS solutions.

HL7v3 Dispense Claim Information Data Element FHIR Claim Data Element
id identifier
effectiveTime created
primaryInformationRecipient.AgentOrg.agentOrganization insurance
replacementOf.priorMessageRef Extension-replacementOf
coverage.coveringChargeExempt item.programCode
coverage.coveringChargeExempt.authorization.authorizingEvidenceSeen item.programCode
...within pertinentInformation1.pertinentSupplyHeader
id identifier
repeatNumber item.extension:repeatInformation
pertinentInformation3.pertinentPrescriptionStatus item.extension:prescriptionStatus
pertinentInformation4.pertinentPrescriptionID prescription
inFulfillmentOf.priorOriginalPrescriptionRef prescription
pertinentInformation2.pertinentNonDispensingReason item.extension:prescriptionStatusReason
legalAuthenticator provider
legalAuthenticator.time created
...within pertinentSupplyHeader.pertinentInformation1.pertinentSuppliedLineItem
id item.detail.extension:sequenceIdentifier
repeatNumber item.detail.extension:repeatInformation
pertinentInformation3.pertinentItemStatus item.detail.modifier
inFulfillmentOf.priorOriginalItemRef item.detail.extension:medicationRequest
pertinentInformation2.pertinentNonDispensingReason item.detail.extension:taskBusinessStatusReason
...within pertinentSuppliedLineItem.component.suppliedLineItemQuantity
product.suppliedManufacturedProduct.manufacturedSuppliedMaterial item.detail.subDetail.productOrService
quantity item.detail.subDetail.quantity
pertinentInformation2.pertinentDispensingEndorsement item.detail.programCode
pertinentInformation1.pertinentChargePayment item.detail.programCode
back to top