Care Coordination and 360 Referrals (Proof of Concept)
0.1.0 - proof-of-concept United Kingdom flag

Care Coordination and 360 Referrals (Proof of Concept) - Local Development build (v0.1.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

Resource Profile: Organization

Official URL: https://fhir.acmeexample.org.uk/PatientCareCoordination/StructureDefinition/Organization Version: 0.1.0
Draft as of 2026-11-03 Computable Name: Organization

Care Directory HL7 Europe Core - Organization, identified by ODS code. Copied from the NW GMSA FHIR IG.

Master Record

Organisations are a central record: the Organisation Data Service (ODS), queried as an mCSD Directory - see Care Services Directory (mCSD) and Find Matching Care Services [ITI-90].

Element Master record NHS England API
identifier[odsOrganisationCode], name, address, active, type (ODS role) ODS Organisation Data Terminology FHIR API GET /Organization?identifier=; ORD API
partOf, affiliations (e.g. practice to ICB) ODS relationships Organisation Data Terminology GET /OrganizationAffiliation
Endpoints (where to send messages) Per transport: DoS, SDS (Spine), MESH, BaRS Endpoint Catalogue See mCSD - NHS England Services

Reference organisations by ODS code; a full Organization is only needed when it adds something the receiver cannot look up.

FDP Canonical Data Model

Equivalent FDP Canonical Data Model (CDM) v1.0.0 objects: Site.

Differences:

  • No CDM Organisation object. Organisations are ODS code strings on each object (referringOrganisationOdsCode, providerOrganisationOdsCode, trustOdsCode); Site has siteOdsCode.
  • No organisation hierarchy (partOf) other than the ICB / sub-ICB on GP Practice Registration.

The CDM is a downstream persistence model, used here as evidence of what NHS operations record, not as a design source. Mapping by property name - To confirm. See FDP Canonical Data Model Mapping for the full mapping.

Usages:

You can also check for usages in the FHIR IG Statistics

Formal Views of Profile Content

Description Differentials, Snapshots, and other representations.

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Organization C 0..* OrganizationEuCore A grouping of people or organizations with a common purpose
Constraints: org-1, name-or-identifier
Organization.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
Organization.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
Organization.Slices for identifier This element must be supported. This element is included in summaries. C 1..* CorrelationIdentifier Organization business identifier
Slice: Unordered, Open by value:system

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Organization.Slices for identifier.identifier:odsOrganisationCode This element must be supported. This element is included in summaries. C 0..1 OrganisationCode Organization business identifier
Organization.active This element is a modifier element. This element is included in summaries. 0..1 boolean Whether the organization's record is still in active use
Organization.name This element is included in summaries. C 1..1 string Name of the organization

doco Documentation for this format

Constraints

Id Grade Path(s) Description Expression
dom-2 error Organization If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Organization If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error Organization If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5 error Organization If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Organization A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()
name-or-identifier error Organization identifier or name SHALL be present identifier.exists() or name.exists()
org-1 error Organization The organization SHALL at least have a name or an identifier, and possibly more than one (identifier.count() + name.count()) > 0

This structure is derived from OrganizationEuCore

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Organization 0..* OrganizationEuCore A grouping of people or organizations with a common purpose
Organization.Slices for identifier This element must be supported. 1..* CorrelationIdentifier Organization business identifier
Slice: Unordered, Open by value:system
Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Organization.Slices for identifier.identifier:odsOrganisationCode This element must be supported. 0..1 OrganisationCode Organization business identifier
Organization.partOf
Organization.partOf.identifier 0..1 OrganisationCode Logical reference, when literal reference is not known

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraints    Filter: doco
Organization C 0..* OrganizationEuCore A grouping of people or organizations with a common purpose
Constraints: org-1, name-or-identifier
Organization.id This element is included in summaries. 0..1 id Logical id of this artifact
Organization.meta This element is included in summaries. 0..1 Meta Metadata about the resource
Organization.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
Organization.language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding
Organization.text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
Organization.contained 0..* Resource Contained, inline Resources
Organization.extension 0..* Extension Additional content defined by implementations
Organization.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
Organization.Slices for identifier This element must be supported. This element is included in summaries. C 1..* CorrelationIdentifier Organization business identifier
Slice: Unordered, Open by value:system

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Organization.Slices for identifier.identifier:odsOrganisationCode This element must be supported. This element is included in summaries. C 0..1 OrganisationCode Organization business identifier
Organization.active This element is a modifier element. This element is included in summaries. 0..1 boolean Whether the organization's record is still in active use
Organization.type This element is included in summaries. 0..* CodeableConcept Organization type
Binding: OrganizationType (example): Used to categorize the organization.
Organization.name This element is included in summaries. C 1..1 string Name of the organization
Organization.alias 0..* string A list of alternate names that the organization is known as, or was known as in the past
Organization.telecom C 0..* ContactPoint Organization telecom
Constraints: org-3
Organization.address C 0..* AddressEu The snapshot does not say whether the constraints on the root of this type profile have been applied to this element, so assume they have not. Check the type profile directly as well An address for the organization
Constraints: org-2
Organization.partOf This element is included in summaries. 0..1 Reference(Organization (EU core)) The organization of which this organization is part of: e.g. an ERN
Organization.partOf.id 0..1 string Unique id for inter-element referencing
Organization.partOf.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Organization.partOf.reference This element is included in summaries. C 0..1 string Literal reference, Relative, internal or absolute URL
Organization.partOf.type This element is included in summaries. 0..1 uri Type the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).
Organization.partOf.identifier This element is included in summaries. 0..1 OrganisationCode Logical reference, when literal reference is not known
Organization.partOf.display This element is included in summaries. 0..1 string Text alternative for the resource
Organization.contact 0..* BackboneElement Organization contact infos
Organization.contact.id 0..1 string Unique id for inter-element referencing
Organization.contact.extension 0..* Extension Additional content defined by implementations
Organization.contact.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Organization.contact.purpose 0..1 CodeableConcept The type of contact
Binding: ContactEntityType (extensible): The purpose for which you would contact a contact party.
Organization.contact.name 0..1 HumanName A name associated with the contact
Organization.contact.telecom 0..* ContactPoint Contact details (telephone, email, etc.) for a contact
Organization.contact.address 0..1 Address Visiting or postal addresses for the contact
Organization.endpoint 0..* Reference(Endpoint) Technical endpoints providing access to services operated for the organization

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Organization.language Base preferred Common Languages 📍4.0.1 FHIR Std.
Organization.type Base example Organization type 📍4.0.1 FHIR Std.
Organization.partOf.​type Base extensible ResourceType 📍4.0.1 FHIR Std.
Organization.contact.​purpose Base extensible Contact entity type 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
dom-2 error Organization If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Organization If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error Organization If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5 error Organization If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Organization A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()
name-or-identifier error Organization identifier or name SHALL be present identifier.exists() or name.exists()
org-1 error Organization The organization SHALL at least have a name or an identifier, and possibly more than one (identifier.count() + name.count()) > 0
org-2 error Organization.address An address of an organization can never be of use 'home' where(use = 'home').empty()
org-3 error Organization.telecom The telecom of an organization can never be of use 'home' where(use = 'home').empty()

