Task

The FHIR Task resource is used to manage the workflow for hub & spoke dispensing.

Tree View

idΣ0..1string
metaΣ0..1Meta
implicitRulesΣ ?!0..1uri
language0..1codeBinding
text0..1Narrative
contained0..*Resource
extensionC0..*Extension
modifierExtension?! C0..*Extension
identifier0..*Identifier
instantiatesCanonicalΣ0..1canonical(ActivityDefinition)
instantiatesUriΣ0..1uri
basedOnΣ C0..*Reference(Resource)
groupIdentifierΣ0..1Identifier
partOfΣ C0..*Reference(Task)
statusΣ ?!1..1codeBinding
statusReasonΣ0..1CodeableConcept
businessStatusΣ0..1CodeableConcept
intentΣ1..1codeBinding
priority0..1codeBinding
codeΣ0..1CodeableConcept
descriptionΣ0..1string
focusΣ C0..1Reference(Resource)
forΣ C0..1Reference(Resource)
encounterΣ C0..1Reference(Encounter)
executionPeriodΣ C0..1Period
authoredOnC0..1dateTime
lastModifiedΣ C0..1dateTime
requesterΣ C0..1Reference(Device | Organization | Patient | Practitioner | PractitionerRole | RelatedPerson)
performerType0..*CodeableConceptBinding
ownerΣ C0..1Reference(CareTeam | Device | HealthcareService | Organization | Patient | Practitioner | PractitionerRole | RelatedPerson)
locationΣ C0..1Reference(Location)
reasonCode0..1CodeableConcept
reasonReferenceC0..1Reference(Resource)
insuranceC0..*Reference(ClaimResponse | Coverage)
note0..*Annotation
relevantHistoryC0..*Reference(Provenance)
id0..1string
extensionC0..*Extension
modifierExtensionΣ ?! C0..*Extension
repetitions0..1positiveInt
periodC0..1Period
recipientC0..*Reference(Group | Organization | Patient | Practitioner | PractitionerRole | RelatedPerson)
id0..1string
extensionC0..*Extension
modifierExtensionΣ ?! C0..*Extension
type1..1CodeableConcept
valueAddressAddress
valueAgeAge
valueAnnotationAnnotation
valueAttachmentAttachment
valueBase64Binarybase64Binary
valueBooleanboolean
valueCanonicalcanonical
valueCodecode
valueCodeableConceptCodeableConcept
valueCodingCoding
valueContactDetailContactDetail
valueContactPointContactPoint
valueContributorContributor
valueCountCount
valueDataRequirementDataRequirement
valueDatedate
valueDateTimedateTime
valueDecimaldecimal
valueDistanceDistance
valueDosageDosage
valueDurationDuration
valueExpressionExpression
valueHumanNameHumanName
valueIdid
valueIdentifierIdentifier
valueInstantinstant
valueIntegerinteger
valueMarkdownmarkdown
valueMetaMeta
valueMoneyMoney
valueOidoid
valueParameterDefinitionParameterDefinition
valuePeriodPeriod
valuePositiveIntpositiveInt
valueQuantityQuantity
valueRangeRange
valueRatioRatio
valueReferenceReference
valueRelatedArtifactRelatedArtifact
valueSampledDataSampledData
valueSignatureSignature
valueStringstring
valueTimetime
valueTimingTiming
valueTriggerDefinitionTriggerDefinition
valueUnsignedIntunsignedInt
valueUriuri
valueUrlurl
valueUsageContextUsageContext
valueUuiduuid
id0..1string
extensionC0..*Extension
modifierExtensionΣ ?! C0..*Extension
type1..1CodeableConcept
valueAddressAddress
valueAgeAge
valueAnnotationAnnotation
valueAttachmentAttachment
valueBase64Binarybase64Binary
valueBooleanboolean
valueCanonicalcanonical
valueCodecode
valueCodeableConceptCodeableConcept
valueCodingCoding
valueContactDetailContactDetail
valueContactPointContactPoint
valueContributorContributor
valueCountCount
valueDataRequirementDataRequirement
valueDatedate
valueDateTimedateTime
valueDecimaldecimal
valueDistanceDistance
valueDosageDosage
valueDurationDuration
valueExpressionExpression
valueHumanNameHumanName
valueIdid
valueIdentifierIdentifier
valueInstantinstant
valueIntegerinteger
valueMarkdownmarkdown
valueMetaMeta
valueMoneyMoney
valueOidoid
valueParameterDefinitionParameterDefinition
valuePeriodPeriod
valuePositiveIntpositiveInt
valueQuantityQuantity
valueRangeRange
valueRatioRatio
valueReferenceReference
valueRelatedArtifactRelatedArtifact
valueSampledDataSampledData
valueSignatureSignature
valueStringstring
valueTimetime
valueTimingTiming
valueTriggerDefinitionTriggerDefinition
valueUnsignedIntunsignedInt
valueUriuri
valueUrlurl
valueUsageContextUsageContext
valueUuiduuid

