Canadian Baseline
1.2.0 - CI Build

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.2.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: Encounter Profile

Official URL: http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-encounter | Version: 1.2.0
Draft as of 2024-08-09 | Computable Name: EncounterProfile

Proposed constraints and extensions on the Encounter Resource

# CA Baseline Encounter Profile

This profile sets minimum expectations for the Encounter resource to represent various observations if no other, more specific profile is applicable.

This Encounter profile represents an interaction between a patient and healthcare provider(s) for the purpose of providing healthcare service(s) or assessing the health status of a patient, or to communicate information on a visit-specific basis.

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

## Mandatory Data Elements

All elements or attributes within the FHIR specification have cardinality as part of their definition - a minimum number of required appearances and a maximum number of allowable appearances.

Most elements in the FHIR specification have a minimum cardinality of 0, so most elements are not required and subsequently they may be missing from a resource when it is exchanged between systems.

Required elements in the Encounter profile:

- state of the encounter (Encounter.status)
- classification of the encounter (Encounter.class)
- subject of the encounter (Encounter.subject)

## Must Support Data Elements

Some elements are marked as Must Support. This means that implementations generating, receiving, or otherwise using resources with Must Support elements SHALL provide support for those elements in some meaningful way (see Must Support definition).

The following elements are marked as Must Support in the Encounter profile:

Must Support elements:

- identifier
- state of the encounter (Encounter.status)
- classification of the encounter (Encounter.class)
- reference to a subject (Encounter.subject)
- responsible providers (Encounter.participant)
- reasons (Encounter.reasonCode)
- diagnosis relevant to the encounter (Encounter.diagnosis)
- diagnosis rank
- admission details (Encounter.hospitalization)

## Usage Note

It is anticipated that many systems only need the current information of the encounter and therefore the Encounter resource represents the most recent information.

Systems that need to track historical information about the encounter should be able to do that by increasing complexity of the Encounter resource instance.

Usages:

- Refer to this Profile: AllergyIntolerance Profile, Condition Profile, DiagnosticReport Profile for Laboratory Results Reporting, Diagnostic Report for Report and Note Exchange Profile... Show 9 more, DocumentReference Profile for metadata about the document, Encounter Profile, Immunization Profile, MedicationAdministration Profile, MedicationDispense Profile, MedicationRequest Profile, MedicationStatement Profile, Procedure Profile and ServiceRequest Profile for Results Reporting

You can also check for usages in the FHIR IG Statistics

### Formal Views of Profile Content

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

- Key Elements Table
- Differential Table
- Snapshot Table
- Statistics/References
- All

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Encounter |  | 0..* | Encounter | Encounter Profile
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
identifier | S Σ | 0..* | Identifier | Identifier(s) by which this encounter is known
status | ?!S Σ | 1..1 | code | planned | arrived | triaged | in-progress | onleave | finished | cancelled + Binding: EncounterStatus (required): Current state of the encounter.
class | S Σ | 1..1 | Coding | Classification of patient encounter Binding: ActEncounterCode (extensible): Classification of the encounter.
type | S Σ | 0..* | CodeableConcept | Specific type of encounter Binding: Encounter Type (preferred): Valueset to describe the Encounter Type
subject | S Σ | 1..1 | Reference(Patient Profile) | The patient present at the encounter
participant | S Σ | 0..* | BackboneElement | A list of Practitioners participating in the encounter
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
individual | Σ | 0..1 | Reference(Practitioner Profile (General) | PractitionerRole Profile (General)) | Persons involved in the encounter other than the patient
reasonCode | S Σ | 0..* | CodeableConcept | Coded reason the encounter takes place Binding: EncounterReasonCodes (preferred): Reason why the encounter takes place.
reasonReference | Σ | 0..* | Reference(Condition Profile | Procedure Profile | Observation Profile (General Use) | ImmunizationRecommendation Profile) | Reason the encounter takes place (reference)
diagnosis | S Σ | 0..* | BackboneElement | The list of diagnosis relevant to this encounter
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
condition | Σ | 1..1 | Reference(Condition Profile | Procedure Profile) | The diagnosis or procedure relevant to the encounter
rank | S | 0..1 | positiveInt | Ranking of the diagnosis (for each role type)
hospitalization | S | 0..1 | BackboneElement | Details about the admission to a healthcare service
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
origin |  | 0..1 | Reference(Location Profile | Organization Profile) | The location/organization from which the patient came before admission
destination |  | 0..1 | Reference(Location Profile | Organization Profile) | Location/organization to which the patient is discharged
dischargeDisposition |  | 0..1 | CodeableConcept | Category or kind of location after discharge Binding: EncounterDischargeDisposition (preferred): Discharge Disposition.
serviceProvider |  | 0..1 | Reference(Organization Profile) | The organization (facility) responsible for this encounter
partOf |  | 0..1 | Reference(Encounter Profile) | Another Encounter this encounter is part of
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
Encounter.status | Base | required | EncounterStatus | 📍4.0.1 | FHIR Std.
Encounter.class | Base | extensible | ActEncounterCode | 📦3.0.0 | THO v6.5
Encounter.type | Base | preferred | Encounter Type | 📦1.2.0 | This IG
Encounter.reasonCode | Base | preferred | Encounter Reason Codes | 📍4.0.1 | FHIR Std.
Encounter.hospitalization.​dischargeDisposition | Base | preferred | EncounterDischargeDisposition | ⏿1.0.0 | terminologystandardsservice.ca

