Canadian Baseline
1.1.0 - CI Build Canada flag

Canadian Baseline, published by HL7 Canada - FHIR Implementation Work Group. This guide is not an authorized publication; it is the continuous build for version 1.1.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7-Canada/ca-baseline/ and changes regularly. See the Directory of published versions

Resource Profile: Organization Profile

Official URL: http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-organization Version: 1.1.0
Draft as of 2020-03-16 Computable Name: OrganizationProfile

Proposed constraints and extensions on the Organization resource

CA Baseline Organization Profile

This Organization profile sets minimum expectations for the Organization resource to record, search and fetch a formally or informally recognized grouping of people or organizations formed for the purpose of achieving some form of collective action.

This profile defines localization concepts for use in a Canadian context.

Mandatory Data Elements

All elements or attributes defined in FHIR have cardinality as part of their definition - a minimum number of required appearances and a maximum number.

Most elements in FHIR specification have a minimum cardinality of 0, which means that they may be missing from a resource when it is exchanged between systems.

In this Canadian Baseline Organization Profile all elements are optional, i.e., there is no element with a minimum cardinality of 1. However, some optional elements (e.g., identifier) have required components that MUST be present if that optional element is provided.

Must Support Data Elements

Some elements are labeled as MustSupport meaning that implementations that produce or consume resources SHALL provide "support" for the element in some meaningful way (see Must Support definition).

Following elements are marked as Must Support in the Canadian Organization profile to aid record matching in databases with many pediatric records.

Must Support elements:

  • an identifier
  • an organization name
  • contact detail (e.g. a telephone number or an email address)

Usage:

Formal Views of Profile Content

Description of Profiles, Differentials, Snapshots and how the different presentations work.

This structure is derived from Organization

NameFlagsCard.TypeDescription & Constraintsdoco
.. Organization 0..* Organization A grouping of people or organizations with a common purpose
... Slices for extension Content/Rules for all slices
.... communication 0..* CodeableConcept Languages used to provide services
URL: http://hl7.org/fhir/ca/baseline/StructureDefinition/ext-servicelanguage
Binding: CommonLanguages (preferred): Common Languages

... name S 0..1 string Name used for the organization
... address 0..* Address An address for the organization
.... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
..... preferred 0..1 boolean HL7 Preferred Address Flag extension
URL: http://hl7.org/fhir/StructureDefinition/iso21090-preferred

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. Organization C 0..* Organization A grouping of people or organizations with a common purpose
org-1: The organization SHALL at least have a name or an identifier, and possibly more than one
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... Slices for extension Content/Rules for all slices
.... communication 0..* CodeableConcept Languages used to provide services
URL: http://hl7.org/fhir/ca/baseline/StructureDefinition/ext-servicelanguage
Binding: CommonLanguages (preferred): Common Languages


... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... name SΣC 0..1 string Name used for the organization
... address C 0..* Address An address for the organization
org-2: An address of an organization can never be of use 'home'
.... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
..... preferred 0..1 boolean HL7 Preferred Address Flag extension
URL: http://hl7.org/fhir/StructureDefinition/iso21090-preferred
.... use ?!Σ 0..1 code home | work | temp | old | billing - purpose of this address
Binding: AddressUse (required): The use of an address.


Example General: home

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Organization.address.userequiredAddressUse
http://hl7.org/fhir/ValueSet/address-use|4.0.1
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorOrganizationIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorOrganizationIf 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-4errorOrganizationIf 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-5errorOrganizationIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceOrganizationA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
org-1errorOrganizationThe organization SHALL at least have a name or an identifier, and possibly more than one
: (identifier.count() + name.count()) > 0
org-2errorOrganization.addressAn address of an organization can never be of use 'home'
: where(use = 'home').empty()
NameFlagsCard.TypeDescription & Constraintsdoco
.. Organization C 0..* Organization A grouping of people or organizations with a common purpose
org-1: The organization SHALL at least have a name or an identifier, and possibly more than one
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... text 0..1 Narrative Text summary of the resource, for human interpretation
... contained 0..* Resource Contained, inline Resources
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... communication 0..* CodeableConcept Languages used to provide services
URL: http://hl7.org/fhir/ca/baseline/StructureDefinition/ext-servicelanguage
Binding: CommonLanguages (preferred): Common Languages


... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier ΣC 0..* Identifier Identifies this organization across multiple systems
... active ?!Σ 0..1 boolean Whether the organization's record is still in active use
... type Σ 0..* CodeableConcept Kind of organization
Binding: OrganizationType (example): Used to categorize the organization.


... name SΣC 0..1 string Name used for the organization
... alias 0..* string A list of alternate names that the organization is known as, or was known as in the past
... telecom C 0..* ContactPoint A contact detail for the organization
org-3: The telecom of an organization can never be of use 'home'
... address C 0..* Address An address for the organization
org-2: An address of an organization can never be of use 'home'
.... id 0..1 string Unique id for inter-element referencing
.... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
..... preferred 0..1 boolean HL7 Preferred Address Flag extension
URL: http://hl7.org/fhir/StructureDefinition/iso21090-preferred
.... use ?!Σ 0..1 code home | work | temp | old | billing - purpose of this address
Binding: AddressUse (required): The use of an address.


