An Organizations is a formally or informally recognized grouping of people or organizations formed for the purpose of achieving some form of collective action. Includes companies, institutions, corporations, departments, community groups, healthcare practice groups, etc.
In scope of the eHealth infrastructure Organizations are limited to represent organizations in the Danish healthcare system as defined by the national health organization registry, SOR, and the joint municipalities IT community Support System Organisation, STS-ORG.
From these sources Organizations are automatically imported into the eHealth infrastructure. It is not the intention that users of the infrastructure should create any other Organization resources.
For SSL supplier organizations not maintained by the SOR or STS-ORG registries, it is possible to manually create and maintain these organizations.
Organizations are imported into the eHealth infrastructure from SOR and STS-ORG. This means that organisations can have different identifiers depending on the source system. For some organisations (for instance SSL suppliers), organizations can use a business registration number (CVR number) as identifier.
Organizations created manually are not allowed to have identifiers of types SOR-ID or KOMBIT STS-ORG-ID.
SOR supplies a list of updates each night. These updates will be merged into the existing organisation resources in the database.
STS-ORG provides a number of webservices where the newest organisation data can be fetched.
Contact information can be edited/added both in the integration platform and in the source systems. To ensure that no information is lost during merge, each ContactPoint will be tagged with a custodian
element marking which system currently maintains it. When merging information from a given source, the ContactPoint elements with a different custodian
will not be affected.
It is possible to relate Organization resources to other Organization resources using the extension element relatedTo
.
The intention with this element is to relate Organizations to other Organizations imported from another source. For instance to relate Organizations imported from SOR to similar Organizations imported from STS-ORG.
Hierarchical relations between Organizations imported from the same source are expressed using the partOf
element.
Relations between Organizations which are expressed using the extension element relatedTo
have uni-directional semantics.
As an example this implies at that if two representations of the exact same Organization are imported from two different sources, then both could have a relatedTo
element with the other Organization as target, and a relation type of e.g. “sameAs”.
The official URL for this profile is:
http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-organization
This profile builds on Organization.
This profile was published on Tue Mar 31 08:26:16 UTC 2020 as a draft by ehealth.sundhed.dk.
Description of Profiles, Differentials, Snapshots, and how the XML and JSON presentations work.
Path | Conformance | ValueSet |
Organization.language | extensible | Common Languages Max Binding: All Languages |
Organization.type | required | OrganizationType |
Organization.telecom.system | required | ContactPointSystem |
Organization.telecom.use | required | ContactPointUse |
Organization.contact.purpose | extensible | ContactEntityType |
Organization.contact.telecom.use | required | ContactPointUse |
Id | Path | Details | Requirements |
dom-2 | Organization | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-1 | Organization | If the resource is contained in another resource, it SHALL NOT contain any narrative : contained.text.empty() | |
dom-4 | 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-3 | Organization | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource : contained.where(('#'+id in %resource.descendants().reference).not()).empty() | |
org-1 | Organization | The organization SHALL at least have a name or an id, and possibly more than one : (identifier.count() + name.count()) > 0 | |
ele-1 | Organization.extension:relatedTo | All FHIR elements must have a @value or children : hasValue() | (children().count() > id.count()) | |
ext-1 | Organization.extension:relatedTo | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Organization.extension:cvrNumber | All FHIR elements must have a @value or children : hasValue() | (children().count() > id.count()) | |
ext-1 | Organization.extension:cvrNumber | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Organization.extension:regionCode | All FHIR elements must have a @value or children : hasValue() | (children().count() > id.count()) | |
ext-1 | Organization.extension:regionCode | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Organization.extension:municipalityCode | All FHIR elements must have a @value or children : hasValue() | (children().count() > id.count()) | |
ext-1 | Organization.extension:municipalityCode | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Organization.extension:source | All FHIR elements must have a @value or children : hasValue() | (children().count() > id.count()) | |
ext-1 | Organization.extension:source | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Organization.extension:synchronizationStatus | All FHIR elements must have a @value or children : hasValue() | (children().count() > id.count()) | |
ext-1 | Organization.extension:synchronizationStatus | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Organization.extension:providerIdentifier | All FHIR elements must have a @value or children : hasValue() | (children().count() > id.count()) | |
ext-1 | Organization.extension:providerIdentifier | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Organization.extension:specialty | All FHIR elements must have a @value or children : hasValue() | (children().count() > id.count()) | |
ext-1 | Organization.extension:specialty | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
org-3 | Organization.telecom | The telecom of an organization can never be of use 'home' : where(use = 'home').empty() | |
org-2 | Organization.address | An address of an organization can never be of use 'home' : where(use = 'home').empty() | |
ele-1 | Organization.contact | All FHIR elements must have a @value or children : hasValue() | (children().count() > id.count()) |