This structure is derived from OrganizationEuCore

Summary

Mandatory: 1 element
Must-Support: 2 elements

Structures

This structure refers to these other structures:

Slices

This structure defines the following Slices:

  • The element 1 is sliced based on the value of Organization.identifier

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Organization C 0..* OrganizationEuCore A grouping of people or organizations with a common purpose
Constraints: org-1, name-or-identifier
Organization.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
Organization.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
Organization.Slices for identifier This element must be supported. This element is included in summaries. C 1..* CorrelationIdentifier Organization business identifier
Slice: Unordered, Open by value:system

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Organization.Slices for identifier.identifier:odsOrganisationCode This element must be supported. This element is included in summaries. C 0..1 OrganisationCode Organization business identifier
Organization.active This element is a modifier element. This element is included in summaries. 0..1 boolean Whether the organization's record is still in active use
Organization.name This element is included in summaries. C 1..1 string Name of the organization

doco Documentation for this format

Constraints

Id Grade Path(s) Description Expression
dom-2 error Organization If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Organization If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error Organization If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5 error Organization If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Organization A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()
name-or-identifier error Organization identifier or name SHALL be present identifier.exists() or name.exists()
org-1 error Organization The organization SHALL at least have a name or an identifier, and possibly more than one (identifier.count() + name.count()) > 0

Differential View