Examples

Task POST Creation

In this example there are 2 x MedicationRequest resources referenced by the Task.input. The Task will be included within the Bundle for the PharmacySpokeToHub FHIR Transaction.

{
  "resourceType": "Task",
  "meta": {
    "profile": [
      "https://hl7.org/fhir/r4/StructureDefinition/Task"
    ]
  },
  "id": "ae92a488-92a1-42e0-a1c7-e61f6beb8c78",
  "status": "requested",
  "intent": "order",
  "requester": {
    "reference": "urn:uuid:a5acefc1-f8ca-4989-a5ac-34ae36741466"
  },
  "input": [
    {
      "type": {
        "coding": [
          {
            "system": "http://hl7.org/fhir/resource-types",
            "code": "MedicationRequest",
            "display": "MedicationRequest"
          }
        ]
      },
      "valueReference": { 
        "reference": "urn:uuid:29356196-1c07-4057-a7f3-e8d9b7e20926",
        "type": "MedicationRequest"
      }
    },
    {
      "type": {
        "coding": [
          {
            "system": "http://hl7.org/fhir/resource-types",
            "code": "MedicationRequest",
            "display": "MedicationRequest"
          }
        ]
      },
      "valueReference": { 
        "reference": "urn:uuid:0b7497d3-5489-45fc-bd82-4d58a393f010",
        "type": "MedicationRequest"
      }
    },
  ]
}

Task PATCH (Accepted)

PATCH https://{base}/Task/{TaskID}
Content-type: application/fhir+json
{
  "resourceType": "Parameters",
  "parameter": [
    {
      "name": "operation",
      "part": [
        { 
          "name": "type", 
          "valueCode": "replace"
        },
        { 
          "name": "path", 
          "valueString": "Task.status"
        },
        { 
          "name": "value", 
          "valueString": "accepted"
        }
      ]
    }
  ]
}

Task PATCH (Completed)

In this example there is a single MedicationDispense resource referenced by the Task.output. The update to complete the Task will be included within the Bundle for the PharmacyHubToSpoke FHIR Transaction.

{
  "resourceType": "Parameters",
  "parameter": [
    {
      "name": "operation",
      "part": [
        { 
          "name": "type", 
          "valueCode": "replace"
        },
        { 
          "name": "path", 
          "valueString": "Task.status"
        },
        { 
          "name": "value", 
          "valueString": "completed"
        }
      ]
    },
    {
      "name": "operation",
      "part": [
        { 
          "name": "type", 
          "valueCode": "add"
        },
        { 
          "name": "path", 
          "valueString": "Task.output[0].type"
        },
        { 
          "name": "value", 
          "valueCodeableConcept": {
            "coding": [
              {
                "system": "http://hl7.org/fhir/resource-types",
                "code": "MedicationDispense",
                "display": "MedicationDispense"
              }
            ]
          }
        }
      ]
    },
    {
      "name": "operation",
      "part": [
        { 
          "name": "type", 
          "valueCode": "add"
        },
        { 
          "name": "path", 
          "valueString": "Task.output[0].valueReference"
        },
        { 
          "name": "value", 
          "valueReference": {
            "reference": "urn:uuid:312d757e-21f1-4f10-9f02-1746768bc31d"
          }
        }
      ]
    }
  ]
}

