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

Official URL: http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-encounter Version: 1.1.0
Draft as of 2020-07-29 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.

Usage:

Formal Views of Profile Content

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

This structure is derived from Encounter

NameFlagsCard.TypeDescription & Constraintsdoco
.. 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
... 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: https://fhir.infoway-inforoute.ca/ValueSet/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

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSetURI
Encounter.typepreferredEncounterType
https://fhir.infoway-inforoute.ca/ValueSet/encountertype
from this IG
Encounter.hospitalization.dischargeDispositionpreferredhttps://fhir.infoway-inforoute.ca/ValueSet/encounterdischargedisposition
https://fhir.infoway-inforoute.ca/ValueSet/encounterdischargedisposition
NameFlagsCard.TypeDescription & Constraintsdoco
.. 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
... 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: https://fhir.infoway-inforoute.ca/ValueSet/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

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Encounter.statusrequiredEncounterStatus
http://hl7.org/fhir/ValueSet/encounter-status|4.0.1
from the FHIR Standard
Encounter.classextensibleActEncounterCode
http://terminology.hl7.org/ValueSet/v3-ActEncounterCode
Encounter.typepreferredEncounterType
https://fhir.infoway-inforoute.ca/ValueSet/encountertype
from this IG
Encounter.reasonCodepreferredEncounterReasonCodes
http://hl7.org/fhir/ValueSet/encounter-reason
from the FHIR Standard
Encounter.hospitalization.dischargeDispositionpreferredhttps://fhir.infoway-inforoute.ca/ValueSet/encounterdischargedisposition
https://fhir.infoway-inforoute.ca/ValueSet/encounterdischargedisposition

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorEncounterIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorEncounterIf 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-4errorEncounterIf 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-5errorEncounterIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceEncounterA 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()
NameFlagsCard.TypeDescription & Constraintsdoco
.. 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 BindingsPurpose
AllLanguages Max Binding
... text 0..1 Narrative Text summary of the resource, for human interpretation
... 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: https://fhir.infoway-inforoute.ca/ValueSet/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

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Encounter.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
Encounter.statusrequiredEncounterStatus
http://hl7.org/fhir/ValueSet/encounter-status|4.0.1
from the FHIR Standard
Encounter.statusHistory.statusrequiredEncounterStatus
http://hl7.org/fhir/ValueSet/encounter-status|4.0.1
from the FHIR Standard
Encounter.classextensibleActEncounterCode
http://terminology.hl7.org/ValueSet/v3-ActEncounterCode
Encounter.classHistory.classextensibleActEncounterCode
http://terminology.hl7.org/ValueSet/v3-ActEncounterCode
Encounter.typepreferredEncounterType
https://fhir.infoway-inforoute.ca/ValueSet/encountertype
from this IG
Encounter.serviceTypeexampleServiceType
http://hl7.org/fhir/ValueSet/service-type
from the FHIR Standard
Encounter.priorityexampleActPriority
http://terminology.hl7.org/ValueSet/v3-ActPriority
Encounter.participant.typeextensibleParticipantType
http://hl7.org/fhir/ValueSet/encounter-participant-type
from the FHIR Standard
Encounter.reasonCodepreferredEncounterReasonCodes
http://hl7.org/fhir/ValueSet/encounter-reason
from the FHIR Standard
Encounter.diagnosis.usepreferredDiagnosisRole
http://hl7.org/fhir/ValueSet/diagnosis-role
from the FHIR Standard
Encounter.hospitalization.admitSourcepreferredAdmitSource
http://hl7.org/fhir/ValueSet/encounter-admit-source
from the FHIR Standard
Encounter.hospitalization.reAdmissionexampleHl7VSReAdmissionIndicator
http://terminology.hl7.org/ValueSet/v2-0092
Encounter.hospitalization.dietPreferenceexampleDiet
http://hl7.org/fhir/ValueSet/encounter-diet
from the FHIR Standard
Encounter.hospitalization.specialCourtesypreferredSpecialCourtesy
http://hl7.org/fhir/ValueSet/encounter-special-courtesy
from the FHIR Standard
Encounter.hospitalization.specialArrangementpreferredSpecialArrangements
http://hl7.org/fhir/ValueSet/encounter-special-arrangements
from the FHIR Standard
Encounter.hospitalization.dischargeDispositionpreferredhttps://fhir.infoway-inforoute.ca/ValueSet/encounterdischargedisposition
https://fhir.infoway-inforoute.ca/ValueSet/encounterdischargedisposition
Encounter.location.statusrequiredEncounterLocationStatus
http://hl7.org/fhir/ValueSet/encounter-location-status|4.0.1
from the FHIR Standard
Encounter.location.physicalTypeexampleLocationType
http://hl7.org/fhir/ValueSet/location-physical-type
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorEncounterIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorEncounterIf 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-4errorEncounterIf 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-5errorEncounterIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceEncounterA 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()

