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-Organization

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

This profile is designed around Organisation Data Services and ODS should be used as the source of this data. From a technical perspective ODS data can be accessed in two ways:

This data can also be accessed via ODS Organisation/Practitioner Search

Not all Organisations in ODS are regarded as Organization in FHIR. This is especialy true for Prescribing Cost Centres, these will be regarded as NHSDigital-HealthcareService.

Note this FHIR R4 profile does not use extensions, the primary role in FHIR STU3 extension(ODSAPI-OrganizationRole-1) is now the type of the Organization. Secondary roles are not currently covered in this profile.

Conformance Rules



UK Core Organization

idΣ0..1string
metaΣ0..1Meta
implicitRulesΣ ?!0..1uri
language0..1codeBinding
text0..1Narrative
contained0..*Resource
mainLocationI0..*Extension(Reference())
id0..1string
extensionI0..0Extension
url1..1uriFixed Value
valuePeriodPeriod
relationshipsI0..1Extension(Complex)
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()
activeΣ ?!0..1boolean
id0..1string
activePeriodI0..*Extension(Complex)
organisationRoleI0..1Extension(Complex)
id0..1string
extensionI0..*Extension
systemΣ1..1uriFixed Value
versionΣ0..1string
codeΣ0..1code
displayΣ0..1string
userSelectedΣ0..1boolean
textΣ0..1string
nameS Σ I1..1string
alias0..*string
id0..1string
extensionI0..*Extension
systemΣ I0..1codeBinding
valueΣ1..1string
useΣ ?!0..1codeBinding
rankΣ0..1positiveInt
periodΣ I0..1Period
addressI0..*Address
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()
displayΣ I0..1string
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
purpose0..1CodeableConceptBinding
name0..1HumanName
telecomI0..*ContactPoint
address0..1Address
id0..1string
extensionI0..*Extension
referenceΣ I0..1string
typeΣ0..1uriBinding
id0..1string
extensionI0..*Extension
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ0..1uri
valueΣ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference()
displayΣ0..1string

from UK Core Organization

idΣ0..1string
metaΣ0..1Meta
implicitRulesΣ ?!0..1uri
language0..1codeBinding
text0..1Narrative
contained0..*Resource
mainLocationI0..*Extension(Reference())
id0..1string
extensionI0..0Extension
url1..1uriFixed Value
valuePeriodPeriod
relationshipsI0..1Extension(Complex)
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()
activeΣ ?!0..1boolean
id0..1string
activePeriodI0..*Extension(Complex)
organisationRoleI0..1Extension(Complex)
id0..1string
extensionI0..*Extension
systemΣ1..1uriFixed Value
versionΣ0..1string
codeΣ0..1code
displayΣ0..1string
userSelectedΣ0..1boolean
textΣ0..1string
nameS Σ I1..1string
alias0..*string
id0..1string
extensionI0..*Extension
systemΣ I0..1codeBinding
valueΣ1..1string
useΣ ?!0..1codeBinding
rankΣ0..1positiveInt
periodΣ I0..1Period
addressI0..*Address
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()
displayΣ I0..1string
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
purpose0..1CodeableConceptBinding
name0..1HumanName
telecomI0..*ContactPoint
address0..1Address
id0..1string
extensionI0..*Extension
referenceΣ I0..1string
typeΣ0..1uriBinding
id0..1string
extensionI0..*Extension
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ0..1uri
valueΣ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference()
displayΣ0..1string

keyhumanseverityexpression
nhsd-6partOf.display - a display name should be providedwarning(display.exists())



Must Support, Optional and Not Supported

Elements marked with a S MUST be supported by both producing and receiving systems. They should be populated if the data exists or the profile has made them mandatory.

The following elements SHOULD NOT are not expected to be supported by consuming or receiving systems.

  • alias

Elements that are neither marked as Must Support or listed as unsupported, are optional.


identifier