Required / Minimum Dataset

The required fields that represent the minimum dataset to be shared with the spoke pharmacy (the requester) for medication assembled, labelled and shipped to the spoke pharmacy are as follows.

Element Implementation Requirements
id A locally generated UUID.
status See note below.
intent Fixed value of order.
requester A reference to a UKCore-Organization resource for the spoke pharmacy.
input Reference to any number of UKCore-MedicationRequest resources. It is an implementation decision for the relationship between a Task and a MedicationRequest. There may be a 1-to-1 relationship where each Task relates to a single MedicationRequest. There may be a 1-to-many relationship where a Task relates to multiple MedicationRequests, which can either be for the same patient or different patients.
output Omitted by the spoke (requestor) pharmacy. The hub (provider) pharmacy updates with references to any number of UKCore-MedicationDispense resources. The number of referenced MedicationDispenses will depend on how many MedicationRequests were an input for the Task.

Note: Use of Task.status

The Task.status element is key to managing the workflow for hub & spoke dispensing.

hub-spoke-interactions

The Task is created and persisted by the requestor with the status set to requested when the PharmacySpokeToHub FHIR Transaction is posted to the performer.

The performer uses an HTTP PATCH to amend the Task setting the status to either accepted or rejected. If rejected, the spoke pharmacy needs to find an alternative assembly solution.

Optionally the performer may use an HTTP PATCH to amend the Task status to in-progress once the assembly process has started.

Optionally the performer may use an HTTP PATCH to amend the Task status to on-hold if the assembly process pauses, for example, if stock is temporarily unavailable, or there are clinical queries that need to be discussed with the spoke pharmacy.

The performer uses an HTTP POST containing a PharmacyHubToSpoke FHIR Transaction to the requestor. Within this will be an HTTP PATCH for amend the Task resource to a status of completed.

The performer would use an HTTP PATCH to amend the Task status to failed if the assembly process cannot be completed, meaning no medication will be shipped and the spoke needs to find an alternative assembly solution.

Implementation of HTTP PATCH

The FHIR standard support various way to PATCH a resource. Using a FHIRPath with a Parameters resource is preferred over using a JSONPatch, as the latter requires the content to be base64 encoded when used within a Bundle. The examples above include those for a PATCH operation.


UKCore-MedicationRequest

Tree View