#### Constraints

Id | Grade | Path(s) | Description | Expression
dom-2 | error | Encounter | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | Encounter | 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 | Encounter | 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 | Encounter | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | Encounter | 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()`

This structure is derived from Encounter

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Encounter |  | 0..* | Encounter | Encounter Profile
identifier | S | 0..* | Identifier | Identifier(s) by which this encounter is known
status | S | 1..1 | code | planned | arrived | triaged | in-progress | onleave | finished | cancelled +
class | S | 1..1 | Coding | Classification of patient encounter
type | S | 0..* | CodeableConcept | Specific type of encounter Binding: Encounter Type (preferred): Valueset to describe the Encounter Type
subject | S | 1..1 | Reference(Patient Profile) | The patient present at the encounter
participant | S | 0..* | BackboneElement | A list of Practitioners participating in the encounter
individual |  | 0..1 | Reference(Practitioner Profile (General) | PractitionerRole Profile (General)) | Persons involved in the encounter other than the patient
reasonCode | S | 0..* | CodeableConcept | Coded reason the encounter takes place
reasonReference |  | 0..* | Reference(Condition Profile | Procedure Profile | Observation Profile (General Use) | ImmunizationRecommendation Profile) | Reason the encounter takes place (reference)
diagnosis | S | 0..* | BackboneElement | The list of diagnosis relevant to this encounter
condition |  | 1..1 | Reference(Condition Profile | Procedure Profile) | The diagnosis or procedure relevant to the encounter
rank | S | 0..1 | positiveInt | Ranking of the diagnosis (for each role type)
hospitalization | S | 0..1 | BackboneElement | Details about the admission to a healthcare service
origin |  | 0..1 | Reference(Location Profile | Organization Profile) | The location/organization from which the patient came before admission
destination |  | 0..1 | Reference(Location Profile | Organization Profile) | Location/organization to which the patient is discharged
dischargeDisposition |  | 0..1 | CodeableConcept | Category or kind of location after discharge Binding: EncounterDischargeDisposition (preferred): Discharge Disposition.
location |  |  |  |
location |  | 1..1 | Reference(Location Profile) | Location the encounter takes place
serviceProvider |  | 0..1 | Reference(Organization Profile) | The organization (facility) responsible for this encounter
partOf |  | 0..1 | Reference(Encounter Profile) | Another Encounter this encounter is part of
Documentation for this format

#### Terminology Bindings (Differential)

Path | Status | Usage | ValueSet | Version | Source
Encounter.type | Base | preferred | Encounter Type | 📦1.2.0 | This IG
Encounter.hospitalization.​dischargeDisposition | Base | preferred | EncounterDischargeDisposition | ⏿1.0.0 | terminologystandardsservice.ca

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Encounter |  | 0..* | Encounter | Encounter Profile
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
language |  | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
Additional Bindings | Purpose
AllLanguages | Max Binding
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 | S Σ | 0..* | Identifier | Identifier(s) by which this encounter is known
status | ?!S Σ | 1..1 | code | planned | arrived | triaged | in-progress | onleave | finished | cancelled + Binding: EncounterStatus (required): Current state of the encounter.
statusHistory |  | 0..* | BackboneElement | List of past encounter statuses
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
status |  | 1..1 | code | planned | arrived | triaged | in-progress | onleave | finished | cancelled + Binding: EncounterStatus (required): Current state of the encounter.
period |  | 1..1 | Period | The time that the episode was in the specified status
class | S Σ | 1..1 | Coding | Classification of patient encounter Binding: ActEncounterCode (extensible): Classification of the encounter.
classHistory |  | 0..* | BackboneElement | List of past encounter classes
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
class |  | 1..1 | Coding | inpatient | outpatient | ambulatory | emergency + Binding: ActEncounterCode (extensible): Classification of the encounter.
period |  | 1..1 | Period | The time that the episode was in the specified class
type | S Σ | 0..* | CodeableConcept | Specific type of encounter Binding: Encounter Type (preferred): Valueset to describe the Encounter Type
serviceType | Σ | 0..1 | CodeableConcept | Specific type of service Binding: ServiceType (example): Broad categorization of the service that is to be provided.
priority |  | 0..1 | CodeableConcept | Indicates the urgency of the encounter Binding: ActPriority (example): Indicates the urgency of the encounter.
subject | S Σ | 1..1 | Reference(Patient Profile) | The patient present at the encounter
episodeOfCare | Σ | 0..* | Reference(EpisodeOfCare) | Episode(s) of care that this encounter should be recorded against
basedOn |  | 0..* | Reference(ServiceRequest) | The ServiceRequest that initiated this encounter
participant | S Σ | 0..* | BackboneElement | A list of Practitioners participating in the encounter
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
type | Σ | 0..* | CodeableConcept | Role of participant in encounter Binding: ParticipantType (extensible): Role of participant in encounter.
period |  | 0..1 | Period | Period of time during the encounter that the participant participated
individual | Σ | 0..1 | Reference(Practitioner Profile (General) | PractitionerRole Profile (General)) | Persons involved in the encounter other than the patient
appointment | Σ | 0..* | Reference(Appointment) | The appointment that scheduled this encounter
period |  | 0..1 | Period | The start and end time of the encounter
length |  | 0..1 | Duration | Quantity of time the encounter lasted (less time absent)
reasonCode | S Σ | 0..* | CodeableConcept | Coded reason the encounter takes place Binding: EncounterReasonCodes (preferred): Reason why the encounter takes place.
reasonReference | Σ | 0..* | Reference(Condition Profile | Procedure Profile | Observation Profile (General Use) | ImmunizationRecommendation Profile) | Reason the encounter takes place (reference)
diagnosis | S Σ | 0..* | BackboneElement | The list of diagnosis relevant to this encounter
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
condition | Σ | 1..1 | Reference(Condition Profile | Procedure Profile) | The diagnosis or procedure relevant to the encounter
use |  | 0..1 | CodeableConcept | Role that this diagnosis has within the encounter (e.g. admission, billing, discharge …) Binding: DiagnosisRole (preferred): The type of diagnosis this condition represents.
rank | S | 0..1 | positiveInt | Ranking of the diagnosis (for each role type)
account |  | 0..* | Reference(Account) | The set of accounts that may be used for billing for this Encounter
hospitalization | S | 0..1 | BackboneElement | Details about the admission to a healthcare service
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
preAdmissionIdentifier |  | 0..1 | Identifier | Pre-admission identifier
origin |  | 0..1 | Reference(Location Profile | Organization Profile) | The location/organization from which the patient came before admission
admitSource |  | 0..1 | CodeableConcept | From where patient was admitted (physician referral, transfer) Binding: AdmitSource (preferred): From where the patient was admitted.
reAdmission |  | 0..1 | CodeableConcept | The type of hospital re-admission that has occurred (if any). If the value is absent, then this is not identified as a readmission Binding: hl7VS-re-admissionIndicator (example): The reason for re-admission of this hospitalization encounter.
dietPreference |  | 0..* | CodeableConcept | Diet preferences reported by the patient Binding: Diet (example): Medical, cultural or ethical food preferences to help with catering requirements.
specialCourtesy |  | 0..* | CodeableConcept | Special courtesies (VIP, board member) Binding: SpecialCourtesy (preferred): Special courtesies.
specialArrangement |  | 0..* | CodeableConcept | Wheelchair, translator, stretcher, etc. Binding: SpecialArrangements (preferred): Special arrangements.
destination |  | 0..1 | Reference(Location Profile | Organization Profile) | Location/organization to which the patient is discharged
dischargeDisposition |  | 0..1 | CodeableConcept | Category or kind of location after discharge Binding: EncounterDischargeDisposition (preferred): Discharge Disposition.
location |  | 0..* | BackboneElement | List of locations where the patient has been
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
location |  | 1..1 | Reference(Location Profile) | Location the encounter takes place
status |  | 0..1 | code | planned | active | reserved | completed Binding: EncounterLocationStatus (required): The status of the location.
physicalType |  | 0..1 | CodeableConcept | The physical type of the location (usually the level in the location hierachy - bed room ward etc.) Binding: LocationType (example): Physical form of the location.
period |  | 0..1 | Period | Time period during which the patient was present at the location
serviceProvider |  | 0..1 | Reference(Organization Profile) | The organization (facility) responsible for this encounter
partOf |  | 0..1 | Reference(Encounter Profile) | Another Encounter this encounter is part of
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
Encounter.language | Base | preferred | Common Languages | 📍4.0.1 | FHIR Std.
Encounter.status | Base | required | EncounterStatus | 📍4.0.1 | FHIR Std.
Encounter.statusHistory.​status | Base | required | EncounterStatus | 📍4.0.1 | FHIR Std.
Encounter.class | Base | extensible | ActEncounterCode | 📦3.0.0 | THO v6.5
Encounter.classHistory.​class | Base | extensible | ActEncounterCode | 📦3.0.0 | THO v6.5
Encounter.type | Base | preferred | Encounter Type | 📦1.2.0 | This IG
Encounter.serviceType | Base | example | Service type | 📍4.0.1 | FHIR Std.
Encounter.priority | Base | example | ActPriority | 📦3.0.0 | THO v6.5
Encounter.participant.​type | Base | extensible | Participant type | 📍4.0.1 | FHIR Std.
Encounter.reasonCode | Base | preferred | Encounter Reason Codes | 📍4.0.1 | FHIR Std.
Encounter.diagnosis.​use | Base | preferred | DiagnosisRole | 📍4.0.1 | FHIR Std.
Encounter.hospitalization.​admitSource | Base | preferred | Admit source | 📍4.0.1 | FHIR Std.
Encounter.hospitalization.​reAdmission | Base | example | hl7VS-re-admissionIndicator | 📦2.0.0 | THO v6.5
Encounter.hospitalization.​dietPreference | Base | example | Diet | 📍4.0.1 | FHIR Std.
Encounter.hospitalization.​specialCourtesy | Base | preferred | Special courtesy | 📍4.0.1 | FHIR Std.
Encounter.hospitalization.​specialArrangement | Base | preferred | Special arrangements | 📍4.0.1 | FHIR Std.
Encounter.hospitalization.​dischargeDisposition | Base | preferred | EncounterDischargeDisposition | ⏿1.0.0 | terminologystandardsservice.ca
Encounter.location.status | Base | required | EncounterLocationStatus | 📍4.0.1 | FHIR Std.
Encounter.location.physicalType | Base | example | Location type | 📍4.0.1 | FHIR Std.

#### Constraints

Id | Grade | Path(s) | Description | Expression
dom-2 | error | Encounter | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | Encounter | 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 | Encounter | 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 | Encounter | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | Encounter | 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()`

