NHS Digital FHIR Implementation Guide (Retired - 2.1.50)

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

NHSDigital-HealthcareService

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

The HealthcareService resource is used to describe a single healthcare service or category of services that are provided by an organization at a location. The location of the services could be virtual, as with telemedicine services.



idΣ0..1string
metaΣ0..1Meta
implicitRulesΣ ?!0..1uri
language0..1codeBinding
text0..1Narrative
contained0..*Resource
extensionI0..*Extension
modifierExtension?! I0..*Extension
id0..1string
extensionI0..*Extension
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ1..1uriFixed Value
valueΣ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
activeΣ ?!0..1boolean
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
categoryΣ0..*CodeableConcept
typeΣ0..*CodeableConceptBinding
id0..1string
extensionI0..*Extension
id0..1string
extensionI0..*Extension
systemΣ1..1uri
versionΣ0..1string
codeΣ1..1code
displayΣ1..1string
userSelectedΣ0..1boolean
id0..1string
extensionI0..*Extension
systemΣ0..1uriFixed Value
versionΣ0..1string
codeΣ0..1code
displayΣ0..1string
userSelectedΣ0..1boolean
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
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
nameS Σ1..1string
commentΣ0..1string
extraDetails0..1markdown
photoΣ I0..1Attachment
id0..1string
extensionI0..*Extension
systemΣ I0..1codeBinding
valueΣ1..1string
useΣ ?!1..1codeBinding
rankΣ0..1positiveInt
periodΣ I0..1Period
coverageAreaI0..*Reference(Location)
serviceProvisionCode0..*CodeableConcept
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
code0..1CodeableConcept
comment0..1markdown
program0..*CodeableConcept
characteristic0..*CodeableConcept
communication0..*CodeableConceptBinding
referralMethod0..*CodeableConcept
appointmentRequired0..1boolean
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
daysOfWeek0..*codeBinding
allDay0..1boolean
availableStartTime0..1time
availableEndTime0..1time
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
description1..1string
duringI0..1Period
availabilityExceptions0..1string
endpointI0..*Reference(Endpoint)

idΣ0..1string
metaΣ0..1Meta
implicitRulesΣ ?!0..1uri
language0..1codeBinding
text0..1Narrative
contained0..*Resource
extensionI0..*Extension
modifierExtension?! I0..*Extension
id0..1string
extensionI0..*Extension
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ1..1uriFixed Value
valueΣ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
activeΣ ?!0..1boolean
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
categoryΣ0..*CodeableConcept
typeΣ0..*CodeableConceptBinding
id0..1string
extensionI0..*Extension
id0..1string
extensionI0..*Extension
systemΣ1..1uri
versionΣ0..1string
codeΣ1..1code
displayΣ1..1string
userSelectedΣ0..1boolean
id0..1string
extensionI0..*Extension
systemΣ0..1uriFixed Value
versionΣ0..1string
codeΣ0..1code
displayΣ0..1string
userSelectedΣ0..1boolean
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
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
nameS Σ1..1string
commentΣ0..1string
extraDetails0..1markdown
photoΣ I0..1Attachment
id0..1string
extensionI0..*Extension
systemΣ I0..1codeBinding
valueΣ1..1string
useΣ ?!1..1codeBinding
rankΣ0..1positiveInt
periodΣ I0..1Period
coverageAreaI0..*Reference(Location)
serviceProvisionCode0..*CodeableConcept
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
code0..1CodeableConcept
comment0..1markdown
program0..*CodeableConcept
characteristic0..*CodeableConcept
communication0..*CodeableConceptBinding
referralMethod0..*CodeableConcept
appointmentRequired0..1boolean
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
daysOfWeek0..*codeBinding
allDay0..1boolean
availableStartTime0..1time
availableEndTime0..1time
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
description1..1string
duringI0..1Period
availabilityExceptions0..1string
endpointI0..*Reference(Endpoint)

keyhumanseverityexpression
nhsd-7providedBy - a display name should be providedwarning(display.exists())
nhsd-8location - An identifier reference plus a display name or resource reference must be providederror(reference.exists() or (identifier.exists() and display.exists()))

identifier

SHOULD contain the service identifier e.g. the serviceId from Directory of Service or e-RS Directory Services

MAY contain an ANANA/ODS code.

"identifier": [
          {
            "use": "official",
            "system": "http://fhir.nhs.uk/Id/ers-service",
            "value": "11021"
          }
        ]


providedBy

It is recommended an identifier reference using ODS code is used.