idΣ0..1string
metaΣ0..1Meta
implicitRulesΣ ?!0..1uri
language0..1codeBinding
text0..1Narrative
contained0..*Resource
medicationRepeatInformationC0..1Extension(Complex)
modifierExtension?! C0..*Extension
identifierS0..*Identifier
statusS Σ ?!1..1codeBinding
statusReason0..1CodeableConcept
intentS Σ ?!1..1codeBinding
categoryS0..*CodeableConceptBinding
priorityΣ0..1codeBinding
doNotPerformΣ ?!0..1boolean
reportedBooleanboolean
reportedReferenceReference(Organization | Patient | Practitioner | PractitionerRole | RelatedPerson)
medicationCodeableConceptCodeableConcept
medicationReferenceReference(Medication)
subjectS Σ C1..1Reference(Group | Patient)
encounterC0..1Reference(Encounter)
supportingInformationC0..*Reference(Resource)
authoredOnS Σ0..1dateTime
requesterS Σ C0..1Reference(Device | Organization | Patient | Practitioner | PractitionerRole | RelatedPerson)
performerC0..1Reference(CareTeam | Device | Organization | Patient | Practitioner | PractitionerRole | RelatedPerson)
performerTypeΣ0..1CodeableConcept
recorderC0..1Reference(Practitioner | PractitionerRole)
reasonCode0..*CodeableConcept
reasonReferenceC0..*Reference(Condition | Observation)
instantiatesCanonicalΣ0..*canonical
instantiatesUriΣ0..*uri
basedOnΣ C0..*Reference(CarePlan | ImmunizationRecommendation | MedicationRequest | ServiceRequest)
groupIdentifierΣ0..1Identifier
courseOfTherapyType0..1CodeableConceptBinding
insuranceC0..*Reference(ClaimResponse | Coverage)
note0..*Annotation
id0..1string
extensionC0..*Extension
modifierExtensionΣ ?! C0..*Extension
sequenceΣ0..1integer
textS Σ0..1string
additionalInstructionΣ0..*CodeableConcept
patientInstructionΣ0..1string
timingS Σ0..1Timing
asNeededBooleanboolean
asNeededCodeableConceptCodeableConcept
siteΣ0..1CodeableConceptBinding
routeΣ0..1CodeableConceptBinding
methodΣ0..1CodeableConceptBinding
id0..1string
extensionC0..*Extension
typeΣ0..1CodeableConcept
doseQuantitySimpleQuantity
doseRangeRange
rateQuantitySimpleQuantity
rateRangeRange
rateRatioRatio
maxDosePerPeriodΣ C0..1Ratio
maxDosePerAdministrationΣ C0..1SimpleQuantity
maxDosePerLifetimeΣ C0..1SimpleQuantity
id0..1string
extensionC0..*Extension
modifierExtensionΣ ?! C0..*Extension
id0..1string
extensionC0..*Extension
modifierExtensionΣ ?! C0..*Extension
quantityC0..1SimpleQuantity
durationC0..1Duration
dispenseIntervalC0..1Duration
validityPeriodC0..1Period
numberOfRepeatsAllowed0..1unsignedInt
quantityS C0..1SimpleQuantity
expectedSupplyDurationC0..1Duration
performerC0..1Reference(Organization)
id0..1string
extensionC0..*Extension
modifierExtensionΣ ?! C0..*Extension
allowedBooleanboolean
allowedCodeableConceptCodeableConcept
reason0..1CodeableConcept
priorPrescriptionC0..1Reference(MedicationRequest)
detectedIssueC0..*Reference(DetectedIssue)
eventHistoryC0..*Reference(Provenance)

Example

{
  "resourceType": "MedicationRequest",
  "meta": {
    "profile": [
      "https://fhir.nhs.uk/StructureDefinition/UKCore-MedicationRequest"
    ]
  },
  "id": "29356196-1c07-4057-a7f3-e8d9b7e20926",
  "identifier": [
    {
      "system": "https://fhir.nhs.uk/Id/prescription-order-item-number",
      "value": "7dc0390a-f416-4d8a-9751-257bfa6294cd"
    }
  ],
  "status": "active",
  "intent": "order",
  "medicationCodeableConcept": {
    "coding": [
      {
        "system": "http://dmd.nhs.uk",
        "code": "39720311000001101",
        "display": "Paracetamol 500mg soluble tablets"
      }
    ]
  },
  "subject": {
    "reference": "urn:uuid:78d3c2eb-009e-4ec8-a358-b042954aa9b2"
  },
  "authoredOn": "2025-09-08T09:00:00+00:00",
  "requester": {
    "reference": "urn:uuid:a5acefc1-f8ca-4989-a5ac-34ae36741466"
  },
  "dosageInstruction": [
    {
      "patientInstruction": "Take 2 tablets - 3 times a day - for 1 week"
    }
  ],
  "dispenseRequest": {
    "quantity": {
      "value": 60,
      "unit": "tablet",
      "system": "http://snomed.info/sct",
      "code": "428673006"
    },
    "performer": {
      "reference": "urn:uuid:89d46cf0-94a6-4ec4-97e1-2bdfca664b77"
      }
    }
  }
}