Example General: home
.... type Σ 0..1 code postal | physical | both
Binding: AddressType (required): The type of an address (physical / postal).


Example General: both
.... text Σ 0..1 string Text representation of the address
Example General: 137 Nowhere Street, Erewhon 9132
.... line Σ 0..* string Street name, number, direction & P.O. Box etc.
This repeating element order: The order in which lines should appear in an address label
Example General: 137 Nowhere Street
.... city Σ 0..1 string Name of city, town etc.
Example General: Erewhon
.... district Σ 0..1 string District name (aka county)
Example General: Madison
.... state Σ 0..1 string Sub-unit of country (abbreviations ok)
.... postalCode Σ 0..1 string Postal code for area
Example General: 9132
.... country Σ 0..1 string Country (e.g. can be ISO 3166 2 or 3 letter code)
.... period Σ 0..1 Period Time period when address was/is in use
Example General: {"start":"2010-03-23","end":"2010-07-01"}
... partOf Σ 0..1 Reference(Organization) The organization of which this organization forms a part
... contact 0..* BackboneElement Contact for the organization for a certain purpose
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... purpose 0..1 CodeableConcept The type of contact
Binding: ContactEntityType (extensible): The purpose for which you would contact a contact party.

.... name 0..1 HumanName A name associated with the contact
.... telecom 0..* ContactPoint Contact details (telephone, email, etc.) for a contact
.... address 0..1 Address Visiting or postal addresses for the contact
... endpoint 0..* Reference(Endpoint) Technical endpoints providing access to services operated for the organization

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Organization.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
Organization.typeexampleOrganizationType
http://hl7.org/fhir/ValueSet/organization-type
from the FHIR Standard
Organization.address.userequiredAddressUse
http://hl7.org/fhir/ValueSet/address-use|4.0.1
from the FHIR Standard
Organization.address.typerequiredAddressType
http://hl7.org/fhir/ValueSet/address-type|4.0.1
from the FHIR Standard
Organization.contact.purposeextensibleContactEntityType
http://hl7.org/fhir/ValueSet/contactentity-type
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorOrganizationIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorOrganizationIf 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-4errorOrganizationIf 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-5errorOrganizationIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceOrganizationA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
org-1errorOrganizationThe organization SHALL at least have a name or an identifier, and possibly more than one
: (identifier.count() + name.count()) > 0
org-2errorOrganization.addressAn address of an organization can never be of use 'home'
: where(use = 'home').empty()
org-3errorOrganization.telecomThe telecom of an organization can never be of use 'home'
: where(use = 'home').empty()

This structure is derived from Organization

Differential View

This structure is derived from Organization

NameFlagsCard.TypeDescription & Constraintsdoco
.. Organization 0..* Organization A grouping of people or organizations with a common purpose
... Slices for extension Content/Rules for all slices
.... communication 0..* CodeableConcept Languages used to provide services
URL: http://hl7.org/fhir/ca/baseline/StructureDefinition/ext-servicelanguage
Binding: CommonLanguages (preferred): Common Languages

... name S 0..1 string Name used for the organization
... address 0..* Address An address for the organization
.... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
..... preferred 0..1 boolean HL7 Preferred Address Flag extension
URL: http://hl7.org/fhir/StructureDefinition/iso21090-preferred

doco Documentation for this format

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Organization C 0..* Organization A grouping of people or organizations with a common purpose
org-1: The organization SHALL at least have a name or an identifier, and possibly more than one
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... Slices for extension Content/Rules for all slices
.... communication 0..* CodeableConcept Languages used to provide services
URL: http://hl7.org/fhir/ca/baseline/StructureDefinition/ext-servicelanguage
Binding: CommonLanguages (preferred): Common Languages


... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... name SΣC 0..1 string Name used for the organization
... address C 0..* Address An address for the organization
org-2: An address of an organization can never be of use 'home'
.... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
..... preferred 0..1 boolean HL7 Preferred Address Flag extension
URL: http://hl7.org/fhir/StructureDefinition/iso21090-preferred
.... use ?!Σ 0..1 code home | work | temp | old | billing - purpose of this address
Binding: AddressUse (required): The use of an address.


Example General: home

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Organization.address.userequiredAddressUse
http://hl7.org/fhir/ValueSet/address-use|4.0.1
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorOrganizationIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorOrganizationIf 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-4errorOrganizationIf 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-5errorOrganizationIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceOrganizationA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
org-1errorOrganizationThe organization SHALL at least have a name or an identifier, and possibly more than one
: (identifier.count() + name.count()) > 0
org-2errorOrganization.addressAn address of an organization can never be of use 'home'
: where(use = 'home').empty()

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Organization C 0..* Organization A grouping of people or organizations with a common purpose
org-1: The organization SHALL at least have a name or an identifier, and possibly more than one
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... text 0..1 Narrative Text summary of the resource, for human interpretation
... contained 0..* Resource Contained, inline Resources
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... communication 0..* CodeableConcept Languages used to provide services
URL: http://hl7.org/fhir/ca/baseline/StructureDefinition/ext-servicelanguage
Binding: CommonLanguages (preferred): Common Languages


... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier ΣC 0..* Identifier Identifies this organization across multiple systems
... active ?!Σ 0..1 boolean Whether the organization's record is still in active use
... type Σ 0..* CodeableConcept Kind of organization
Binding: OrganizationType (example): Used to categorize the organization.


... name SΣC 0..1 string Name used for the organization
... alias 0..* string A list of alternate names that the organization is known as, or was known as in the past
... telecom C 0..* ContactPoint A contact detail for the organization
org-3: The telecom of an organization can never be of use 'home'
... address C 0..* Address An address for the organization
org-2: An address of an organization can never be of use 'home'
.... id 0..1 string Unique id for inter-element referencing
.... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
..... preferred 0..1 boolean HL7 Preferred Address Flag extension
URL: http://hl7.org/fhir/StructureDefinition/iso21090-preferred
.... use ?!Σ 0..1 code home | work | temp | old | billing - purpose of this address
Binding: AddressUse (required): The use of an address.


Example General: home
.... type Σ 0..1 code postal | physical | both
Binding: AddressType (required): The type of an address (physical / postal).


Example General: both
.... text Σ 0..1 string Text representation of the address
Example General: 137 Nowhere Street, Erewhon 9132
.... line Σ 0..* string Street name, number, direction & P.O. Box etc.
This repeating element order: The order in which lines should appear in an address label
Example General: 137 Nowhere Street
.... city Σ 0..1 string Name of city, town etc.
Example General: Erewhon
.... district Σ 0..1 string District name (aka county)
Example General: Madison
.... state Σ 0..1 string Sub-unit of country (abbreviations ok)
.... postalCode Σ 0..1 string Postal code for area
Example General: 9132
.... country Σ 0..1 string Country (e.g. can be ISO 3166 2 or 3 letter code)
.... period Σ 0..1 Period Time period when address was/is in use
Example General: {"start":"2010-03-23","end":"2010-07-01"}
... partOf Σ 0..1 Reference(Organization) The organization of which this organization forms a part
... contact 0..* BackboneElement Contact for the organization for a certain purpose
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... purpose 0..1 CodeableConcept The type of contact
Binding: ContactEntityType (extensible): The purpose for which you would contact a contact party.

.... name 0..1 HumanName A name associated with the contact
.... telecom 0..* ContactPoint Contact details (telephone, email, etc.) for a contact
.... address 0..1 Address Visiting or postal addresses for the contact
... endpoint 0..* Reference(Endpoint) Technical endpoints providing access to services operated for the organization

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Organization.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
Organization.typeexampleOrganizationType
http://hl7.org/fhir/ValueSet/organization-type
from the FHIR Standard
Organization.address.userequiredAddressUse
http://hl7.org/fhir/ValueSet/address-use|4.0.1
from the FHIR Standard
Organization.address.typerequiredAddressType
http://hl7.org/fhir/ValueSet/address-type|4.0.1
from the FHIR Standard
Organization.contact.purposeextensibleContactEntityType
http://hl7.org/fhir/ValueSet/contactentity-type
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorOrganizationIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorOrganizationIf 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-4errorOrganizationIf 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-5errorOrganizationIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceOrganizationA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
org-1errorOrganizationThe organization SHALL at least have a name or an identifier, and possibly more than one
: (identifier.count() + name.count()) > 0
org-2errorOrganization.addressAn address of an organization can never be of use 'home'
: where(use = 'home').empty()
org-3errorOrganization.telecomThe telecom of an organization can never be of use 'home'
: where(use = 'home').empty()

This structure is derived from Organization

Summary

Must-Support: 1 element

Extensions

This structure refers to these extensions:

 

Other representations of profile: CSV, Excel, Schematron

Notes:

Identifiers

Currently, there is no consensus or requirement for pan-Canadian method to identify an organization using a business identifier. Organization.identifier will remain unsliced until a requirement or rationale is put forth that supports the need to have unique constraints determined by the business identifier.

Service Language

The Organization MAY have a Service Language extension. This extension is to identify languages that that services are provided in this particular organization.

Address

The Organization profile is provided for use in a Canadian context where some constraint on content is desirable to guarantee the quality of the Canadian address whilst still supporting other type of address (e.g., other countries or UNstructured addresses).

Canadian postal code

If an address in the Organization resource instance represents Canadian address, it SHOULD follow Canadian postal code format.

The Canadian Postal Code SHOULD be a six-character uniformly structured uppercase alphanumeric code in the form of "ANA NAN", where "A" represents an alphabetic character and "N" represents a numeric character, with one space between the first three and the last three characters.

A hyphen SHOULD NOT be used (example of UNacceptable format: T0L-1K0).

Preferred

The Organization.address MAY have a Preferred extension. This is the FHIR standard defined extension used as a flag denoting whether parent address item is preferred.