This structure is derived from Encounter

Cannot invoke "Object.hashCode()" because "key" is null

Differential View

This structure is derived from Encounter

NameFlagsCard.TypeDescription & Constraintsdoco
.. 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
... 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: https://fhir.infoway-inforoute.ca/ValueSet/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

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSetURI
Encounter.typepreferredEncounterType
https://fhir.infoway-inforoute.ca/ValueSet/encountertype
from this IG
Encounter.hospitalization.dischargeDispositionpreferredhttps://fhir.infoway-inforoute.ca/ValueSet/encounterdischargedisposition
https://fhir.infoway-inforoute.ca/ValueSet/encounterdischargedisposition

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. 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
... 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: https://fhir.infoway-inforoute.ca/ValueSet/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

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Encounter.statusrequiredEncounterStatus
http://hl7.org/fhir/ValueSet/encounter-status|4.0.1
from the FHIR Standard
Encounter.classextensibleActEncounterCode
http://terminology.hl7.org/ValueSet/v3-ActEncounterCode
Encounter.typepreferredEncounterType
https://fhir.infoway-inforoute.ca/ValueSet/encountertype
from this IG
Encounter.reasonCodepreferredEncounterReasonCodes
http://hl7.org/fhir/ValueSet/encounter-reason
from the FHIR Standard
Encounter.hospitalization.dischargeDispositionpreferredhttps://fhir.infoway-inforoute.ca/ValueSet/encounterdischargedisposition
https://fhir.infoway-inforoute.ca/ValueSet/encounterdischargedisposition

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorEncounterIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorEncounterIf 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-4errorEncounterIf 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-5errorEncounterIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceEncounterA 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()

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. 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 BindingsPurpose
AllLanguages Max Binding
... text 0..1 Narrative Text summary of the resource, for human interpretation
... 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: https://fhir.infoway-inforoute.ca/ValueSet/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

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Encounter.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
Encounter.statusrequiredEncounterStatus
http://hl7.org/fhir/ValueSet/encounter-status|4.0.1
from the FHIR Standard
Encounter.statusHistory.statusrequiredEncounterStatus
http://hl7.org/fhir/ValueSet/encounter-status|4.0.1
from the FHIR Standard
Encounter.classextensibleActEncounterCode
http://terminology.hl7.org/ValueSet/v3-ActEncounterCode
Encounter.classHistory.classextensibleActEncounterCode
http://terminology.hl7.org/ValueSet/v3-ActEncounterCode
Encounter.typepreferredEncounterType
https://fhir.infoway-inforoute.ca/ValueSet/encountertype
from this IG
Encounter.serviceTypeexampleServiceType
http://hl7.org/fhir/ValueSet/service-type
from the FHIR Standard
Encounter.priorityexampleActPriority
http://terminology.hl7.org/ValueSet/v3-ActPriority
Encounter.participant.typeextensibleParticipantType
http://hl7.org/fhir/ValueSet/encounter-participant-type
from the FHIR Standard
Encounter.reasonCodepreferredEncounterReasonCodes
http://hl7.org/fhir/ValueSet/encounter-reason
from the FHIR Standard
Encounter.diagnosis.usepreferredDiagnosisRole
http://hl7.org/fhir/ValueSet/diagnosis-role
from the FHIR Standard
Encounter.hospitalization.admitSourcepreferredAdmitSource
http://hl7.org/fhir/ValueSet/encounter-admit-source
from the FHIR Standard
Encounter.hospitalization.reAdmissionexampleHl7VSReAdmissionIndicator
http://terminology.hl7.org/ValueSet/v2-0092
Encounter.hospitalization.dietPreferenceexampleDiet
http://hl7.org/fhir/ValueSet/encounter-diet
from the FHIR Standard
Encounter.hospitalization.specialCourtesypreferredSpecialCourtesy
http://hl7.org/fhir/ValueSet/encounter-special-courtesy
from the FHIR Standard
Encounter.hospitalization.specialArrangementpreferredSpecialArrangements
http://hl7.org/fhir/ValueSet/encounter-special-arrangements
from the FHIR Standard
Encounter.hospitalization.dischargeDispositionpreferredhttps://fhir.infoway-inforoute.ca/ValueSet/encounterdischargedisposition
https://fhir.infoway-inforoute.ca/ValueSet/encounterdischargedisposition
Encounter.location.statusrequiredEncounterLocationStatus
http://hl7.org/fhir/ValueSet/encounter-location-status|4.0.1
from the FHIR Standard
Encounter.location.physicalTypeexampleLocationType
http://hl7.org/fhir/ValueSet/location-physical-type
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorEncounterIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorEncounterIf 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-4errorEncounterIf 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-5errorEncounterIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceEncounterA 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()

This structure is derived from Encounter

Cannot invoke "Object.hashCode()" because "key" is null

 

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)