This structure is derived from OrganizationEuCore

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Organization 0..* OrganizationEuCore A grouping of people or organizations with a common purpose
Organization.Slices for identifier This element must be supported. 1..* CorrelationIdentifier Organization business identifier
Slice: Unordered, Open by value:system
Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Organization.Slices for identifier.identifier:odsOrganisationCode This element must be supported. 0..1 OrganisationCode Organization business identifier
Organization.partOf
Organization.partOf.identifier 0..1 OrganisationCode Logical reference, when literal reference is not known

doco Documentation for this format

Snapshot ViewView

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Organization C 0..* OrganizationEuCore A grouping of people or organizations with a common purpose
Constraints: org-1, name-or-identifier
Organization.id This element is included in summaries. 0..1 id Logical id of this artifact
Organization.meta This element is included in summaries. 0..1 Meta Metadata about the resource
Organization.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
Organization.language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding
Organization.text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
Organization.contained 0..* Resource Contained, inline Resources
Organization.extension 0..* Extension Additional content defined by implementations
Organization.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
Organization.Slices for identifier This element must be supported. This element is included in summaries. C 1..* CorrelationIdentifier Organization business identifier
Slice: Unordered, Open by value:system

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Organization.Slices for identifier.identifier:odsOrganisationCode This element must be supported. This element is included in summaries. C 0..1 OrganisationCode Organization business identifier
Organization.active This element is a modifier element. This element is included in summaries. 0..1 boolean Whether the organization's record is still in active use
Organization.type This element is included in summaries. 0..* CodeableConcept Organization type
Binding: OrganizationType (example): Used to categorize the organization.
Organization.name This element is included in summaries. C 1..1 string Name of the organization
Organization.alias 0..* string A list of alternate names that the organization is known as, or was known as in the past
Organization.telecom C 0..* ContactPoint Organization telecom
Constraints: org-3
Organization.address C 0..* AddressEu The snapshot does not say whether the constraints on the root of this type profile have been applied to this element, so assume they have not. Check the type profile directly as well An address for the organization
Constraints: org-2
Organization.partOf This element is included in summaries. 0..1 Reference(Organization (EU core)) The organization of which this organization is part of: e.g. an ERN
Organization.partOf.id 0..1 string Unique id for inter-element referencing
Organization.partOf.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Organization.partOf.reference This element is included in summaries. C 0..1 string Literal reference, Relative, internal or absolute URL
Organization.partOf.type This element is included in summaries. 0..1 uri Type the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).
Organization.partOf.identifier This element is included in summaries. 0..1 OrganisationCode Logical reference, when literal reference is not known
Organization.partOf.display This element is included in summaries. 0..1 string Text alternative for the resource
Organization.contact 0..* BackboneElement Organization contact infos
Organization.contact.id 0..1 string Unique id for inter-element referencing
Organization.contact.extension 0..* Extension Additional content defined by implementations
Organization.contact.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Organization.contact.purpose 0..1 CodeableConcept The type of contact
Binding: ContactEntityType (extensible): The purpose for which you would contact a contact party.
Organization.contact.name 0..1 HumanName A name associated with the contact
Organization.contact.telecom 0..* ContactPoint Contact details (telephone, email, etc.) for a contact
Organization.contact.address 0..1 Address Visiting or postal addresses for the contact
Organization.endpoint 0..* Reference(Endpoint) Technical endpoints providing access to services operated for the organization

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Organization.language Base preferred Common Languages 📍4.0.1 FHIR Std.
Organization.type Base example Organization type 📍4.0.1 FHIR Std.
Organization.partOf.​type Base extensible ResourceType 📍4.0.1 FHIR Std.
Organization.contact.​purpose Base extensible Contact entity type 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
dom-2 error Organization If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Organization If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error Organization If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5 error Organization If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Organization A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()
name-or-identifier error Organization identifier or name SHALL be present identifier.exists() or name.exists()
org-1 error Organization The organization SHALL at least have a name or an identifier, and possibly more than one (identifier.count() + name.count()) > 0
org-2 error Organization.address An address of an organization can never be of use 'home' where(use = 'home').empty()
org-3 error Organization.telecom The telecom of an organization can never be of use 'home' where(use = 'home').empty()

This structure is derived from OrganizationEuCore

Summary

Mandatory: 1 element
Must-Support: 2 elements

Structures

This structure refers to these other structures:

Slices

This structure defines the following Slices:

  • The element 1 is sliced based on the value of Organization.identifier

 

Other representations of profile: CSV, Excel, Schematron