Care Coordination and 360 Referrals (Proof of Concept)
0.1.0 - proof-of-concept
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
| 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.
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.
Equivalent FDP Canonical Data Model (CDM) v1.0.0 objects: Site.
Differences:
referringOrganisationOdsCode, providerOrganisationOdsCode, trustOdsCode); Site has siteOdsCode.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
Description Differentials, Snapshots, and other representations.
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() |
|---|---|---|---|---|
![]() |
C | 0..* | OrganizationEuCore | A grouping of people or organizations with a common purpose Constraints: org-1, name-or-identifier |
![]() ![]() |
0..1 | uri | A set of rules under which this content was created | |
![]() ![]() |
0..* | Extension | Extensions that cannot be ignored | |
![]() ![]() |
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 |
![]() ![]() ![]() |
C | 0..1 | OrganisationCode | Organization business identifier |
![]() ![]() |
0..1 | boolean | Whether the organization's record is still in active use | |
![]() ![]() |
C | 1..1 | string | Name of the organization |
Documentation for this format | ||||
| 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
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() |
|---|---|---|---|---|
![]() |
0..* | OrganizationEuCore | A grouping of people or organizations with a common purpose | |
![]() ![]() |
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 | |
![]() ![]() ![]() |
0..1 | OrganisationCode | Organization business identifier | |
![]() ![]() |
||||
![]() ![]() ![]() |
0..1 | OrganisationCode | Logical reference, when literal reference is not known | |
Documentation for this format | ||||
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() | ||||
|---|---|---|---|---|---|---|---|---|
![]() |
C | 0..* | OrganizationEuCore | A grouping of people or organizations with a common purpose Constraints: org-1, name-or-identifier | ||||
![]() ![]() |
0..1 | id | Logical id of this artifact | |||||
![]() ![]() |
0..1 | Meta | Metadata about the resource | |||||
![]() ![]() |
0..1 | uri | A set of rules under which this content was created | |||||
![]() ![]() |
0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
| |||||
![]() ![]() |
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 | |||||
![]() ![]() |
0..* | Resource | Contained, inline Resources | |||||
![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() |
0..* | Extension | Extensions that cannot be ignored | |||||
![]() ![]() |
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 | ||||
![]() ![]() ![]() |
C | 0..1 | OrganisationCode | Organization business identifier | ||||
![]() ![]() |
0..1 | boolean | Whether the organization's record is still in active use | |||||
![]() ![]() |
0..* | CodeableConcept | Organization type Binding: OrganizationType (example): Used to categorize the organization. | |||||
![]() ![]() |
C | 1..1 | string | Name of the organization | ||||
![]() ![]() |
0..* | string | A list of alternate names that the organization is known as, or was known as in the past | |||||
![]() ![]() |
C | 0..* | ContactPoint | Organization telecom Constraints: org-3 | ||||
![]() ![]() |
C | 0..* | AddressEu |
An address for the organization Constraints: org-2 | ||||
![]() ![]() |
0..1 | Reference(Organization (EU core)) | The organization of which this organization is part of: e.g. an ERN | |||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() |
C | 0..1 | string | Literal reference, Relative, internal or absolute URL | ||||
![]() ![]() ![]() |
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). | |||||
![]() ![]() ![]() |
0..1 | OrganisationCode | Logical reference, when literal reference is not known | |||||
![]() ![]() ![]() |
0..1 | string | Text alternative for the resource | |||||
![]() ![]() |
0..* | BackboneElement | Organization contact infos | |||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() |
0..* | Extension | Extensions that cannot be ignored even if unrecognized | |||||
![]() ![]() ![]() |
0..1 | CodeableConcept | The type of contact Binding: ContactEntityType (extensible): The purpose for which you would contact a contact party. | |||||
![]() ![]() ![]() |
0..1 | HumanName | A name associated with the contact | |||||
![]() ![]() ![]() |
0..* | ContactPoint | Contact details (telephone, email, etc.) for a contact | |||||
![]() ![]() ![]() |
0..1 | Address | Visiting or postal addresses for the contact | |||||
![]() ![]() |
0..* | Reference(Endpoint) | Technical endpoints providing access to services operated for the organization | |||||
Documentation for this format | ||||||||
| 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. |
| 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:
Key Elements View
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() |
|---|---|---|---|---|
![]() |
C | 0..* | OrganizationEuCore | A grouping of people or organizations with a common purpose Constraints: org-1, name-or-identifier |
![]() ![]() |
0..1 | uri | A set of rules under which this content was created | |
![]() ![]() |
0..* | Extension | Extensions that cannot be ignored | |
![]() ![]() |
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 |
![]() ![]() ![]() |
C | 0..1 | OrganisationCode | Organization business identifier |
![]() ![]() |
0..1 | boolean | Whether the organization's record is still in active use | |
![]() ![]() |
C | 1..1 | string | Name of the organization |
Documentation for this format | ||||
| 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
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() |
|---|---|---|---|---|
![]() |
0..* | OrganizationEuCore | A grouping of people or organizations with a common purpose | |
![]() ![]() |
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 | |
![]() ![]() ![]() |
0..1 | OrganisationCode | Organization business identifier | |
![]() ![]() |
||||
![]() ![]() ![]() |
0..1 | OrganisationCode | Logical reference, when literal reference is not known | |
Documentation for this format | ||||
Snapshot ViewView
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() | ||||
|---|---|---|---|---|---|---|---|---|
![]() |
C | 0..* | OrganizationEuCore | A grouping of people or organizations with a common purpose Constraints: org-1, name-or-identifier | ||||
![]() ![]() |
0..1 | id | Logical id of this artifact | |||||
![]() ![]() |
0..1 | Meta | Metadata about the resource | |||||
![]() ![]() |
0..1 | uri | A set of rules under which this content was created | |||||
![]() ![]() |
0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
| |||||
![]() ![]() |
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 | |||||
![]() ![]() |
0..* | Resource | Contained, inline Resources | |||||
![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() |
0..* | Extension | Extensions that cannot be ignored | |||||
![]() ![]() |
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 | ||||
![]() ![]() ![]() |
C | 0..1 | OrganisationCode | Organization business identifier | ||||
![]() ![]() |
0..1 | boolean | Whether the organization's record is still in active use | |||||
![]() ![]() |
0..* | CodeableConcept | Organization type Binding: OrganizationType (example): Used to categorize the organization. | |||||
![]() ![]() |
C | 1..1 | string | Name of the organization | ||||
![]() ![]() |
0..* | string | A list of alternate names that the organization is known as, or was known as in the past | |||||
![]() ![]() |
C | 0..* | ContactPoint | Organization telecom Constraints: org-3 | ||||
![]() ![]() |
C | 0..* | AddressEu |
An address for the organization Constraints: org-2 | ||||
![]() ![]() |
0..1 | Reference(Organization (EU core)) | The organization of which this organization is part of: e.g. an ERN | |||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() |
C | 0..1 | string | Literal reference, Relative, internal or absolute URL | ||||
![]() ![]() ![]() |
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). | |||||
![]() ![]() ![]() |
0..1 | OrganisationCode | Logical reference, when literal reference is not known | |||||
![]() ![]() ![]() |
0..1 | string | Text alternative for the resource | |||||
![]() ![]() |
0..* | BackboneElement | Organization contact infos | |||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() |
0..* | Extension | Extensions that cannot be ignored even if unrecognized | |||||
![]() ![]() ![]() |
0..1 | CodeableConcept | The type of contact Binding: ContactEntityType (extensible): The purpose for which you would contact a contact party. | |||||
![]() ![]() ![]() |
0..1 | HumanName | A name associated with the contact | |||||
![]() ![]() ![]() |
0..* | ContactPoint | Contact details (telephone, email, etc.) for a contact | |||||
![]() ![]() ![]() |
0..1 | Address | Visiting or postal addresses for the contact | |||||
![]() ![]() |
0..* | Reference(Endpoint) | Technical endpoints providing access to services operated for the organization | |||||
Documentation for this format | ||||||||
| 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. |
| 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:
Other representations of profile: CSV, Excel, Schematron