MUST contain an ANANA/ODS code.

 "identifier":  [
        {
            "use": "official",
            "system": "https://fhir.nhs.uk/Id/ods-organization-code",
            "value": "RR805"
        }
    ],

name

The ODS/SDS name of the Organisation


    "name": "NHS NIGHTINGALE HOSPITAL YORKSHIRE AND THE HUMBER"

type

The Organisation types MUST be present and comes from NHSOrganisationRole type will also include details on when these roles applied, the current status and a boolean to indicate the Organisations primary role. These extensions are for API's produced by NHS Digital one, the are not expected to be present in resources created by NHS providers or suppliers.


 "type":  [
        {
            "extension":  [
                {
                    "url": "https://fhir.nhs.uk/StructureDefinition/Extension-ODS-Organization-Role",
                    "extension":  [
                        {
                            "url": "primaryRole",
                            "valueBoolean": true
                        },
                        {
                            "url": "status",
                            "valueString": "Active"
                        }
                    ]
                },
                {
                    "url": "https://fhir.nhs.uk/StructureDefinition/Extension-ODS-Organization-Role-ActivePeriod",
                    "extension":  [
                        {
                            "url": "activePeriod",
                            "valuePeriod": {
                                "start": "2020-04-01"
                            }
                        },
                        {
                            "url": "dateType",
                            "valueString": "Operational"
                        }
                    ]
                }
            ],
            "coding":  [
                {
                    "system": "https://fhir.nhs.uk/CodeSystem/organisation-role",
                    "code": "198",
                    "display": "NHS TRUST SITE"
                }
            ]
        }
    ],

address and telecom

Contact phone numbers and address of the organisation.


    "telecom":  [
        {
            "system": "fax",
            "value": "0113 242 6496",
            "use": "work"
        },
        {
            "system": "phone",
            "value": "0113 243 3144",
            "use": "work"
        }
    ],
    "address":  [
        {
            "line":  [
                "KINGS ROAD"
            ],
            "city": "HARROGATE",
            "postalCode": "HG1 5LA",
            "country": "ENGLAND"
        }
    ],
    "partOf": {
        "reference": "https://directory.spineservices.nhs.uk/R4/Organization/RR805",
        "identifier": {
            "system": "https://fhir.nhs.uk/Id/ods-organization-code",
            "value": "RR8"
        }
    }

Search Parameters

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

Name Type Description Conformance Path
identifier token Any identifier for the organisation (e.g. ANANA/ODS code) SHALL Organization.identifier
name string A portion of the organization's name MAY Organization.name

Additional parameters can be on Organization - Search Parameters

Mandatory Search Parameters

identifier

SHALL support searching organisations by an identifier such as an ODS Code using the identifier search parameter:

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

Example:

GET [base]/Organization?identifier=https://fhir.nhs.uk/Id/ods-organization-code|RR8

Optional Search Parameters

name

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

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

Example:

GET [base]/Organization?name=Health

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

address

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

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

Example:

GET [base]/Organization?address=Arbor

FHIR STU3 to R4 Mapping

This profile is the HL7 FHIR R4 version of ODSAPI-Organization-1

The main change is the move of the extensions to Organization.type and the role code is no longer held in an extension.

STU3 Element R4 Element Notes
Organization.type - ODSAPI-OrganizationRecordClass-1 is no longer part of the model.
extension(role).extension(role) Organization.type Note the CodeSystem https://directory.spineservices.nhs.uk/STU3/CodeSystem/ODSAPI-OrganizationRole-1 is replaced by https://fhir.nhs.uk/CodeSystem/organisation-role, this is the same set of Organisation role codes
extension(role).extension(primaryRole).valueBoolean Organization.type.extension(organisationRole).extension(primaryRole).valueBoolean
extension(role).extension(status).valueString Organization.type.extension(organisationRole).extension(status).valueString
extension(activePeriod).valuePeriod Organization.type.extension(activePeriod).extension(activePeriod).valuePeriod
extension(activePeriod).extension(dateType).valueString Organization.type.extension(activePeriod).extension(dateType).valueString
back to top