This structure is derived from Encounter

Summary

Mandatory: 1 element
Must-Support: 10 elements

Structures

This structure refers to these other structures:

- Patient Profile (http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-patient)
- Practitioner Profile (General) (http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-practitioner)
- PractitionerRole Profile (General) (http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-practitionerrole)
- Condition Profile (http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-condition)
- Procedure Profile (http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-procedure)
- Observation Profile (General Use) (http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-observation)
- ImmunizationRecommendation Profile (http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-immunizationrecommendation)
- Location Profile (http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-location)
- Organization Profile (http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-organization)
- Encounter Profile (http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-encounter)

Key Elements View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Encounter |  | 0..* | Encounter | Encounter Profile
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
identifier | S Σ | 0..* | Identifier | Identifier(s) by which this encounter is known
status | ?!S Σ | 1..1 | code | planned | arrived | triaged | in-progress | onleave | finished | cancelled + Binding: EncounterStatus (required): Current state of the encounter.
class | S Σ | 1..1 | Coding | Classification of patient encounter Binding: ActEncounterCode (extensible): Classification of the encounter.
type | S Σ | 0..* | CodeableConcept | Specific type of encounter Binding: Encounter Type (preferred): Valueset to describe the Encounter Type
subject | S Σ | 1..1 | Reference(Patient Profile) | The patient present at the encounter
participant | S Σ | 0..* | BackboneElement | A list of Practitioners participating in the encounter
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
individual | Σ | 0..1 | Reference(Practitioner Profile (General) | PractitionerRole Profile (General)) | Persons involved in the encounter other than the patient
reasonCode | S Σ | 0..* | CodeableConcept | Coded reason the encounter takes place Binding: EncounterReasonCodes (preferred): Reason why the encounter takes place.
reasonReference | Σ | 0..* | Reference(Condition Profile | Procedure Profile | Observation Profile (General Use) | ImmunizationRecommendation Profile) | Reason the encounter takes place (reference)
diagnosis | S Σ | 0..* | BackboneElement | The list of diagnosis relevant to this encounter
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
condition | Σ | 1..1 | Reference(Condition Profile | Procedure Profile) | The diagnosis or procedure relevant to the encounter
rank | S | 0..1 | positiveInt | Ranking of the diagnosis (for each role type)
hospitalization | S | 0..1 | BackboneElement | Details about the admission to a healthcare service
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
origin |  | 0..1 | Reference(Location Profile | Organization Profile) | The location/organization from which the patient came before admission
destination |  | 0..1 | Reference(Location Profile | Organization Profile) | Location/organization to which the patient is discharged
dischargeDisposition |  | 0..1 | CodeableConcept | Category or kind of location after discharge Binding: EncounterDischargeDisposition (preferred): Discharge Disposition.
serviceProvider |  | 0..1 | Reference(Organization Profile) | The organization (facility) responsible for this encounter
partOf |  | 0..1 | Reference(Encounter Profile) | Another Encounter this encounter is part of
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
Encounter.status | Base | required | EncounterStatus | 📍4.0.1 | FHIR Std.
Encounter.class | Base | extensible | ActEncounterCode | 📦3.0.0 | THO v6.5
Encounter.type | Base | preferred | Encounter Type | 📦1.2.0 | This IG
Encounter.reasonCode | Base | preferred | Encounter Reason Codes | 📍4.0.1 | FHIR Std.
Encounter.hospitalization.​dischargeDisposition | Base | preferred | EncounterDischargeDisposition | ⏿1.0.0 | terminologystandardsservice.ca