Required / Minimum Dataset

The required fields that represent the minimum dataset to be shared with the hub pharmacy (the performer) for the purposes of hub pharmacy dispensing are as follows.

Element Implementation Requirements
id A locally generated UUID
identifier Use as provided by EPS, or omit if a paper FP10 prescription
status Fixed value of active
intent Fixed value of order
medicationCodeableConcept The dm+d code, display and system for the prescribed medication as provided by EPS. If received as a paper FP10 prescription and cannot be mapped to a valid dm+d concept then use .text.
subject A reference of a UKCore-Patient resource. Where the NHS Number is not known, include a UUID or another suitably unique identifier within the Patient resource.
authoredOn As provided by EPS, or prescription date as recorded within the pharmacy system for a paper FP10 prescription.
dosageInstruction.patientInstruction String dosing instruction for the hub to use on the printed medication dispensing label. This may be as provided by the prescriber or may be an amended dosing instruction from the spoke pharmacy.
dispenseRequest.quantity As provided by EPS, or prescribed quantity as recorded within the pharmacy system for a paper FP10 prescription.
dispenseRequest.performer A reference to an UKCore-Organization resource for the spoke pharmacy.

UKCore-MedicationDispense

Tree View

idΣ0..1string
metaΣ0..1Meta
implicitRulesΣ ?!0..1uri
language0..1codeBinding
text0..1Narrative
contained0..*Resource
extensionC0..*Extension
modifierExtension?! C0..*Extension
identifierS0..*Identifier
partOfC0..*Reference(Procedure)
statusS Σ ?!1..1codeBinding
statusReasonCodeableConceptCodeableConcept
statusReasonReferenceReference(DetectedIssue)
category0..1CodeableConceptBinding
medicationCodeableConceptCodeableConcept
medicationReferenceReference(Medication)
subjectS Σ C0..1Reference(Group | Patient)
contextC0..1Reference(Encounter | EpisodeOfCare)
supportingInformationC0..*Reference(Resource)
id0..1string
extensionC0..*Extension
modifierExtensionΣ ?! C0..*Extension
function0..1CodeableConcept
actorC1..1Reference(Device | Organization | Patient | Practitioner | PractitionerRole | RelatedPerson)
locationC0..1Reference(Location)
authorizingPrescriptionC0..*Reference(MedicationRequest)
type0..1CodeableConceptBinding
quantityS C0..1SimpleQuantity
daysSupplyC0..1SimpleQuantity
whenPreparedS Σ0..1dateTime
whenHandedOver0..1dateTime
destinationC0..1Reference(Location)
receiverC0..*Reference(Patient | Practitioner)
note0..*Annotation
id0..1string
extensionC0..*Extension
modifierExtensionΣ ?! C0..*Extension
sequenceΣ0..1integer
textS Σ0..1string
additionalInstructionΣ0..*CodeableConcept
patientInstructionΣ0..1string
timingS Σ0..1Timing
asNeededBooleanboolean
asNeededCodeableConceptCodeableConcept
siteΣ0..1CodeableConceptBinding
routeΣ0..1CodeableConceptBinding
methodΣ0..1CodeableConceptBinding
id0..1string
extensionC0..*Extension
typeΣ0..1CodeableConcept
doseQuantitySimpleQuantity
doseRangeRange
rateQuantitySimpleQuantity
rateRangeRange
rateRatioRatio
maxDosePerPeriodΣ C0..1Ratio
maxDosePerAdministrationΣ C0..1SimpleQuantity
maxDosePerLifetimeΣ C0..1SimpleQuantity
id0..1string
extensionC0..*Extension
modifierExtensionΣ ?! C0..*Extension
wasSubstituted1..1boolean
type0..1CodeableConcept
reason0..*CodeableConcept
responsiblePartyC0..*Reference(Practitioner | PractitionerRole)
detectedIssueC0..*Reference(DetectedIssue)
eventHistoryC0..*Reference(Provenance)