"providedBy": {
        "identifier": {
            "system": "https://fhir.nhs.uk/Id/ods-organization-code",
            "value": "RBA"
          },
        "display": "TAUNTON AND SOMERSET NHS FOUNDATION TRUST"
    }


type (service)

Type SHOULD be populated.

"type":  [
        {
            "coding":  [
                {
                    "system": "https://fhir.nhs.uk/CodeSystem/DoS-ClinicType",
                    "code": "PHARMACY",
                    "display": "Pharmacy"
                }
            ]
        }
    ],

or

"type":  [
        {
            "coding":  [
                {
                    "system": "https://fhir.nhs.uk/CodeSystem/eRS-ClinicType",
                    "code": "LIPID_MANAGEMENT"
                }
            ]
        }
    ],


specialty

Specialty SHOULD be from the PracticeSettingCodeValueSet and is the SNOMED equivalent of the NHS Data Dictionary - Main Specialty and Treament Function Codes and FHIR NHS Data Dictionary Clinical Specialty

"specialty":  [
        {
            "coding":  [
                {
                    "system": "http://snomed.info/sct",
                    "code": "394579002",
                    "display": "Cardiology"
                }
            ]
        }
    ],

or using NHS Data Dictionary codes.

"specialty":  [
        {
            "coding":  [
                {
                    "system": "https://fhir.nhs.uk/CodeSystem/NHSDataModelAndDictionary-clinical-specialty",
                    "code": "320",
                    "display": "Cardiology"
                }
            ]
        }
    ],


location

Reference to a location. ODS codes may be used, however this may differ from Directory of Services and so DoS addresses are preferred.

 "location":  [
        {
            "reference": "urn:uuid:8a5d7d67-64fb-44ec-9802-2dc214bb3dcb"
        }
    ],


name

Name of the clinic or service.

 "name": "SOMERSET BOWEL CANCER SCREENING CENTRE",


telecom

Contact details for the clinic or service.

   "telecom": [
    {
      "system": "phone",
      "value": "0113 922 4984",
      "use": "work"
    },
    {
      "system": "email",
      "value": "directaddress@example.com",
      "use": "work"
    }
  ],


availableTime

Opening times for the clinic or service.

"availableTime": [
    {
      "daysOfWeek": [
        "wed"
      ],
      "allDay": true
    },
    {
      "daysOfWeek": [
        "mon",
        "tue",
        "wed",
        "thu"
      ],
      "availableStartTime": "08:30:00",
      "availableEndTime": "05:30:00"
    },
    {
      "daysOfWeek": [
        "sat",
        "fri"
      ],
      "availableStartTime": "09:30:00",
      "availableEndTime": "04:30:00"
    }
  ],


Search Parameters

The following search parameters and search parameter combinations SHALL be supported.:

Name Type Description Conformance Path
identifier token Any identifier for the healthcare service (e.g. service code) SHALL HealthcareService.identifier
name string A portion of the HealthcareService's name MAY HealthcareService.name
service-type token The type of service provided by this healthcare service SHOULD HealthcareService.type
specialty token The specialty of the service provided by this healthcare service SHOULD HealthcareService.specialty

Additional parameters can be on HealthcareService - Search Parameters

Mandatory Search Parameters

identifier

SHALL support searching a HealthcareService by an identifier such as an service identifier using the identifier search parameter:

GET [base]/HealthcareService?identifier={system|}[code]

Example:

GET [base]/HealthcareService?identifier=http://fhir.nhs.net/Id/ers-service|11021


specialty

SHOULD support searching HealthcareService based on coded specialty using the specialty search parameter:

GET [base]/HealthcareService?specialty={system|}[code]

Example:

GET [base]/HealthcareService?specialty=https://fhir.nhs.uk/CodeSystem/NHSDataModelAndDictionary-clinical-specialty|320


service-type

SHOULD support searching HealthcareService based on coded service type using the service-type search parameter:

GET [base]/HealthcareService?service-type={system|}[code]

Example:

GET [base]/HealthcareService?service-type=https://fhir.nhs.uk/CodeSystem/eRS-ClinicType|LIPID_MANAGEMENT


Optional Search Parameters

name

SHOULD support searching by HealthcareService name using the name search parameter:

GET [base]/HealthcareService?name=[string]

Example:

GET [base]/HealthcareService?name=Health

Implementation Notes: Fetches a bundle of all HealthcareService resources that match the name (how to search by string)

address

SHOULD support searching HealthcareService based on text address using the address search parameter:

GET [base]/HealthcareService?address=[string]

Example:

GET [base]/HealthcareService?address=Arbor


back to top