#### Constraints

Id | Grade | Path(s) | Description | Expression
dom-2 | error | Encounter | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | Encounter | 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 | Encounter | 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 | Encounter | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | Encounter | 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()`

Differential View

This structure is derived from Encounter

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Encounter |  | 0..* | Encounter | Encounter Profile
identifier | S | 0..* | Identifier | Identifier(s) by which this encounter is known
status | S | 1..1 | code | planned | arrived | triaged | in-progress | onleave | finished | cancelled +
class | S | 1..1 | Coding | Classification of patient encounter
type | S | 0..* | CodeableConcept | Specific type of encounter Binding: Encounter Type (preferred): Valueset to describe the Encounter Type
subject | S | 1..1 | Reference(Patient Profile) | The patient present at the encounter
participant | S | 0..* | BackboneElement | A list of Practitioners participating in the encounter
individual |  | 0..1 | Reference(Practitioner Profile (General) | PractitionerRole Profile (General)) | Persons involved in the encounter other than the patient
reasonCode | S | 0..* | CodeableConcept | Coded reason the encounter takes place
reasonReference |  | 0..* | Reference(Condition Profile | Procedure Profile | Observation Profile (General Use) | ImmunizationRecommendation Profile) | Reason the encounter takes place (reference)
diagnosis | S | 0..* | BackboneElement | The list of diagnosis relevant to this encounter
condition |  | 1..1 | Reference(Condition Profile | Procedure Profile) | The diagnosis or procedure relevant to the encounter
rank | S | 0..1 | positiveInt | Ranking of the diagnosis (for each role type)
hospitalization | S | 0..1 | BackboneElement | Details about the admission to a healthcare service
origin |  | 0..1 | Reference(Location Profile | Organization Profile) | The location/organization from which the patient came before admission
destination |  | 0..1 | Reference(Location Profile | Organization Profile) | Location/organization to which the patient is discharged
dischargeDisposition |  | 0..1 | CodeableConcept | Category or kind of location after discharge Binding: EncounterDischargeDisposition (preferred): Discharge Disposition.
location |  |  |  |
location |  | 1..1 | Reference(Location Profile) | Location the encounter takes place
serviceProvider |  | 0..1 | Reference(Organization Profile) | The organization (facility) responsible for this encounter
partOf |  | 0..1 | Reference(Encounter Profile) | Another Encounter this encounter is part of
Documentation for this format

#### Terminology Bindings (Differential)

Path | Status | Usage | ValueSet | Version | Source
Encounter.type | Base | preferred | Encounter Type | 📦1.2.0 | This IG
Encounter.hospitalization.​dischargeDisposition | Base | preferred | EncounterDischargeDisposition | ⏿1.0.0 | terminologystandardsservice.ca

Snapshot View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Encounter |  | 0..* | Encounter | Encounter Profile
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
language |  | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
Additional Bindings | Purpose
AllLanguages | Max Binding
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 | S Σ | 0..* | Identifier | Identifier(s) by which this encounter is known
status | ?!S Σ | 1..1 | code | planned | arrived | triaged | in-progress | onleave | finished | cancelled + Binding: EncounterStatus (required): Current state of the encounter.
statusHistory |  | 0..* | BackboneElement | List of past encounter statuses
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
status |  | 1..1 | code | planned | arrived | triaged | in-progress | onleave | finished | cancelled + Binding: EncounterStatus (required): Current state of the encounter.
period |  | 1..1 | Period | The time that the episode was in the specified status
class | S Σ | 1..1 | Coding | Classification of patient encounter Binding: ActEncounterCode (extensible): Classification of the encounter.
classHistory |  | 0..* | BackboneElement | List of past encounter classes
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
class |  | 1..1 | Coding | inpatient | outpatient | ambulatory | emergency + Binding: ActEncounterCode (extensible): Classification of the encounter.
period |  | 1..1 | Period | The time that the episode was in the specified class
type | S Σ | 0..* | CodeableConcept | Specific type of encounter Binding: Encounter Type (preferred): Valueset to describe the Encounter Type
serviceType | Σ | 0..1 | CodeableConcept | Specific type of service Binding: ServiceType (example): Broad categorization of the service that is to be provided.
priority |  | 0..1 | CodeableConcept | Indicates the urgency of the encounter Binding: ActPriority (example): Indicates the urgency of the encounter.
subject | S Σ | 1..1 | Reference(Patient Profile) | The patient present at the encounter
episodeOfCare | Σ | 0..* | Reference(EpisodeOfCare) | Episode(s) of care that this encounter should be recorded against
basedOn |  | 0..* | Reference(ServiceRequest) | The ServiceRequest that initiated this encounter
participant | S Σ | 0..* | BackboneElement | A list of Practitioners participating in the encounter
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
type | Σ | 0..* | CodeableConcept | Role of participant in encounter Binding: ParticipantType (extensible): Role of participant in encounter.
period |  | 0..1 | Period | Period of time during the encounter that the participant participated
individual | Σ | 0..1 | Reference(Practitioner Profile (General) | PractitionerRole Profile (General)) | Persons involved in the encounter other than the patient
appointment | Σ | 0..* | Reference(Appointment) | The appointment that scheduled this encounter
period |  | 0..1 | Period | The start and end time of the encounter
length |  | 0..1 | Duration | Quantity of time the encounter lasted (less time absent)
reasonCode | S Σ | 0..* | CodeableConcept | Coded reason the encounter takes place Binding: EncounterReasonCodes (preferred): Reason why the encounter takes place.
reasonReference | Σ | 0..* | Reference(Condition Profile | Procedure Profile | Observation Profile (General Use) | ImmunizationRecommendation Profile) | Reason the encounter takes place (reference)
diagnosis | S Σ | 0..* | BackboneElement | The list of diagnosis relevant to this encounter
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
condition | Σ | 1..1 | Reference(Condition Profile | Procedure Profile) | The diagnosis or procedure relevant to the encounter
use |  | 0..1 | CodeableConcept | Role that this diagnosis has within the encounter (e.g. admission, billing, discharge …) Binding: DiagnosisRole (preferred): The type of diagnosis this condition represents.
rank | S | 0..1 | positiveInt | Ranking of the diagnosis (for each role type)
account |  | 0..* | Reference(Account) | The set of accounts that may be used for billing for this Encounter
hospitalization | S | 0..1 | BackboneElement | Details about the admission to a healthcare service
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
preAdmissionIdentifier |  | 0..1 | Identifier | Pre-admission identifier
origin |  | 0..1 | Reference(Location Profile | Organization Profile) | The location/organization from which the patient came before admission
admitSource |  | 0..1 | CodeableConcept | From where patient was admitted (physician referral, transfer) Binding: AdmitSource (preferred): From where the patient was admitted.
reAdmission |  | 0..1 | CodeableConcept | The type of hospital re-admission that has occurred (if any). If the value is absent, then this is not identified as a readmission Binding: hl7VS-re-admissionIndicator (example): The reason for re-admission of this hospitalization encounter.
dietPreference |  | 0..* | CodeableConcept | Diet preferences reported by the patient Binding: Diet (example): Medical, cultural or ethical food preferences to help with catering requirements.
specialCourtesy |  | 0..* | CodeableConcept | Special courtesies (VIP, board member) Binding: SpecialCourtesy (preferred): Special courtesies.
specialArrangement |  | 0..* | CodeableConcept | Wheelchair, translator, stretcher, etc. Binding: SpecialArrangements (preferred): Special arrangements.
destination |  | 0..1 | Reference(Location Profile | Organization Profile) | Location/organization to which the patient is discharged
dischargeDisposition |  | 0..1 | CodeableConcept | Category or kind of location after discharge Binding: EncounterDischargeDisposition (preferred): Discharge Disposition.
location |  | 0..* | BackboneElement | List of locations where the patient has been
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
location |  | 1..1 | Reference(Location Profile) | Location the encounter takes place
status |  | 0..1 | code | planned | active | reserved | completed Binding: EncounterLocationStatus (required): The status of the location.
physicalType |  | 0..1 | CodeableConcept | The physical type of the location (usually the level in the location hierachy - bed room ward etc.) Binding: LocationType (example): Physical form of the location.
period |  | 0..1 | Period | Time period during which the patient was present at the location
serviceProvider |  | 0..1 | Reference(Organization Profile) | The organization (facility) responsible for this encounter
partOf |  | 0..1 | Reference(Encounter Profile) | Another Encounter this encounter is part of
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
Encounter.language | Base | preferred | Common Languages | 📍4.0.1 | FHIR Std.
Encounter.status | Base | required | EncounterStatus | 📍4.0.1 | FHIR Std.
Encounter.statusHistory.​status | Base | required | EncounterStatus | 📍4.0.1 | FHIR Std.
Encounter.class | Base | extensible | ActEncounterCode | 📦3.0.0 | THO v6.5
Encounter.classHistory.​class | Base | extensible | ActEncounterCode | 📦3.0.0 | THO v6.5
Encounter.type | Base | preferred | Encounter Type | 📦1.2.0 | This IG
Encounter.serviceType | Base | example | Service type | 📍4.0.1 | FHIR Std.
Encounter.priority | Base | example | ActPriority | 📦3.0.0 | THO v6.5
Encounter.participant.​type | Base | extensible | Participant type | 📍4.0.1 | FHIR Std.
Encounter.reasonCode | Base | preferred | Encounter Reason Codes | 📍4.0.1 | FHIR Std.
Encounter.diagnosis.​use | Base | preferred | DiagnosisRole | 📍4.0.1 | FHIR Std.
Encounter.hospitalization.​admitSource | Base | preferred | Admit source | 📍4.0.1 | FHIR Std.
Encounter.hospitalization.​reAdmission | Base | example | hl7VS-re-admissionIndicator | 📦2.0.0 | THO v6.5
Encounter.hospitalization.​dietPreference | Base | example | Diet | 📍4.0.1 | FHIR Std.
Encounter.hospitalization.​specialCourtesy | Base | preferred | Special courtesy | 📍4.0.1 | FHIR Std.
Encounter.hospitalization.​specialArrangement | Base | preferred | Special arrangements | 📍4.0.1 | FHIR Std.
Encounter.hospitalization.​dischargeDisposition | Base | preferred | EncounterDischargeDisposition | ⏿1.0.0 | terminologystandardsservice.ca
Encounter.location.status | Base | required | EncounterLocationStatus | 📍4.0.1 | FHIR Std.
Encounter.location.physicalType | Base | example | Location type | 📍4.0.1 | FHIR Std.

#### Constraints

Id | Grade | Path(s) | Description | Expression
dom-2 | error | Encounter | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | Encounter | 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 | Encounter | 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 | Encounter | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | Encounter | 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()`