Example - Completed Dispensing

{
  "resource": {
    "resourceType": "MedicationDispense",
    "meta": {
      "profile": [
        "https://fhir.nhs.uk/StructureDefinition/UKCore-MedicationDispense"
      ]
    },
    "id": "312d757e-21f1-4f10-9f02-1746768bc31d",
    "status": "completed",
    "medicationCodeableConcept": {
      "coding": [
        {
          "system": "http://dmd-nhs.uk",
          "code": "42234211000001100",
          "display": "ProSource 20 liquid red berry (Nutrinovo Ltd)"
        }
      ]
    },
    "subject": {
      "identifier": {
        "system": "https://fhir.nhs.uk/Id/nhs-number",
        "value": "9449304130"
      },
      "display": "Mr Michael Mouser"
    },
    "performer": [
      {
        "actor": {
          "reference": "urn:uuid:7535862a-d46b-43a3-9d7f-2f489861e24c"
        }
      }
    ],
    "authorizingPrescription": [
      {
        "reference": "urn:uuid:7dc0390a-f416-4d8a-9751-257bfa6294cd"
      }
    ],
    "quantity": {
      "value": 60,
      "unit": "tablets",
      "system": "http://snomed.info/sct",
      "code": "428673006"
    },
    "whenPrepared": "2025-11-07T11:45:00+00:00",
    "dosageInstruction": [
      {
        "text": "Swallow 2 tablets - 3 times a day - for 1 week"
      }
    ]
  }
}

Example - Stopped / Non-Dispensing

{
  "resource": {
    "resourceType": "MedicationDispense",
    "meta": {
      "profile": [
        "https://fhir.nhs.uk/StructureDefinition/UKCore-MedicationDispense"
      ]
    },
    "id": "312d757e-21f1-4f10-9f02-1746768bc31d",
    "status": "stopped",
    "statusReasonCodeableConcept": {
      "text": "Cannot be hub assembled as per regulations as a Controlled Drug medication"
    },
    "medicationCodeableConcept": {
      "extension": [
        {
          "url": "http://hl7.org/fhir/StructureDefinition/data-absent-reason",
          "valueCode": "not-applicable"
        }
      ]
    },
    "subject": {
      "identifier": {
        "system": "https://fhir.nhs.uk/Id/nhs-number",
        "value": "9449304130"
      },
      "display": "Mr Michael Mouser"
    },
    "performer": [
      {
        "actor": {
          "reference": "urn:uuid:7535862a-d46b-43a3-9d7f-2f489861e24c"
        }
      }
    ],
    "authorizingPrescription": [
      {
        "reference": "urn:uuid:7dc0390a-f416-4d8a-9751-257bfa6294cd"
      }
    ]
  }
}


Required / Minimum Dataset

The required fields that represent the minimum dataset to be shared with the spoke pharmacy (the requester) for medication assembled, labelled and shipped to the spoke pharmacy are as follows.

Element Implementation Requirements
id A locally generated UUID
status Fixed value completed
medicationCodeableConcept The dm+d code, display and system for the dispensed medication. If the dispensed medication cannot be mapped to a valid dm+d concept then use .text.
subject An identifier for the patient using NHS Number. Where NHS Number is not known use the unique identifier as provided by the requestor.
performer A reference to an Organization resource for the hub pharmacy.
authorizingPrescription A reference to the UKCore-MedicationRequest that is being dispensed against.
quantity The quantity of medication dispensed.
whenPrepared Date and time of medication assembly and labelling.
dosageInstruction.patientInstruction The dosing instruction as printed on the medication dispensing label.

Failed / Non-Dispensing

