Ontario Health eForms Implementation Guide
0.1.0 - ci-build CA-ON

Ontario Health eForms Implementation Guide - Local Development build (v0.1.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

Resource Profile: Organization Profile

Official URL: http://ontario.ca/fhir/eforms/StructureDefinition/EFormOrganization Version: 0.1.0
Active as of 2025-07-16 Computable Name: EFormsOrganization

Organization Profile for OH eForms, based on the R4 version.

The Organization can be referenced as a Form Initiator, a Form Owner or a Notificaiton Recipient

Search Parameters

Standard FHIR Search Parameters

This profile supports all standard Organization search parameters:

Name Type Description
active token Is the Organization record active
address string A server defined search that may match any of the string fields in the Address
address-city string A city specified in an address
address-country string A country specified in an address
address-postalcode string A postal code specified in an address
address-state string A state specified in an address
address-use token A use code specified in an address
endpoint reference Technical endpoints providing access to services operated for the organization
identifier token Any identifier for the organization
name string A portion of the organization's name or alias
partof reference An organization of which this organization forms a part
phonetic string A portion of the organization's name using some kind of phonetic matching algorithm
type token A code for the type of organization

Usage Examples

GET [base]/Organization?identifier=12345
GET [base]/Organization?name=Ontario Health
GET [base]/Organization?type=govt
GET [base]/Organization?active=true
GET [base]/Organization?address-city=Toronto
GET [base]/Organization?partof=Organization/ministry-health

Implementation Notes

eForms Organization Context

  • Represents healthcare facilities, departments, or administrative entities
  • May be referenced as the managing organization for patients
  • Can be the requester or performer in ServiceRequest workflows

Integration Requirements

  • Should include appropriate identifiers for system integration
  • Use type to classify different kinds of organizations (hospital, clinic, government)
  • Consider hierarchical relationships using partOf

Implementation Notes

eForms Organization Context

  • Organizations represent healthcare facilities, departments, or administrative entities
  • May be referenced as the managing organization for patients
  • Can be the requester or performer in ServiceRequest workflows
  • Should include appropriate identifiers for system integration
  • Use type to classify different kinds of organizations (hospital, clinic, government, etc.)

Usages:

  • This Profile is not used by any profiles in this Implementation Guide

Formal Views of Profile Content

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

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Organization C 0..* Organization A grouping of people or organizations with a common purpose
Constraints: org-1
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... active ?!Σ 0..1 boolean Whether the organization's record is still in active use

doco Documentation for this format

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

This structure is derived from Organization

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Organization 0..* Organization A grouping of people or organizations with a common purpose

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Organization C 0..* Organization A grouping of people or organizations with a common purpose
Constraints: org-1
... 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
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
... contained 0..* Resource Contained, inline Resources
... extension 0..* Extension Additional content defined by implementations
... 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 Σ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
Constraints: org-3
... address C 0..* Address An address for the organization
Constraints: org-2
... 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
http://hl7.org/fhir/ValueSet/languages
From the FHIR Standard
Additional Bindings Purpose
AllLanguages Max Binding
Organization.typeexampleOrganizationType
http://hl7.org/fhir/ValueSet/organization-type
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

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Organization C 0..* Organization A grouping of people or organizations with a common purpose
Constraints: org-1
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... active ?!Σ 0..1 boolean Whether the organization's record is still in active use

doco Documentation for this format

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

Differential View

This structure is derived from Organization

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Organization 0..* Organization A grouping of people or organizations with a common purpose

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Organization C 0..* Organization A grouping of people or organizations with a common purpose
Constraints: org-1
... 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
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
... contained 0..* Resource Contained, inline Resources
... extension 0..* Extension Additional content defined by implementations
... 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 Σ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
Constraints: org-3
... address C 0..* Address An address for the organization
Constraints: org-2
... 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
http://hl7.org/fhir/ValueSet/languages
From the FHIR Standard
Additional Bindings Purpose
AllLanguages Max Binding
Organization.typeexampleOrganizationType
http://hl7.org/fhir/ValueSet/organization-type
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

 

Other representations of profile: CSV, Excel, Schematron