This structure is derived from Encounter

Summary

Mandatory: 1 element
Must-Support: 10 elements

Structures

This structure refers to these other structures:

- Patient Profile (http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-patient)
- Practitioner Profile (General) (http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-practitioner)
- PractitionerRole Profile (General) (http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-practitionerrole)
- Condition Profile (http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-condition)
- Procedure Profile (http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-procedure)
- Observation Profile (General Use) (http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-observation)
- ImmunizationRecommendation Profile (http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-immunizationrecommendation)
- Location Profile (http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-location)
- Organization Profile (http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-organization)
- Encounter Profile (http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-encounter)

Other representations of profile: CSV, Excel, Schematron

### Notes:

## Class

The Encounter.class element is to provide the kind of stay that a subject is having. This is different than the Encounter.type that explains what is done to the subject within this encounter.

In other words, the Encounter.class identifies the setting for the encounter (inpatient/outpatient) in which the encounter took place.

Since it is important for interpreting the context of the encounter, for choosing the appropriate business rules to enforce the clinical/management process, this element is required (cardinality 1..1) and marked as Must Support.

The Encounter.class element does NOT identify the priority of the encounter (see Encounter.priority). Therefore `Encounter.class = "EMER"` (Emergency) refers to an encounter happening at a dedicated healthcare service delivery location (e.g., Emergency Department) rather than the priority of the encounter.

## Type

The Encounter.type element is to provide a specific code indicating type of service provided.

This element is bound to EncounterType value set which includes codes from SNOMED CT decending from the 308335008 (Patient encounter procedure (procedure)) concept.

To extract all descendant of the SNOMED CT concept 308335008 use an ECL expression `<< 308335008`.

    - ISSUE #143: Need to better define the value set for the Encounter.type and explain the difference between Encounter.type and Encounter.serviceType based on use cases.
    - Possible value sets:
    - descendant of the SNOMED CT concept 308335008 | Patient encounter procedure (procedure);
    - descendant of the SNOMED CT concept 308467007 | Seen in establishment (finding)
    - descendant of the SNOMED CT concept 308930007 | Seen by health professional (finding)

## Service Type

The Encounter.serviceType element describes the service to be performed during the encounter. This element is connected to other resources such as Appointment (Appointment.serviceType), HealthcareService (HealthcareService.type) or Schedule (Schedule.serviceType)