If the hub dispensing process has failed and no medication is to be shipped to the spoke pharmacy then a MedicationDispense resource should still be posted to the spoke pharmacy with the following data.

Element Implementation Requirements
id A locally generated UUID
status Fixed value stopped
statusReasonCodeableConcept.text The reason the medication could not be assembled by the hub pharmacy.
medicationCodeableConcept A mandatory element within the UKCore profile so populate with the extension data-absent-reason.
subject An identifier for the patient using NHS Number. Where NHS Number is not known use the unique identifier as provided by the requestor.
performer A reference to an Organization resource for the hub pharmacy.
authorizingPrescription A reference to the UKCore-MedicationRequest that is being dispensed against.

UKCore-Organization

Tree View

idΣ0..1string
metaΣ0..1Meta
implicitRulesΣ ?!0..1uri
language0..1codeBinding
text0..1Narrative
contained0..*Resource
mainLocationC0..1Extension(Reference(Location))
id0..1string
extensionC0..0Extension
url1..1uriFixed Value
valuePeriodPeriod
modifierExtension?! C0..*Extension
id0..1string
extensionC0..*Extension
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ1..1uriFixed Value
valueΣ1..1string
periodΣ C0..1Period
assignerΣ C0..1Reference(Organization)
id0..1string
extensionC0..*Extension
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ1..1uriFixed Value
valueΣ1..1string
periodΣ C0..1Period
assignerΣ C0..1Reference(Organization)
activeS Σ ?!0..1boolean
typeΣ0..*CodeableConceptBinding
nameS Σ C0..1string
alias0..*string
telecomS C0..*ContactPoint
addressS C0..*Address
partOfΣ C0..1Reference(Organization)
id0..1string
extensionC0..*Extension
modifierExtensionΣ ?! C0..*Extension
purpose0..1CodeableConceptBinding
name0..1HumanName
telecomC0..*ContactPoint
address0..1Address
endpointC0..*Reference(Endpoint)

Example

{
  "resourceType": "Organization",
  "identifier": [
    {
      "system": "https://fhir.nhs.uk/Id/ods-organization-code",
      "value": "VNE51"
    }
  ],
  "address": [
    {
      "city": "West Yorkshire",
      "use": "work",
      "line": [
        "17 Austhorpe Road",
        "Crossgates",
        "Leeds"
      ],
      "postalCode": "LS15 8BA"
    }
  ],
  "name": "The Simple Pharmacy",
  "telecom": [
    {
      "system": "phone",
      "use": "work",
      "value": "0113 3180277"
    }
  ]
}


Required / Minimum Dataset

The required fields that represent the minimum dataset to be shared between hub and spoke pharmacies are as follows.

Element Implementation Requirements
identifier As per UKCore guidance.
name As per UKCore guidance.
telecom As per UKCore guidance.
address The postal address for the pharmacy. For a spoke pharmacy, this must be the address where assembled medication is to be shipped to by the hub pharmacy.

UKCore-Patient

Tree View

idΣ0..1string
metaΣ0..1Meta
implicitRulesΣ ?!0..1uri
language0..1codeBinding
text0..1Narrative
contained0..*Resource
id0..1string
extensionC0..0Extension
url1..1uriFixed Value
valueAddressAddress
birthSexC0..1Extension(CodeableConcept)
id0..1string
extensionC0..0Extension
url1..1uriFixed Value
valueBooleanboolean
contactPreferenceC0..1Extension(Complex)
deathNotificationStatusC0..1Extension(Complex)
ethnicCategoryC0..1Extension(CodeableConcept)
fetalStatusC0..1Extension(code)
residentialStatusC0..1Extension(CodeableConcept)
id0..1string
extensionC0..0Extension
url1..1uriFixed Value
valueBooleanboolean
nhsNumberUnavailableReasonC0..1Extension(CodeableConcept)
modifierExtension?! C0..*Extension
id0..1string
nhsNumberVerificationStatusC0..1Extension(CodeableConcept)
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ1..1uriFixed Value
valueΣ1..1string
periodΣ C0..1Period
assignerΣ C0..1Reference(Organization)
activeS Σ ?!0..1boolean
nameS Σ0..*HumanName
id0..1string
extensionC0..*Extension
id0..1string
otherContactSystemC0..1Extension(CodeableConcept)
value0..1System.String
valueΣ0..1string
useΣ ?!0..1codeBinding
rankΣ0..1positiveInt
periodΣ C0..1Period
genderS Σ0..1codeBinding
id0..1string
id0..1string
extensionC0..0Extension
url1..1uriFixed Value
valueDateTimedateTime
value0..1System.Date
deceasedBooleanboolean
deceasedDateTimedateTime
id0..1string
addressKeyC0..*Extension(Complex)
useΣ ?!0..1codeBinding
typeΣ0..1codeBinding
textΣ0..1string
lineΣ0..*string
cityΣ0..1string
districtΣ0..1string
stateΣ0..1string
postalCodeΣ0..1string
countryΣ0..1string
periodΣ C0..1Period
maritalStatus0..1CodeableConceptBinding
multipleBirthBooleanboolean
multipleBirthIntegerinteger
photoC0..*Attachment
id0..1string
contactRankC0..1Extension(positiveInt)
copyCorrespondenceIndicatorC0..1Extension(boolean)
modifierExtensionΣ ?! C0..*Extension
relationship0..*CodeableConceptBinding
name0..1HumanName
id0..1string
extensionC0..*Extension
id0..1string
otherContactSystemC0..1Extension(CodeableConcept)
value0..1System.String
valueΣ0..1string
useΣ ?!0..1codeBinding
rankΣ0..1positiveInt
periodΣ C0..1Period
address0..1Address
gender0..1codeBinding
organizationC0..1Reference(Organization)
periodC0..1Period
id0..1string
id0..1string
id0..1string
extensionC0..0Extension
url1..1uriFixed Value
valueCodingCoding
id0..1string
extensionC0..0Extension
url1..1uriFixed Value
valueCodingCoding
url1..1uriFixed Value
modifierExtensionΣ ?! C0..*Extension
language1..1CodeableConceptBinding
preferred0..1boolean
generalPractitionerC0..*Reference(Organization | Practitioner | PractitionerRole)
managingOrganizationS Σ C0..1Reference(Organization)
id0..1string
extensionC0..*Extension
modifierExtensionΣ ?! C0..*Extension
otherΣ C1..1Reference(Patient | RelatedPerson)
typeΣ1..1codeBinding

Example

{
  "fullUrl": "urn:uuid:78d3c2eb-009e-4ec8-a358-b042954aa9b2",
  "resource": {
    "resourceType": "Patient",
    "meta": {
      "profile": [
        "https://fhir.hl7.org.uk/StructureDefinition/UKCore-Patient"
      ]
    },
    "identifier": [
      {
        "system": "https://fhir.nhs.uk/Id/nhs-number",
        "value": "9449304130"
      }
    ],
    "name": [
      {
        "use": "usual",
        "family": "Mouser",
        "given": [
          "Michael"
        ],
        "prefix": [
          "Mr"
        ]
      }
    ],
    "gender": "male",
    "birthDate": "1932-01-06",
    "address": [
      {
        "use": "home",
        "line": [
          "1 Trevelyan Square",
          "Boar Lane",
          "Leeds",
          "West Yorkshire"
        ],
        "postalCode": "LS1 6AE"
      }
    ]
  }
}


Required / Minimum Dataset

The required fields that represent the minimum dataset to be shared with the hub pharmacy (the performer) for the purposes of patient identification are as follows.

Element Implementation Requirements
identifier As per UKCore guidance.
name As per UKCore guidance.
gender As per UKCore guidance.
birthDate As per UKCore guidance.
address The patient's home address, or as written on the prescription.

See UKCore_Patient