Release 5

This page is part of the FHIR Specification (v5.0.0: R5 - STU). This is the current published version in it's permanent home (it will always be available at this URL). For a full list of available versions, see the Directory of published versions . Page versions: R5 R4B R4 R3 R2

8.11 Resource Encounter - Content

Patient Administration icon Work GroupMaturity Level: 4 Trial UseSecurity Category: Patient Compartments: Encounter, Patient, Practitioner, RelatedPerson

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. Encounter is primarily used to record information about the actual activities that occurred, where Appointment is used to record planned activities.

A patient encounter is further characterized by the setting in which it takes place. Amongst them are ambulatory, emergency, home health, inpatient and virtual encounters. An Encounter encompasses the lifecycle from pre-admission, the actual encounter (for ambulatory encounters), and admission, stay and discharge (for inpatient encounters). During the encounter the patient may move from practitioner to practitioner and location to location.

Because of the broad scope of Encounter, not all elements will be relevant in all settings. For this reason, admission/discharge related information is kept in a separate admission component within Encounter. The class element is used to distinguish between these settings, which will guide further validation and application of business rules.

There is also substantial variance from organization to organization (and between jurisdictions and countries) on which business events translate to the start of a new Encounter, or what level of aggregation is used for Encounter. For example, each single visit of a practitioner during a hospitalization may lead to a new instance of Encounter, but depending on local practice and the systems involved, it may well be that this is aggregated to a single instance for a whole admission. Even more aggregation may occur where jurisdictions introduce groups of Encounters for financial or other reasons. Encounters can be aggregated or grouped under other Encounters using the partOf element. See below for examples.

Encounter instances may exist before the actual encounter takes place to convey pre-admission information, including using Encounters elements to reflect the planned start date or planned encounter locations. In this case the status element is set to 'planned'.

The admission component is intended to store the extended information relating to an admission event. It is always expected to be the same period as the encounter itself. Where the period is different, another encounter instance should be used to capture this information as a partOf this encounter instance.

The Procedure and encounter have references to each other, and these should be to different procedures; one for the procedure that was performed during the encounter (stored in Procedure.encounter), and another for cases where an encounter is a result of another procedure (stored in Encounter.reason) such as a follow-up encounter to resolve complications from an earlier procedure.

During the life-cycle of an encounter it will pass through many statuses and subject statuses. Typically these are in order or the organization/department's workflow(s) e.g. planned, in-progress, completed/cancelled. In general terms the Encounter and Appointment both align with the Clinical Workflow Process Life Cycle pattern.
The status property tracks the (current) overall status of the encounter, whereas the subjectStatus property more closely tracks the patient explicitly. For example in a hospital emergency department the subjectStatus would reflect the patient's status e.g. arrived (when the patient first presents to the ED), triaged (when the patient is assessed by a triage nurse), etc.
This status information is often used for other things, and often an analysis of the status history is required for things like billing. This could be done by scanning through all the resource history versions of the encounter, checking the period of each, and then doing some form of post processing. However, this information is not always completed in real-time (or even in the same system) and needs to be updated over time - as a result the resource history is not adequate to satisfy these needs, and subsequently the new EncounterHistory resource provides this information

Note to Implementers: In FHIR R4 and earlier this was done using the statusHistory and classHistory backbone elements, however with longer duration encounters (where a patient encounter might be considered active for years) this would become increasingly inefficient, and EncounterHistory remediates this issue.

There is no direct indication purely by the status or subjectStatus field as to whether an encounter is considered "admitted".
The context of the encounter and business practices/policies/workflows/types can influence this definition. (e.g., acute care facility, aged care center, outpatient clinic, emergency department, community-based clinic).
Subject statuses of "arrived", "triaged" or "receiving-care" could be considered the start of the admission, and also have the presence of the admission sub-component entered.
The "discharged" status can be used when the patient care is complete but the encounter itself is not yet completed, such as while collating required information for billing or other purposes, or could be skipped and go direct to "completed". Refer to the appointment page for some sample possible workflows.
Also note that the binding for subjectStatus is "example" so that local use-cases could also include their own states to capture things like a "waiting" status if they decide to capture this in their specific workflow.

Subjects that have left without being seen would have a subjectStatus of departed, or possibly an implementer-specific code, while the Encounter.status could be completed or cancelled, depending on whether the patient had received some care before leaving, or other local business rules that could impact billing.

The "on-leave" subject status might or might not be a part of the admission, for example if the patient was permitted to go home for a weekend or some other form of external event.
During this time the encounter status itself might be marked as "on-hold". Local systems may have multiple different types of leave/hold and these can use appropriate combinations fo the status/subjectStatus fields to represent this.
The location is also likely to be filled in with a location status of "active".
For other examples such as an outpatient visit (day procedure - colonoscopy), the patient could also be considered to be admitted, hence the encounter doesn't have a fixed definition of admitted. At a minimum, we do believe that a patient IS admitted when the status is in-progress.

The Encounter resource is not to be used to store appointment information, the Appointment resource is intended to be used for that. Note that in many systems outpatient encounters (which are in scope for Encounter) and Appointment are used concurrently. In FHIR, Appointment is used for establishing a date for the encounter, while Encounter is applicable to information about the actual Encounter, i.e., the patient showing up.
As such, an encounter in the "planned" status is not identical to the appointment that scheduled it, but it is the encounter prior to its actual occurrence, with the expectation that encounter will be updated as it progresses to completion. Patient arrival at a location does not necessarily mean the start of the encounter (e.g. a patient arrives an hour earlier than he is actually seen by a practitioner).

An appointment is normally used for the planning stage of an appointment, searching, locating an available time, then making the appointment. Once this process is completed and the appointment is about to start, then the appointment will be marked as fulfilled, and linked to the newly created encounter.
This new encounter may start in an "arrived" status when they are admitted at a location of the facility, and then will move to the ward where another part-of encounter may begin.

Communication resources are used for a simultaneous interaction between a practitioner and a patient where there is no direct contact. Examples include a phone message, or transmission of some correspondence documentation.
There is no duration recorded for a communication resource, but it could contain sent and received times.

Standard Extension: Associated Encounter
This extension should be used to reference an encounter where there is no property that already defines this association on the resource.

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. Encounter TUDomainResourceAn interaction during which services are provided to the patient

Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension
... identifier Σ0..*IdentifierIdentifier(s) by which this encounter is known

... status ?!Σ1..1codeplanned | in-progress | on-hold | discharged | completed | cancelled | discontinued | entered-in-error | unknown
Binding: Encounter Status (Required)
... class Σ0..*CodeableConceptClassification of patient encounter context - e.g. Inpatient, outpatient
Binding: Encounter class icon (Preferred)

... priority 0..1CodeableConceptIndicates the urgency of the encounter
Binding: ActPriority icon (Example)
... type Σ0..*CodeableConceptSpecific type of encounter (e.g. e-mail consultation, surgical day-care, ...)
Binding: Encounter Type (Example)

... serviceType Σ0..*CodeableReference(HealthcareService)Specific type of service
Binding: Service Type (Example)

... subject Σ0..1Reference(Patient | Group)The patient or group related to this encounter
... subjectStatus 0..1CodeableConceptThe current status of the subject in relation to the Encounter
Binding: Encounter Subject Status (Example)
... episodeOfCare Σ0..*Reference(EpisodeOfCare)Episode(s) of care that this encounter should be recorded against

... basedOn 0..*Reference(CarePlan | DeviceRequest | MedicationRequest | ServiceRequest)The request that initiated this encounter

... careTeam 0..*Reference(CareTeam)The group(s) that are allocated to participate in this encounter

... partOf 0..1Reference(Encounter)Another Encounter this encounter is part of
... serviceProvider 0..1Reference(Organization)The organization (facility) responsible for this encounter
... participant ΣC0..*BackboneElementList of participants involved in the encounter
+ Rule: A type must be provided when no explicit actor is specified
+ Rule: A type cannot be provided for a patient or group participant

.... type ΣC0..*CodeableConceptRole of participant in encounter
Binding: Participant Type (Extensible)

.... period 0..1PeriodPeriod of time during the encounter that the participant participated
.... actor ΣC0..1Reference(Patient | Group | RelatedPerson | Practitioner | PractitionerRole | Device | HealthcareService)The individual, device, or service participating in the encounter
... appointment Σ0..*Reference(Appointment)The appointment that scheduled this encounter

... virtualService 0..*VirtualServiceDetailConnection details of a virtual service (e.g. conference call)

... actualPeriod 0..1PeriodThe actual start and end time of the encounter
... plannedStartDate 0..1dateTimeThe planned start date/time (or admission date) of the encounter
... plannedEndDate 0..1dateTimeThe planned end date/time (or discharge date) of the encounter
... length 0..1DurationActual quantity of time the encounter lasted (less time absent)
... reason Σ0..*BackboneElementThe list of medical reasons that are expected to be addressed during the episode of care

.... use Σ0..*CodeableConceptWhat the reason value should be used for/as
Binding: Encounter Reason Use (Example)

.... value Σ0..*CodeableReference(Condition | DiagnosticReport | Observation | ImmunizationRecommendation | Procedure)Reason the encounter takes place (core or reference)
Binding: Encounter Reason Codes (Preferred)

... diagnosis Σ0..*BackboneElementThe list of diagnosis relevant to this encounter

.... condition Σ0..*CodeableReference(Condition)The diagnosis relevant to the encounter
Binding: Condition/Problem/Diagnosis Codes (Example)

.... use 0..*CodeableConceptRole that this diagnosis has within the encounter (e.g. admission, billing, discharge …)
Binding: Encounter Diagnosis Use (Preferred)

... account 0..*Reference(Account)The set of accounts that may be used for billing for this Encounter

... dietPreference 0..*CodeableConceptDiet preferences reported by the patient
Binding: Diet (Example)

... specialArrangement 0..*CodeableConceptWheelchair, translator, stretcher, etc
Binding: Special Arrangements (Preferred)

... specialCourtesy 0..*CodeableConceptSpecial courtesies (VIP, board member)
Binding: Special Courtesy (Preferred)

... admission 0..1BackboneElementDetails about the admission to a healthcare service
.... preAdmissionIdentifier 0..1IdentifierPre-admission identifier
.... origin 0..1Reference(Location | Organization)The location/organization from which the patient came before admission
.... admitSource 0..1CodeableConceptFrom where patient was admitted (physician referral, transfer)
Binding: Admit Source (Preferred)
.... reAdmission 0..1CodeableConceptIndicates that the patient is being re-admitted
Binding: hl7VS-re-admissionIndicator icon (Example)
.... destination 0..1Reference(Location | Organization)Location/organization to which the patient is discharged
.... dischargeDisposition 0..1CodeableConceptCategory or kind of location after discharge
Binding: Discharge Disposition (Example)
... location 0..*BackboneElementList of locations where the patient has been

.... location 1..1Reference(Location)Location the encounter takes place
.... status 0..1codeplanned | active | reserved | completed
Binding: Encounter Location Status (Required)
.... form 0..1CodeableConceptThe physical type of the location (usually the level in the location hierarchy - bed, room, ward, virtual etc.)
Binding: Location Form (Example)
.... period 0..1PeriodTime period during which the patient was present at the location

doco Documentation for this format icon

See the Extensions for this resource

UML Diagram (Legend)

Encounter (DomainResource)Identifier(s) by which this encounter is knownidentifier : Identifier [0..*]The current state of the encounter (not the state of the patient within the encounter - that is subjectState) (this element modifies the meaning of other elements)status : code [1..1] « null (Strength=Required)EncounterStatus! »Concepts representing classification of patient encounter such as ambulatory (outpatient), inpatient, emergency, home health or others due to local variationsclass : CodeableConcept [0..*] « null (Strength=Preferred)EncounterClass? »Indicates the urgency of the encounterpriority : CodeableConcept [0..1] « null (Strength=Example)ActPriority?? »Specific type of encounter (e.g. e-mail consultation, surgical day-care, skilled nursing, rehabilitation)type : CodeableConcept [0..*] « The type of encounter. (Strength=Example)EncounterType?? »Broad categorization of the service that is to be provided (e.g. cardiology)serviceType : CodeableReference [0..*] « HealthcareService; null (Strength=Example) ServiceType?? »The patient or group related to this encounter. In some use-cases the patient MAY not be present, such as a case meeting about a patient between several practitioners or a careteamsubject : Reference [0..1] « Patient|Group »The subjectStatus value can be used to track the patient's status within the encounter. It details whether the patient has arrived or departed, has been triaged or is currently in a waiting statussubjectStatus : CodeableConcept [0..1] « null (Strength=Example)EncounterSubjectStatus?? »Where a specific encounter should be classified as a part of a specific episode(s) of care this field should be used. This association can facilitate grouping of related encounters together for a specific purpose, such as government reporting, issue tracking, association via a common problem. The association is recorded on the encounter as these are typically created after the episode of care and grouped on entry rather than editing the episode of care to append another encounter to it (the episode of care could span years)episodeOfCare : Reference [0..*] « EpisodeOfCare »The request this encounter satisfies (e.g. incoming referral or procedure request)basedOn : Reference [0..*] « CarePlan|DeviceRequest| MedicationRequest|ServiceRequest »The group(s) of individuals, organizations that are allocated to participate in this encounter. The participants backbone will record the actuals of when these individuals participated during the encountercareTeam : Reference [0..*] « CareTeam »Another Encounter of which this encounter is a part of (administratively or in time)partOf : Reference [0..1] « Encounter »The organization that is primarily responsible for this Encounter's services. This MAY be the same as the organization on the Patient record, however it could be different, such as if the actor performing the services was from an external organization (which may be billed seperately) for an external consultation. Refer to the colonoscopy example on the Encounter examples tabserviceProvider : Reference [0..1] « Organization »The appointment that scheduled this encounterappointment : Reference [0..*] « Appointment »Connection details of a virtual service (e.g. conference call)virtualService : VirtualServiceDetail [0..*]The actual start and end time of the encounteractualPeriod : Period [0..1]The planned start date/time (or admission date) of the encounterplannedStartDate : dateTime [0..1]The planned end date/time (or discharge date) of the encounterplannedEndDate : dateTime [0..1]Actual quantity of time the encounter lasted. This excludes the time during leaves of absence. When missing it is the time in between the start and end valueslength : Duration [0..1]The set of accounts that may be used for billing for this Encounteraccount : Reference [0..*] « Account »Diet preferences reported by the patientdietPreference : CodeableConcept [0..*] « null (Strength=Example)EncounterDiet?? »Any special requests that have been made for this encounter, such as the provision of specific equipment or other thingsspecialArrangement : CodeableConcept [0..*] « null (Strength=Preferred)SpecialArrangements? »Special courtesies that may be provided to the patient during the encounter (VIP, board member, professional courtesy)specialCourtesy : CodeableConcept [0..*] « null (Strength=Preferred)SpecialCourtesy? »ParticipantRole of participant in encountertype : CodeableConcept [0..*] « null (Strength=Extensible)ParticipantType+ » « This element has or is affected by some invariantsC »The period of time that the specified participant participated in the encounter. These can overlap or be sub-sets of the overall encounter's periodperiod : Period [0..1]Person involved in the encounter, the patient/group is also included here to indicate that the patient was actually participating in the encounter. Not including the patient here covers use cases such as a case meeting between practitioners about a patient - non contact timesactor : Reference [0..1] « Patient|Group|RelatedPerson|Practitioner| PractitionerRole|Device|HealthcareService » « This element has or is affected by some invariantsC »ReasonWhat the reason value should be used as e.g. Chief Complaint, Health Concern, Health Maintenance (including screening)use : CodeableConcept [0..*] « null (Strength=Example)EncounterReasonUse?? »Reason the encounter takes place, expressed as a code or a reference to another resource. For admissions, this can be used for a coded admission diagnosisvalue : CodeableReference [0..*] « Condition|DiagnosticReport| Observation|ImmunizationRecommendation|Procedure; null (Strength=Preferred) EncounterReasonCodes? »DiagnosisThe coded diagnosis or a reference to a Condition (with other resources referenced in the evidence.detail), the use property will indicate the purpose of this specific diagnosiscondition : CodeableReference [0..*] « Condition; null (Strength=Example) ConditionProblemDiagnosisCodes?? »Role that this diagnosis has within the encounter (e.g. admission, billing, discharge …)use : CodeableConcept [0..*] « null (Strength=Preferred)EncounterDiagnosisUse? »AdmissionPre-admission identifierpreAdmissionIdentifier : Identifier [0..1]The location/organization from which the patient came before admissionorigin : Reference [0..1] « Location|Organization »From where patient was admitted (physician referral, transfer)admitSource : CodeableConcept [0..1] « null (Strength=Preferred)AdmitSource? »Indicates that this encounter is directly related to a prior admission, often because the conditions addressed in the prior admission were not fully addressedreAdmission : CodeableConcept [0..1] « null (Strength=Example)Hl7VSReAdmissionIndicator?? »Location/organization to which the patient is dischargeddestination : Reference [0..1] « Location|Organization »Category or kind of location after dischargedischargeDisposition : CodeableConcept [0..1] « null (Strength=Example)DischargeDisposition?? »LocationThe location where the encounter takes placelocation : Reference [1..1] « Location »The status of the participants' presence at the specified location during the period specified. If the participant is no longer at the location, then the period will have an end date/timestatus : code [0..1] « null (Strength=Required)EncounterLocationStatus! »This will be used to specify the required levels (bed/ward/room/etc.) desired to be recorded to simplify either messaging or queryform : CodeableConcept [0..1] « null (Strength=Example)LocationForm?? »Time period during which the patient was present at the locationperiod : Period [0..1]The list of people responsible for providing the serviceparticipant[0..*]The list of medical reasons that are expected to be addressed during the episode of carereason[0..*]The list of diagnosis relevant to this encounterdiagnosis[0..*]Details about the stay during which a healthcare service is provided. This does not describe the event of admitting the patient, but rather any information that is relevant from the time of admittance until the time of dischargeadmission[0..1]List of locations where the patient has been during this encounterlocation[0..*]

XML Template

<Encounter xmlns="http://hl7.org/fhir"> doco
 <!-- from Resource: id, meta, implicitRules, and language -->
 <!-- from DomainResource: text, contained, extension, and modifierExtension -->
 <identifier><!-- 0..* Identifier Identifier(s) by which this encounter is known --></identifier>
 <status value="[code]"/><!-- 1..1 planned | in-progress | on-hold | discharged | completed | cancelled | discontinued | entered-in-error | unknown -->
 <class><!-- 0..* CodeableConcept Classification of patient encounter context - e.g. Inpatient, outpatient icon --></class>
 <priority><!-- 0..1 CodeableConcept Indicates the urgency of the encounter icon --></priority>
 <type><!-- 0..* CodeableConcept Specific type of encounter (e.g. e-mail consultation, surgical day-care, ...) --></type>
 <serviceType><!-- 0..* CodeableReference(HealthcareService) Specific type of service --></serviceType>
 <subject><!-- 0..1 Reference(Group|Patient) The patient or group related to this encounter --></subject>
 <subjectStatus><!-- 0..1 CodeableConcept The current status of the subject in relation to the Encounter --></subjectStatus>
 <episodeOfCare><!-- 0..* Reference(EpisodeOfCare) Episode(s) of care that this encounter should be recorded against --></episodeOfCare>
 <basedOn><!-- 0..* Reference(CarePlan|DeviceRequest|MedicationRequest|
   ServiceRequest) The request that initiated this encounter --></basedOn>
 <careTeam><!-- 0..* Reference(CareTeam) The group(s) that are allocated to participate in this encounter --></careTeam>
 <partOf><!-- 0..1 Reference(Encounter) Another Encounter this encounter is part of --></partOf>
 <serviceProvider><!-- 0..1 Reference(Organization) The organization (facility) responsible for this encounter --></serviceProvider>
 <participant>  <!-- 0..* List of participants involved in the encounter -->
  <type><!-- I 0..* CodeableConcept Role of participant in encounter --></type>
  <period><!-- 0..1 Period Period of time during the encounter that the participant participated --></period>
  <actor><!-- I 0..1 Reference(Device|Group|HealthcareService|Patient|Practitioner|
    PractitionerRole|RelatedPerson) The individual, device, or service participating in the encounter --></actor>
 </participant>
 <appointment><!-- 0..* Reference(Appointment) The appointment that scheduled this encounter --></appointment>
 <virtualService><!-- 0..* VirtualServiceDetail Connection details of a virtual service (e.g. conference call) --></virtualService>
 <actualPeriod><!-- 0..1 Period The actual start and end time of the encounter --></actualPeriod>
 <plannedStartDate value="[dateTime]"/><!-- 0..1 The planned start date/time (or admission date) of the encounter -->
 <plannedEndDate value="[dateTime]"/><!-- 0..1 The planned end date/time (or discharge date) of the encounter -->
 <length><!-- 0..1 Duration Actual quantity of time the encounter lasted (less time absent) --></length>
 <reason>  <!-- 0..* The list of medical reasons that are expected to be addressed during the episode of care -->
  <use><!-- 0..* CodeableConcept What the reason value should be used for/as --></use>
  <value><!-- 0..* CodeableReference(Condition|DiagnosticReport|
    ImmunizationRecommendation|Observation|Procedure) Reason the encounter takes place (core or reference) --></value>
 </reason>
 <diagnosis>  <!-- 0..* The list of diagnosis relevant to this encounter -->
  <condition><!-- 0..* CodeableReference(Condition) The diagnosis relevant to the encounter --></condition>
  <use><!-- 0..* CodeableConcept Role that this diagnosis has within the encounter (e.g. admission, billing, discharge …) --></use>
 </diagnosis>
 <account><!-- 0..* Reference(Account) The set of accounts that may be used for billing for this Encounter --></account>
 <dietPreference><!-- 0..* CodeableConcept Diet preferences reported by the patient --></dietPreference>
 <specialArrangement><!-- 0..* CodeableConcept Wheelchair, translator, stretcher, etc --></specialArrangement>
 <specialCourtesy><!-- 0..* CodeableConcept Special courtesies (VIP, board member) --></specialCourtesy>
 <admission>  <!-- 0..1 Details about the admission to a healthcare service -->
  <preAdmissionIdentifier><!-- 0..1 Identifier Pre-admission identifier --></preAdmissionIdentifier>
  <origin><!-- 0..1 Reference(Location|Organization) The location/organization from which the patient came before admission --></origin>
  <admitSource><!-- 0..1 CodeableConcept From where patient was admitted (physician referral, transfer) --></admitSource>
  <reAdmission><!-- 0..1 CodeableConcept Indicates that the patient is being re-admitted icon --></reAdmission>
  <destination><!-- 0..1 Reference(Location|Organization) Location/organization to which the patient is discharged --></destination>
  <dischargeDisposition><!-- 0..1 CodeableConcept Category or kind of location after discharge --></dischargeDisposition>
 </admission>
 <location>  <!-- 0..* List of locations where the patient has been -->
  <location><!-- 1..1 Reference(Location) Location the encounter takes place --></location>
  <status value="[code]"/><!-- 0..1 planned | active | reserved | completed -->
  <form><!-- 0..1 CodeableConcept The physical type of the location (usually the level in the location hierarchy - bed, room, ward, virtual etc.) --></form>
  <period><!-- 0..1 Period Time period during which the patient was present at the location --></period>
 </location>
</Encounter>

JSON Template

{doco
  "resourceType" : "Encounter",
  // from Resource: id, meta, implicitRules, and language
  // from DomainResource: text, contained, extension, and modifierExtension
  "identifier" : [{ Identifier }], // Identifier(s) by which this encounter is known
  "status" : "<code>", // R!  planned | in-progress | on-hold | discharged | completed | cancelled | discontinued | entered-in-error | unknown
  "class" : [{ CodeableConcept }], // Classification of patient encounter context - e.g. Inpatient, outpatient icon
  "priority" : { CodeableConcept }, // Indicates the urgency of the encounter icon
  "type" : [{ CodeableConcept }], // Specific type of encounter (e.g. e-mail consultation, surgical day-care, ...)
  "serviceType" : [{ CodeableReference(HealthcareService) }], // Specific type of service
  "subject" : { Reference(Group|Patient) }, // The patient or group related to this encounter
  "subjectStatus" : { CodeableConcept }, // The current status of the subject in relation to the Encounter
  "episodeOfCare" : [{ Reference(EpisodeOfCare) }], // Episode(s) of care that this encounter should be recorded against
  "basedOn" : [{ Reference(CarePlan|DeviceRequest|MedicationRequest|
   ServiceRequest) }], // The request that initiated this encounter
  "careTeam" : [{ Reference(CareTeam) }], // The group(s) that are allocated to participate in this encounter
  "partOf" : { Reference(Encounter) }, // Another Encounter this encounter is part of
  "serviceProvider" : { Reference(Organization) }, // The organization (facility) responsible for this encounter
  "participant" : [{ // List of participants involved in the encounter
    "type" : [{ CodeableConcept }], // I Role of participant in encounter
    "period" : { Period }, // Period of time during the encounter that the participant participated
    "actor" : { Reference(Device|Group|HealthcareService|Patient|Practitioner|
    PractitionerRole|RelatedPerson) } // I The individual, device, or service participating in the encounter
  }],
  "appointment" : [{ Reference(Appointment) }], // The appointment that scheduled this encounter
  "virtualService" : [{ VirtualServiceDetail }], // Connection details of a virtual service (e.g. conference call)
  "actualPeriod" : { Period }, // The actual start and end time of the encounter
  "plannedStartDate" : "<dateTime>", // The planned start date/time (or admission date) of the encounter
  "plannedEndDate" : "<dateTime>", // The planned end date/time (or discharge date) of the encounter
  "length" : { Duration }, // Actual quantity of time the encounter lasted (less time absent)
  "reason" : [{ // The list of medical reasons that are expected to be addressed during the episode of care
    "use" : [{ CodeableConcept }], // What the reason value should be used for/as
    "value" : [{ CodeableReference(Condition|DiagnosticReport|
    ImmunizationRecommendation|Observation|Procedure) }] // Reason the encounter takes place (core or reference)
  }],
  "diagnosis" : [{ // The list of diagnosis relevant to this encounter
    "condition" : [{ CodeableReference(Condition) }], // The diagnosis relevant to the encounter
    "use" : [{ CodeableConcept }] // Role that this diagnosis has within the encounter (e.g. admission, billing, discharge …)
  }],
  "account" : [{ Reference(Account) }], // The set of accounts that may be used for billing for this Encounter
  "dietPreference" : [{ CodeableConcept }], // Diet preferences reported by the patient
  "specialArrangement" : [{ CodeableConcept }], // Wheelchair, translator, stretcher, etc
  "specialCourtesy" : [{ CodeableConcept }], // Special courtesies (VIP, board member)
  "admission" : { // Details about the admission to a healthcare service
    "preAdmissionIdentifier" : { Identifier }, // Pre-admission identifier
    "origin" : { Reference(Location|Organization) }, // The location/organization from which the patient came before admission
    "admitSource" : { CodeableConcept }, // From where patient was admitted (physician referral, transfer)
    "reAdmission" : { CodeableConcept }, // Indicates that the patient is being re-admitted icon
    "destination" : { Reference(Location|Organization) }, // Location/organization to which the patient is discharged
    "dischargeDisposition" : { CodeableConcept } // Category or kind of location after discharge
  },
  "location" : [{ // List of locations where the patient has been
    "location" : { Reference(Location) }, // R!  Location the encounter takes place
    "status" : "<code>", // planned | active | reserved | completed
    "form" : { CodeableConcept }, // The physical type of the location (usually the level in the location hierarchy - bed, room, ward, virtual etc.)
    "period" : { Period } // Time period during which the patient was present at the location
  }]
}

Turtle Template

@prefix fhir: <http://hl7.org/fhir/> .doco


[ a fhir:Encounter;
  fhir:nodeRole fhir:treeRoot; # if this is the parser root

  # from Resource: .id, .meta, .implicitRules, and .language
  # from DomainResource: .text, .contained, .extension, and .modifierExtension
  fhir:identifier  ( [ Identifier ] ... ) ; # 0..* Identifier(s) by which this encounter is known
  fhir:status [ code ] ; # 1..1 planned | in-progress | on-hold | discharged | completed | cancelled | discontinued | entered-in-error | unknown
  fhir:class  ( [ CodeableConcept ] ... ) ; # 0..* Classification of patient encounter context - e.g. Inpatient, outpatient
  fhir:priority [ CodeableConcept ] ; # 0..1 Indicates the urgency of the encounter
  fhir:type  ( [ CodeableConcept ] ... ) ; # 0..* Specific type of encounter (e.g. e-mail consultation, surgical day-care, ...)
  fhir:serviceType  ( [ CodeableReference(HealthcareService) ] ... ) ; # 0..* Specific type of service
  fhir:subject [ Reference(Group|Patient) ] ; # 0..1 The patient or group related to this encounter
  fhir:subjectStatus [ CodeableConcept ] ; # 0..1 The current status of the subject in relation to the Encounter
  fhir:episodeOfCare  ( [ Reference(EpisodeOfCare) ] ... ) ; # 0..* Episode(s) of care that this encounter should be recorded against
  fhir:basedOn  ( [ Reference(CarePlan|DeviceRequest|MedicationRequest|ServiceRequest) ] ... ) ; # 0..* The request that initiated this encounter
  fhir:careTeam  ( [ Reference(CareTeam) ] ... ) ; # 0..* The group(s) that are allocated to participate in this encounter
  fhir:partOf [ Reference(Encounter) ] ; # 0..1 Another Encounter this encounter is part of
  fhir:serviceProvider [ Reference(Organization) ] ; # 0..1 The organization (facility) responsible for this encounter
  fhir:participant ( [ # 0..* List of participants involved in the encounter
    fhir:type  ( [ CodeableConcept ] ... ) ; # 0..* I Role of participant in encounter
    fhir:period [ Period ] ; # 0..1 Period of time during the encounter that the participant participated
    fhir:actor [ Reference(Device|Group|HealthcareService|Patient|Practitioner|PractitionerRole|
  RelatedPerson) ] ; # 0..1 I The individual, device, or service participating in the encounter
  ] ... ) ;
  fhir:appointment  ( [ Reference(Appointment) ] ... ) ; # 0..* The appointment that scheduled this encounter
  fhir:virtualService  ( [ VirtualServiceDetail ] ... ) ; # 0..* Connection details of a virtual service (e.g. conference call)
  fhir:actualPeriod [ Period ] ; # 0..1 The actual start and end time of the encounter
  fhir:plannedStartDate [ dateTime ] ; # 0..1 The planned start date/time (or admission date) of the encounter
  fhir:plannedEndDate [ dateTime ] ; # 0..1 The planned end date/time (or discharge date) of the encounter
  fhir:length [ Duration ] ; # 0..1 Actual quantity of time the encounter lasted (less time absent)
  fhir:reason ( [ # 0..* The list of medical reasons that are expected to be addressed during the episode of care
    fhir:use  ( [ CodeableConcept ] ... ) ; # 0..* What the reason value should be used for/as
    fhir:value  ( [ CodeableReference(Condition|DiagnosticReport|ImmunizationRecommendation|Observation|Procedure) ] ... ) ; # 0..* Reason the encounter takes place (core or reference)
  ] ... ) ;
  fhir:diagnosis ( [ # 0..* The list of diagnosis relevant to this encounter
    fhir:condition  ( [ CodeableReference(Condition) ] ... ) ; # 0..* The diagnosis relevant to the encounter
    fhir:use  ( [ CodeableConcept ] ... ) ; # 0..* Role that this diagnosis has within the encounter (e.g. admission, billing, discharge …)
  ] ... ) ;
  fhir:account  ( [ Reference(Account) ] ... ) ; # 0..* The set of accounts that may be used for billing for this Encounter
  fhir:dietPreference  ( [ CodeableConcept ] ... ) ; # 0..* Diet preferences reported by the patient
  fhir:specialArrangement  ( [ CodeableConcept ] ... ) ; # 0..* Wheelchair, translator, stretcher, etc
  fhir:specialCourtesy  ( [ CodeableConcept ] ... ) ; # 0..* Special courtesies (VIP, board member)
  fhir:admission [ # 0..1 Details about the admission to a healthcare service
    fhir:preAdmissionIdentifier [ Identifier ] ; # 0..1 Pre-admission identifier
    fhir:origin [ Reference(Location|Organization) ] ; # 0..1 The location/organization from which the patient came before admission
    fhir:admitSource [ CodeableConcept ] ; # 0..1 From where patient was admitted (physician referral, transfer)
    fhir:reAdmission [ CodeableConcept ] ; # 0..1 Indicates that the patient is being re-admitted
    fhir:destination [ Reference(Location|Organization) ] ; # 0..1 Location/organization to which the patient is discharged
    fhir:dischargeDisposition [ CodeableConcept ] ; # 0..1 Category or kind of location after discharge
  ] ;
  fhir:location ( [ # 0..* List of locations where the patient has been
    fhir:location [ Reference(Location) ] ; # 1..1 Location the encounter takes place
    fhir:status [ code ] ; # 0..1 planned | active | reserved | completed
    fhir:form [ CodeableConcept ] ; # 0..1 The physical type of the location (usually the level in the location hierarchy - bed, room, ward, virtual etc.)
    fhir:period [ Period ] ; # 0..1 Time period during which the patient was present at the location
  ] ... ) ;
]

Changes from both R4 and R4B

Encounter
Encounter.status
  • Remove codes arrived, triaged, onleave, finished
  • Add codes on-hold, discharged, completed, discontinued
Encounter.class
  • Min Cardinality changed from 1 to 0
  • Max Cardinality changed from 1 to *
  • Type changed from Coding to CodeableConcept
  • Remove Binding `http://terminology.hl7.org/ValueSet/v3-ActEncounterCode` (extensible)
Encounter.serviceType
  • Max Cardinality changed from 1 to *
  • Type changed from CodeableConcept to CodeableReference
Encounter.subjectStatus
  • Added Element
Encounter.basedOn
  • Type Reference: Added Target Types CarePlan, DeviceRequest, MedicationRequest
Encounter.careTeam
  • Added Element
Encounter.participant.actor
  • Renamed from individual to actor
  • Type Reference: Added Target Types Patient, Group, Device, HealthcareService
Encounter.virtualService
  • Added Element
Encounter.actualPeriod
  • Renamed from period to actualPeriod
Encounter.plannedStartDate
  • Added Element
Encounter.plannedEndDate
  • Added Element
Encounter.reason
  • Renamed from reasonCode to reason
  • Type changed from CodeableConcept to BackboneElement
Encounter.reason.use
  • Added Element
Encounter.reason.value
  • Added Element
Encounter.diagnosis.condition
  • Min Cardinality changed from 1 to 0
  • Max Cardinality changed from 1 to *
  • Type changed from Reference(Condition | Procedure) to CodeableReference
Encounter.diagnosis.use
  • Max Cardinality changed from 1 to *
Encounter.dietPreference
  • Moved from Encounter.hospitalization to Encounter
Encounter.specialArrangement
  • Moved from Encounter.hospitalization to Encounter
Encounter.specialCourtesy
  • Moved from Encounter.hospitalization to Encounter
Encounter.admission
  • Renamed from hospitalization to admission
Encounter.admission.preAdmissionIdentifier
  • Moved from Encounter.hospitalization to Encounter.admission
Encounter.admission.origin
  • Moved from Encounter.hospitalization to Encounter.admission
Encounter.admission.admitSource
  • Moved from Encounter.hospitalization to Encounter.admission
Encounter.admission.reAdmission
  • Moved from Encounter.hospitalization to Encounter.admission
Encounter.admission.destination
  • Moved from Encounter.hospitalization to Encounter.admission
Encounter.admission.dischargeDisposition
  • Moved from Encounter.hospitalization to Encounter.admission
Encounter.location.form
  • Renamed from physicalType to form
Encounter.statusHistory
  • Deleted (-> EncounterHistory.status)
Encounter.classHistory
  • Deleted (-> EncounterHistory.class)
Encounter.reasonReference
  • Deleted (-> Encounter.reason.reference)
Encounter.diagnosis.rank
  • Deleted (-> Account.diagnosis.sequence)

See the Full Difference for further information

This analysis is available for R4 as XML or JSON and for R4B as XML or JSON.

See R4 <--> R5 Conversion Maps (status = See Conversions Summary.)

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. Encounter TUDomainResourceAn interaction during which services are provided to the patient

Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension
... identifier Σ0..*IdentifierIdentifier(s) by which this encounter is known

... status ?!Σ1..1codeplanned | in-progress | on-hold | discharged | completed | cancelled | discontinued | entered-in-error | unknown
Binding: Encounter Status (Required)
... class Σ0..*CodeableConceptClassification of patient encounter context - e.g. Inpatient, outpatient
Binding: Encounter class icon (Preferred)

... priority 0..1CodeableConceptIndicates the urgency of the encounter
Binding: ActPriority icon (Example)
... type Σ0..*CodeableConceptSpecific type of encounter (e.g. e-mail consultation, surgical day-care, ...)
Binding: Encounter Type (Example)

... serviceType Σ0..*CodeableReference(HealthcareService)Specific type of service
Binding: Service Type (Example)

... subject Σ0..1Reference(Patient | Group)The patient or group related to this encounter
... subjectStatus 0..1CodeableConceptThe current status of the subject in relation to the Encounter
Binding: Encounter Subject Status (Example)
... episodeOfCare Σ0..*Reference(EpisodeOfCare)Episode(s) of care that this encounter should be recorded against

... basedOn 0..*Reference(CarePlan | DeviceRequest | MedicationRequest | ServiceRequest)The request that initiated this encounter

... careTeam 0..*Reference(CareTeam)The group(s) that are allocated to participate in this encounter

... partOf 0..1Reference(Encounter)Another Encounter this encounter is part of
... serviceProvider 0..1Reference(Organization)The organization (facility) responsible for this encounter
... participant ΣC0..*BackboneElementList of participants involved in the encounter
+ Rule: A type must be provided when no explicit actor is specified
+ Rule: A type cannot be provided for a patient or group participant

.... type ΣC0..*CodeableConceptRole of participant in encounter
Binding: Participant Type (Extensible)

.... period 0..1PeriodPeriod of time during the encounter that the participant participated
.... actor ΣC0..1Reference(Patient | Group | RelatedPerson | Practitioner | PractitionerRole | Device | HealthcareService)The individual, device, or service participating in the encounter
... appointment Σ0..*Reference(Appointment)The appointment that scheduled this encounter

... virtualService 0..*VirtualServiceDetailConnection details of a virtual service (e.g. conference call)

... actualPeriod 0..1PeriodThe actual start and end time of the encounter
... plannedStartDate 0..1dateTimeThe planned start date/time (or admission date) of the encounter
... plannedEndDate 0..1dateTimeThe planned end date/time (or discharge date) of the encounter
... length 0..1DurationActual quantity of time the encounter lasted (less time absent)
... reason Σ0..*BackboneElementThe list of medical reasons that are expected to be addressed during the episode of care

.... use Σ0..*CodeableConceptWhat the reason value should be used for/as
Binding: Encounter Reason Use (Example)

.... value Σ0..*CodeableReference(Condition | DiagnosticReport | Observation | ImmunizationRecommendation | Procedure)Reason the encounter takes place (core or reference)
Binding: Encounter Reason Codes (Preferred)

... diagnosis Σ0..*BackboneElementThe list of diagnosis relevant to this encounter

.... condition Σ0..*CodeableReference(Condition)The diagnosis relevant to the encounter
Binding: Condition/Problem/Diagnosis Codes (Example)

.... use 0..*CodeableConceptRole that this diagnosis has within the encounter (e.g. admission, billing, discharge …)
Binding: Encounter Diagnosis Use (Preferred)

... account 0..*Reference(Account)The set of accounts that may be used for billing for this Encounter

... dietPreference 0..*CodeableConceptDiet preferences reported by the patient
Binding: Diet (Example)

... specialArrangement 0..*CodeableConceptWheelchair, translator, stretcher, etc
Binding: Special Arrangements (Preferred)

... specialCourtesy 0..*CodeableConceptSpecial courtesies (VIP, board member)
Binding: Special Courtesy (Preferred)

... admission 0..1BackboneElementDetails about the admission to a healthcare service
.... preAdmissionIdentifier 0..1IdentifierPre-admission identifier
.... origin 0..1Reference(Location | Organization)The location/organization from which the patient came before admission
.... admitSource 0..1CodeableConceptFrom where patient was admitted (physician referral, transfer)
Binding: Admit Source (Preferred)
.... reAdmission 0..1CodeableConceptIndicates that the patient is being re-admitted
Binding: hl7VS-re-admissionIndicator icon (Example)
.... destination 0..1Reference(Location | Organization)Location/organization to which the patient is discharged
.... dischargeDisposition 0..1CodeableConceptCategory or kind of location after discharge
Binding: Discharge Disposition (Example)
... location 0..*BackboneElementList of locations where the patient has been

.... location 1..1Reference(Location)Location the encounter takes place
.... status 0..1codeplanned | active | reserved | completed
Binding: Encounter Location Status (Required)
.... form 0..1CodeableConceptThe physical type of the location (usually the level in the location hierarchy - bed, room, ward, virtual etc.)
Binding: Location Form (Example)
.... period 0..1PeriodTime period during which the patient was present at the location

doco Documentation for this format icon

See the Extensions for this resource

UML Diagram (Legend)

Encounter (DomainResource)Identifier(s) by which this encounter is knownidentifier : Identifier [0..*]The current state of the encounter (not the state of the patient within the encounter - that is subjectState) (this element modifies the meaning of other elements)status : code [1..1] « null (Strength=Required)EncounterStatus! »Concepts representing classification of patient encounter such as ambulatory (outpatient), inpatient, emergency, home health or others due to local variationsclass : CodeableConcept [0..*] « null (Strength=Preferred)EncounterClass? »Indicates the urgency of the encounterpriority : CodeableConcept [0..1] « null (Strength=Example)ActPriority?? »Specific type of encounter (e.g. e-mail consultation, surgical day-care, skilled nursing, rehabilitation)type : CodeableConcept [0..*] « The type of encounter. (Strength=Example)EncounterType?? »Broad categorization of the service that is to be provided (e.g. cardiology)serviceType : CodeableReference [0..*] « HealthcareService; null (Strength=Example) ServiceType?? »The patient or group related to this encounter. In some use-cases the patient MAY not be present, such as a case meeting about a patient between several practitioners or a careteamsubject : Reference [0..1] « Patient|Group »The subjectStatus value can be used to track the patient's status within the encounter. It details whether the patient has arrived or departed, has been triaged or is currently in a waiting statussubjectStatus : CodeableConcept [0..1] « null (Strength=Example)EncounterSubjectStatus?? »Where a specific encounter should be classified as a part of a specific episode(s) of care this field should be used. This association can facilitate grouping of related encounters together for a specific purpose, such as government reporting, issue tracking, association via a common problem. The association is recorded on the encounter as these are typically created after the episode of care and grouped on entry rather than editing the episode of care to append another encounter to it (the episode of care could span years)episodeOfCare : Reference [0..*] « EpisodeOfCare »The request this encounter satisfies (e.g. incoming referral or procedure request)basedOn : Reference [0..*] « CarePlan|DeviceRequest| MedicationRequest|ServiceRequest »The group(s) of individuals, organizations that are allocated to participate in this encounter. The participants backbone will record the actuals of when these individuals participated during the encountercareTeam : Reference [0..*] « CareTeam »Another Encounter of which this encounter is a part of (administratively or in time)partOf : Reference [0..1] « Encounter »The organization that is primarily responsible for this Encounter's services. This MAY be the same as the organization on the Patient record, however it could be different, such as if the actor performing the services was from an external organization (which may be billed seperately) for an external consultation. Refer to the colonoscopy example on the Encounter examples tabserviceProvider : Reference [0..1] « Organization »The appointment that scheduled this encounterappointment : Reference [0..*] « Appointment »Connection details of a virtual service (e.g. conference call)virtualService : VirtualServiceDetail [0..*]The actual start and end time of the encounteractualPeriod : Period [0..1]The planned start date/time (or admission date) of the encounterplannedStartDate : dateTime [0..1]The planned end date/time (or discharge date) of the encounterplannedEndDate : dateTime [0..1]Actual quantity of time the encounter lasted. This excludes the time during leaves of absence. When missing it is the time in between the start and end valueslength : Duration [0..1]The set of accounts that may be used for billing for this Encounteraccount : Reference [0..*] « Account »Diet preferences reported by the patientdietPreference : CodeableConcept [0..*] « null (Strength=Example)EncounterDiet?? »Any special requests that have been made for this encounter, such as the provision of specific equipment or other thingsspecialArrangement : CodeableConcept [0..*] « null (Strength=Preferred)SpecialArrangements? »Special courtesies that may be provided to the patient during the encounter (VIP, board member, professional courtesy)specialCourtesy : CodeableConcept [0..*] « null (Strength=Preferred)SpecialCourtesy? »ParticipantRole of participant in encountertype : CodeableConcept [0..*] « null (Strength=Extensible)ParticipantType+ » « This element has or is affected by some invariantsC »The period of time that the specified participant participated in the encounter. These can overlap or be sub-sets of the overall encounter's periodperiod : Period [0..1]Person involved in the encounter, the patient/group is also included here to indicate that the patient was actually participating in the encounter. Not including the patient here covers use cases such as a case meeting between practitioners about a patient - non contact timesactor : Reference [0..1] « Patient|Group|RelatedPerson|Practitioner| PractitionerRole|Device|HealthcareService » « This element has or is affected by some invariantsC »ReasonWhat the reason value should be used as e.g. Chief Complaint, Health Concern, Health Maintenance (including screening)use : CodeableConcept [0..*] « null (Strength=Example)EncounterReasonUse?? »Reason the encounter takes place, expressed as a code or a reference to another resource. For admissions, this can be used for a coded admission diagnosisvalue : CodeableReference [0..*] « Condition|DiagnosticReport| Observation|ImmunizationRecommendation|Procedure; null (Strength=Preferred) EncounterReasonCodes? »DiagnosisThe coded diagnosis or a reference to a Condition (with other resources referenced in the evidence.detail), the use property will indicate the purpose of this specific diagnosiscondition : CodeableReference [0..*] « Condition; null (Strength=Example) ConditionProblemDiagnosisCodes?? »Role that this diagnosis has within the encounter (e.g. admission, billing, discharge …)use : CodeableConcept [0..*] « null (Strength=Preferred)EncounterDiagnosisUse? »AdmissionPre-admission identifierpreAdmissionIdentifier : Identifier [0..1]The location/organization from which the patient came before admissionorigin : Reference [0..1] « Location|Organization »From where patient was admitted (physician referral, transfer)admitSource : CodeableConcept [0..1] « null (Strength=Preferred)AdmitSource? »Indicates that this encounter is directly related to a prior admission, often because the conditions addressed in the prior admission were not fully addressedreAdmission : CodeableConcept [0..1] « null (Strength=Example)Hl7VSReAdmissionIndicator?? »Location/organization to which the patient is dischargeddestination : Reference [0..1] « Location|Organization »Category or kind of location after dischargedischargeDisposition : CodeableConcept [0..1] « null (Strength=Example)DischargeDisposition?? »LocationThe location where the encounter takes placelocation : Reference [1..1] « Location »The status of the participants' presence at the specified location during the period specified. If the participant is no longer at the location, then the period will have an end date/timestatus : code [0..1] « null (Strength=Required)EncounterLocationStatus! »This will be used to specify the required levels (bed/ward/room/etc.) desired to be recorded to simplify either messaging or queryform : CodeableConcept [0..1] « null (Strength=Example)LocationForm?? »Time period during which the patient was present at the locationperiod : Period [0..1]The list of people responsible for providing the serviceparticipant[0..*]The list of medical reasons that are expected to be addressed during the episode of carereason[0..*]The list of diagnosis relevant to this encounterdiagnosis[0..*]Details about the stay during which a healthcare service is provided. This does not describe the event of admitting the patient, but rather any information that is relevant from the time of admittance until the time of dischargeadmission[0..1]List of locations where the patient has been during this encounterlocation[0..*]

XML Template

<Encounter xmlns="http://hl7.org/fhir"> doco
 <!-- from Resource: id, meta, implicitRules, and language -->
 <!-- from DomainResource: text, contained, extension, and modifierExtension -->
 <identifier><!-- 0..* Identifier Identifier(s) by which this encounter is known --></identifier>
 <status value="[code]"/><!-- 1..1 planned | in-progress | on-hold | discharged | completed | cancelled | discontinued | entered-in-error | unknown -->
 <class><!-- 0..* CodeableConcept Classification of patient encounter context - e.g. Inpatient, outpatient icon --></class>
 <priority><!-- 0..1 CodeableConcept Indicates the urgency of the encounter icon --></priority>
 <type><!-- 0..* CodeableConcept Specific type of encounter (e.g. e-mail consultation, surgical day-care, ...) --></type>
 <serviceType><!-- 0..* CodeableReference(HealthcareService) Specific type of service --></serviceType>
 <subject><!-- 0..1 Reference(Group|Patient) The patient or group related to this encounter --></subject>
 <subjectStatus><!-- 0..1 CodeableConcept The current status of the subject in relation to the Encounter --></subjectStatus>
 <episodeOfCare><!-- 0..* Reference(EpisodeOfCare) Episode(s) of care that this encounter should be recorded against --></episodeOfCare>
 <basedOn><!-- 0..* Reference(CarePlan|DeviceRequest|MedicationRequest|
   ServiceRequest) The request that initiated this encounter --></basedOn>
 <careTeam><!-- 0..* Reference(CareTeam) The group(s) that are allocated to participate in this encounter --></careTeam>
 <partOf><!-- 0..1 Reference(Encounter) Another Encounter this encounter is part of --></partOf>
 <serviceProvider><!-- 0..1 Reference(Organization) The organization (facility) responsible for this encounter --></serviceProvider>
 <participant>  <!-- 0..* List of participants involved in the encounter -->
  <type><!-- I 0..* CodeableConcept Role of participant in encounter --></type>
  <period><!-- 0..1 Period Period of time during the encounter that the participant participated --></period>
  <actor><!-- I 0..1 Reference(Device|Group|HealthcareService|Patient|Practitioner|
    PractitionerRole|RelatedPerson) The individual, device, or service participating in the encounter --></actor>
 </participant>
 <appointment><!-- 0..* Reference(Appointment) The appointment that scheduled this encounter --></appointment>
 <virtualService><!-- 0..* VirtualServiceDetail Connection details of a virtual service (e.g. conference call) --></virtualService>
 <actualPeriod><!-- 0..1 Period The actual start and end time of the encounter --></actualPeriod>
 <plannedStartDate value="[dateTime]"/><!-- 0..1 The planned start date/time (or admission date) of the encounter -->
 <plannedEndDate value="[dateTime]"/><!-- 0..1 The planned end date/time (or discharge date) of the encounter -->
 <length><!-- 0..1 Duration Actual quantity of time the encounter lasted (less time absent) --></length>
 <reason>  <!-- 0..* The list of medical reasons that are expected to be addressed during the episode of care -->
  <use><!-- 0..* CodeableConcept What the reason value should be used for/as --></use>
  <value><!-- 0..* CodeableReference(Condition|DiagnosticReport|
    ImmunizationRecommendation|Observation|Procedure) Reason the encounter takes place (core or reference) --></value>
 </reason>
 <diagnosis>  <!-- 0..* The list of diagnosis relevant to this encounter -->
  <condition><!-- 0..* CodeableReference(Condition) The diagnosis relevant to the encounter --></condition>
  <use><!-- 0..* CodeableConcept Role that this diagnosis has within the encounter (e.g. admission, billing, discharge …) --></use>
 </diagnosis>
 <account><!-- 0..* Reference(Account) The set of accounts that may be used for billing for this Encounter --></account>
 <dietPreference><!-- 0..* CodeableConcept Diet preferences reported by the patient --></dietPreference>
 <specialArrangement><!-- 0..* CodeableConcept Wheelchair, translator, stretcher, etc --></specialArrangement>
 <specialCourtesy><!-- 0..* CodeableConcept Special courtesies (VIP, board member) --></specialCourtesy>
 <admission>  <!-- 0..1 Details about the admission to a healthcare service -->
  <preAdmissionIdentifier><!-- 0..1 Identifier Pre-admission identifier --></preAdmissionIdentifier>
  <origin><!-- 0..1 Reference(Location|Organization) The location/organization from which the patient came before admission --></origin>
  <admitSource><!-- 0..1 CodeableConcept From where patient was admitted (physician referral, transfer) --></admitSource>
  <reAdmission><!-- 0..1 CodeableConcept Indicates that the patient is being re-admitted icon --></reAdmission>
  <destination><!-- 0..1 Reference(Location|Organization) Location/organization to which the patient is discharged --></destination>
  <dischargeDisposition><!-- 0..1 CodeableConcept Category or kind of location after discharge --></dischargeDisposition>
 </admission>
 <location>  <!-- 0..* List of locations where the patient has been -->
  <location><!-- 1..1 Reference(Location) Location the encounter takes place --></location>
  <status value="[code]"/><!-- 0..1 planned | active | reserved | completed -->
  <form><!-- 0..1 CodeableConcept The physical type of the location (usually the level in the location hierarchy - bed, room, ward, virtual etc.) --></form>
  <period><!-- 0..1 Period Time period during which the patient was present at the location --></period>
 </location>
</Encounter>

JSON Template

{doco
  "resourceType" : "Encounter",
  // from Resource: id, meta, implicitRules, and language
  // from DomainResource: text, contained, extension, and modifierExtension
  "identifier" : [{ Identifier }], // Identifier(s) by which this encounter is known
  "status" : "<code>", // R!  planned | in-progress | on-hold | discharged | completed | cancelled | discontinued | entered-in-error | unknown
  "class" : [{ CodeableConcept }], // Classification of patient encounter context - e.g. Inpatient, outpatient icon
  "priority" : { CodeableConcept }, // Indicates the urgency of the encounter icon
  "type" : [{ CodeableConcept }], // Specific type of encounter (e.g. e-mail consultation, surgical day-care, ...)
  "serviceType" : [{ CodeableReference(HealthcareService) }], // Specific type of service
  "subject" : { Reference(Group|Patient) }, // The patient or group related to this encounter
  "subjectStatus" : { CodeableConcept }, // The current status of the subject in relation to the Encounter
  "episodeOfCare" : [{ Reference(EpisodeOfCare) }], // Episode(s) of care that this encounter should be recorded against
  "basedOn" : [{ Reference(CarePlan|DeviceRequest|MedicationRequest|
   ServiceRequest) }], // The request that initiated this encounter
  "careTeam" : [{ Reference(CareTeam) }], // The group(s) that are allocated to participate in this encounter
  "partOf" : { Reference(Encounter) }, // Another Encounter this encounter is part of
  "serviceProvider" : { Reference(Organization) }, // The organization (facility) responsible for this encounter
  "participant" : [{ // List of participants involved in the encounter
    "type" : [{ CodeableConcept }], // I Role of participant in encounter
    "period" : { Period }, // Period of time during the encounter that the participant participated
    "actor" : { Reference(Device|Group|HealthcareService|Patient|Practitioner|
    PractitionerRole|RelatedPerson) } // I The individual, device, or service participating in the encounter
  }],
  "appointment" : [{ Reference(Appointment) }], // The appointment that scheduled this encounter
  "virtualService" : [{ VirtualServiceDetail }], // Connection details of a virtual service (e.g. conference call)
  "actualPeriod" : { Period }, // The actual start and end time of the encounter
  "plannedStartDate" : "<dateTime>", // The planned start date/time (or admission date) of the encounter
  "plannedEndDate" : "<dateTime>", // The planned end date/time (or discharge date) of the encounter
  "length" : { Duration }, // Actual quantity of time the encounter lasted (less time absent)
  "reason" : [{ // The list of medical reasons that are expected to be addressed during the episode of care
    "use" : [{ CodeableConcept }], // What the reason value should be used for/as
    "value" : [{ CodeableReference(Condition|DiagnosticReport|
    ImmunizationRecommendation|Observation|Procedure) }] // Reason the encounter takes place (core or reference)
  }],
  "diagnosis" : [{ // The list of diagnosis relevant to this encounter
    "condition" : [{ CodeableReference(Condition) }], // The diagnosis relevant to the encounter
    "use" : [{ CodeableConcept }] // Role that this diagnosis has within the encounter (e.g. admission, billing, discharge …)
  }],
  "account" : [{ Reference(Account) }], // The set of accounts that may be used for billing for this Encounter
  "dietPreference" : [{ CodeableConcept }], // Diet preferences reported by the patient
  "specialArrangement" : [{ CodeableConcept }], // Wheelchair, translator, stretcher, etc
  "specialCourtesy" : [{ CodeableConcept }], // Special courtesies (VIP, board member)
  "admission" : { // Details about the admission to a healthcare service
    "preAdmissionIdentifier" : { Identifier }, // Pre-admission identifier
    "origin" : { Reference(Location|Organization) }, // The location/organization from which the patient came before admission
    "admitSource" : { CodeableConcept }, // From where patient was admitted (physician referral, transfer)
    "reAdmission" : { CodeableConcept }, // Indicates that the patient is being re-admitted icon
    "destination" : { Reference(Location|Organization) }, // Location/organization to which the patient is discharged
    "dischargeDisposition" : { CodeableConcept } // Category or kind of location after discharge
  },
  "location" : [{ // List of locations where the patient has been
    "location" : { Reference(Location) }, // R!  Location the encounter takes place
    "status" : "<code>", // planned | active | reserved | completed
    "form" : { CodeableConcept }, // The physical type of the location (usually the level in the location hierarchy - bed, room, ward, virtual etc.)
    "period" : { Period } // Time period during which the patient was present at the location
  }]
}

Turtle Template

@prefix fhir: <http://hl7.org/fhir/> .doco


[ a fhir:Encounter;
  fhir:nodeRole fhir:treeRoot; # if this is the parser root

  # from Resource: .id, .meta, .implicitRules, and .language
  # from DomainResource: .text, .contained, .extension, and .modifierExtension
  fhir:identifier  ( [ Identifier ] ... ) ; # 0..* Identifier(s) by which this encounter is known
  fhir:status [ code ] ; # 1..1 planned | in-progress | on-hold | discharged | completed | cancelled | discontinued | entered-in-error | unknown
  fhir:class  ( [ CodeableConcept ] ... ) ; # 0..* Classification of patient encounter context - e.g. Inpatient, outpatient
  fhir:priority [ CodeableConcept ] ; # 0..1 Indicates the urgency of the encounter
  fhir:type  ( [ CodeableConcept ] ... ) ; # 0..* Specific type of encounter (e.g. e-mail consultation, surgical day-care, ...)
  fhir:serviceType  ( [ CodeableReference(HealthcareService) ] ... ) ; # 0..* Specific type of service
  fhir:subject [ Reference(Group|Patient) ] ; # 0..1 The patient or group related to this encounter
  fhir:subjectStatus [ CodeableConcept ] ; # 0..1 The current status of the subject in relation to the Encounter
  fhir:episodeOfCare  ( [ Reference(EpisodeOfCare) ] ... ) ; # 0..* Episode(s) of care that this encounter should be recorded against
  fhir:basedOn  ( [ Reference(CarePlan|DeviceRequest|MedicationRequest|ServiceRequest) ] ... ) ; # 0..* The request that initiated this encounter
  fhir:careTeam  ( [ Reference(CareTeam) ] ... ) ; # 0..* The group(s) that are allocated to participate in this encounter
  fhir:partOf [ Reference(Encounter) ] ; # 0..1 Another Encounter this encounter is part of
  fhir:serviceProvider [ Reference(Organization) ] ; # 0..1 The organization (facility) responsible for this encounter
  fhir:participant ( [ # 0..* List of participants involved in the encounter
    fhir:type  ( [ CodeableConcept ] ... ) ; # 0..* I Role of participant in encounter
    fhir:period [ Period ] ; # 0..1 Period of time during the encounter that the participant participated
    fhir:actor [ Reference(Device|Group|HealthcareService|Patient|Practitioner|PractitionerRole|
  RelatedPerson) ] ; # 0..1 I The individual, device, or service participating in the encounter
  ] ... ) ;
  fhir:appointment  ( [ Reference(Appointment) ] ... ) ; # 0..* The appointment that scheduled this encounter
  fhir:virtualService  ( [ VirtualServiceDetail ] ... ) ; # 0..* Connection details of a virtual service (e.g. conference call)
  fhir:actualPeriod [ Period ] ; # 0..1 The actual start and end time of the encounter
  fhir:plannedStartDate [ dateTime ] ; # 0..1 The planned start date/time (or admission date) of the encounter
  fhir:plannedEndDate [ dateTime ] ; # 0..1 The planned end date/time (or discharge date) of the encounter
  fhir:length [ Duration ] ; # 0..1 Actual quantity of time the encounter lasted (less time absent)
  fhir:reason ( [ # 0..* The list of medical reasons that are expected to be addressed during the episode of care
    fhir:use  ( [ CodeableConcept ] ... ) ; # 0..* What the reason value should be used for/as
    fhir:value  ( [ CodeableReference(Condition|DiagnosticReport|ImmunizationRecommendation|Observation|Procedure) ] ... ) ; # 0..* Reason the encounter takes place (core or reference)
  ] ... ) ;
  fhir:diagnosis ( [ # 0..* The list of diagnosis relevant to this encounter
    fhir:condition  ( [ CodeableReference(Condition) ] ... ) ; # 0..* The diagnosis relevant to the encounter
    fhir:use  ( [ CodeableConcept ] ... ) ; # 0..* Role that this diagnosis has within the encounter (e.g. admission, billing, discharge …)
  ] ... ) ;
  fhir:account  ( [ Reference(Account) ] ... ) ; # 0..* The set of accounts that may be used for billing for this Encounter
  fhir:dietPreference  ( [ CodeableConcept ] ... ) ; # 0..* Diet preferences reported by the patient
  fhir:specialArrangement  ( [ CodeableConcept ] ... ) ; # 0..* Wheelchair, translator, stretcher, etc
  fhir:specialCourtesy  ( [ CodeableConcept ] ... ) ; # 0..* Special courtesies (VIP, board member)
  fhir:admission [ # 0..1 Details about the admission to a healthcare service
    fhir:preAdmissionIdentifier [ Identifier ] ; # 0..1 Pre-admission identifier
    fhir:origin [ Reference(Location|Organization) ] ; # 0..1 The location/organization from which the patient came before admission
    fhir:admitSource [ CodeableConcept ] ; # 0..1 From where patient was admitted (physician referral, transfer)
    fhir:reAdmission [ CodeableConcept ] ; # 0..1 Indicates that the patient is being re-admitted
    fhir:destination [ Reference(Location|Organization) ] ; # 0..1 Location/organization to which the patient is discharged
    fhir:dischargeDisposition [ CodeableConcept ] ; # 0..1 Category or kind of location after discharge
  ] ;
  fhir:location ( [ # 0..* List of locations where the patient has been
    fhir:location [ Reference(Location) ] ; # 1..1 Location the encounter takes place
    fhir:status [ code ] ; # 0..1 planned | active | reserved | completed
    fhir:form [ CodeableConcept ] ; # 0..1 The physical type of the location (usually the level in the location hierarchy - bed, room, ward, virtual etc.)
    fhir:period [ Period ] ; # 0..1 Time period during which the patient was present at the location
  ] ... ) ;
]

Changes from both R4 and R4B

Encounter
Encounter.status
  • Remove codes arrived, triaged, onleave, finished
  • Add codes on-hold, discharged, completed, discontinued
Encounter.class
  • Min Cardinality changed from 1 to 0
  • Max Cardinality changed from 1 to *
  • Type changed from Coding to CodeableConcept
  • Remove Binding `http://terminology.hl7.org/ValueSet/v3-ActEncounterCode` (extensible)
Encounter.serviceType
  • Max Cardinality changed from 1 to *
  • Type changed from CodeableConcept to CodeableReference
Encounter.subjectStatus
  • Added Element
Encounter.basedOn
  • Type Reference: Added Target Types CarePlan, DeviceRequest, MedicationRequest
Encounter.careTeam
  • Added Element
Encounter.participant.actor
  • Renamed from individual to actor
  • Type Reference: Added Target Types Patient, Group, Device, HealthcareService
Encounter.virtualService
  • Added Element
Encounter.actualPeriod
  • Renamed from period to actualPeriod
Encounter.plannedStartDate
  • Added Element
Encounter.plannedEndDate
  • Added Element
Encounter.reason
  • Renamed from reasonCode to reason
  • Type changed from CodeableConcept to BackboneElement
Encounter.reason.use
  • Added Element
Encounter.reason.value
  • Added Element
Encounter.diagnosis.condition
  • Min Cardinality changed from 1 to 0
  • Max Cardinality changed from 1 to *
  • Type changed from Reference(Condition | Procedure) to CodeableReference
Encounter.diagnosis.use
  • Max Cardinality changed from 1 to *
Encounter.dietPreference
  • Moved from Encounter.hospitalization to Encounter
Encounter.specialArrangement
  • Moved from Encounter.hospitalization to Encounter
Encounter.specialCourtesy
  • Moved from Encounter.hospitalization to Encounter
Encounter.admission
  • Renamed from hospitalization to admission
Encounter.admission.preAdmissionIdentifier
  • Moved from Encounter.hospitalization to Encounter.admission
Encounter.admission.origin
  • Moved from Encounter.hospitalization to Encounter.admission
Encounter.admission.admitSource
  • Moved from Encounter.hospitalization to Encounter.admission
Encounter.admission.reAdmission
  • Moved from Encounter.hospitalization to Encounter.admission
Encounter.admission.destination
  • Moved from Encounter.hospitalization to Encounter.admission
Encounter.admission.dischargeDisposition
  • Moved from Encounter.hospitalization to Encounter.admission
Encounter.location.form
  • Renamed from physicalType to form
Encounter.statusHistory
  • Deleted (-> EncounterHistory.status)
Encounter.classHistory
  • Deleted (-> EncounterHistory.class)
Encounter.reasonReference
  • Deleted (-> Encounter.reason.reference)
Encounter.diagnosis.rank
  • Deleted (-> Account.diagnosis.sequence)

See the Full Difference for further information

This analysis is available for R4 as XML or JSON and for R4B as XML or JSON.

See R4 <--> R5 Conversion Maps (status = See Conversions Summary.)

 

Additional definitions: Master Definition XML + JSON, XML Schema/Schematron + JSON Schema, ShEx (for Turtle) + see the extensions, the spreadsheet version & the dependency analysis

PathValueSetTypeDocumentation
Encounter.status EncounterStatus Required

Current state of the encounter.

Encounter.class EncounterClass icon Preferred

This value set defines a set of codes that can be used to indicate the class of encounter: a specific code indicating class of service provided.

Encounter.priority ActPriority icon Example

A code or set of codes (e.g., for routine, emergency,) specifying the urgency under which the Act happened, can happen, is happening, is intended to happen, or is requested/demanded to happen.

Discussion: This attribute is used in orders to indicate the ordered priority, and in event documentation it indicates the actual priority used to perform the act. In definition mood it indicates the available priorities.

Encounter.type EncounterType Example

This example value set defines a set of codes that can be used to indicate the type of encounter: a specific code indicating type of service provided.

Encounter.serviceType ServiceType Example

This value set defines an example set of codes of service-types.

Encounter.subjectStatus EncounterSubjectStatus Example

This example value set defines a set of codes that can be used to indicate the status of the subject within the encounter

Encounter.participant.type ParticipantType Extensible

This value set defines a set of codes that can be used to indicate how an individual participates in an encounter.

Encounter.reason.use EncounterReasonUse Example

What a specific Encounter/EpisodeOfCare reason.value is to be used for.

Encounter.reason.value EncounterReasonCodes Preferred

This examples value set defines the set of codes that can be used to indicate reasons for an encounter.

Encounter.diagnosis.condition ConditionProblemDiagnosisCodes Example

Example value set for Condition/Problem/Diagnosis codes.

Encounter.diagnosis.use EncounterDiagnosisUse Preferred

What a specific Encounter/EpisodeOfCare diagnosis.condition is to be used for.

Encounter.dietPreference EncounterDiet (a valid code from Diet icon)Example

This value set defines a set of codes that can be used to indicate dietary preferences or restrictions a patient may have.

Encounter.specialArrangement SpecialArrangements Preferred

This value set defines a set of codes that can be used to indicate the kinds of special arrangements in place for a patients visit.

Encounter.specialCourtesy SpecialCourtesy Preferred

This value set defines a set of codes that can be used to indicate special courtesies provided to the patient.

Encounter.admission.admitSource AdmitSource Preferred

This value set defines a set of codes that can be used to indicate from where the patient came in.

Encounter.admission.reAdmission Hl7VSReAdmissionIndicator icon (a valid code from re-admissionIndicator icon)Example

Value Set of codes which are used to specify that a patient is being re-admitted to a healthcare facility from which they were discharged, and indicates the circumstances around such re-admission.

Encounter.admission.dischargeDisposition DischargeDisposition Example

This value set defines a set of codes that can be used to where the patient left the hospital.

Encounter.location.status EncounterLocationStatus Required

The status of the location.

Encounter.location.form LocationForm (a valid code from Location type icon)Example

This example value set defines a set of codes that can be used to indicate the physical form of the Location.

UniqueKeyLevelLocationDescriptionExpression
img enc-1Rule Encounter.participantA type must be provided when no explicit actor is specifiedactor.exists() or type.exists()
img enc-2Rule Encounter.participantA type cannot be provided for a patient or group participantactor.exists(resolve() is Patient or resolve() is Group) implies type.exists().not()

  • The class element describes the setting (in/outpatient etc.) in which the Encounter took place. Since this is important for interpreting the context of the encounter, choosing the appropriate business rules to enforce and for the management of the process, this element is required.

As stated, Encounter allows a flexible nesting of Encounters using the partOf element. For example:

  • A patient is admitted for two weeks - This could be modeled using a single Encounter instance, in which the start and length are given for the duration of the whole stay. The admitting doctor and the responsible doctor during the stay are specified using the Participant component.
  • During the encounter, the patient moves from the admitting department to the Intensive Care unit and back - Three more detailed additional Encounters can be created, one for each location in which the patient stayed. Each of these Encounters has a single location (twice the admitting department and once the Intensive Care unit) and one or more participants at that location. These Encounters may use the partOf relationship to indicate these movements occurred during the longer overarching Encounter.
  • During the last part of the stay, the patient is visited by the members of the multi-disciplinary team that treated him for final evaluation - If relevant, for each of these short visits, an Encounter may be created with a single participant. Since these took place during the last part of the stay, the partOf element can be used to associate these short visits with either the third patient movement or the bigger overall encounter.

Exactly how the Encounter is used depends on information available in the source system, the relevance of exchange of each level of Encounter and demands specific to the communicating partners. The expectation is that for each domain of exchange, profiles are used to limit the flexibility of Encounter to meet the demands of the use case.

Search parameters for this resource. See also the full list of search parameters for this resource, and check the Extensions registry for search parameters on extensions related to this resource. The common parameters also apply. See Searching for more information about searching in REST, messaging, and services.

NameTypeDescriptionExpressionIn Common
accountreferenceThe set of accounts that may be used for billing for this EncounterEncounter.account
(Account)
appointmentreferenceThe appointment that scheduled this encounterEncounter.appointment
(Appointment)
based-onreferenceThe ServiceRequest that initiated this encounterEncounter.basedOn
(CarePlan, MedicationRequest, DeviceRequest, ServiceRequest)
careteamreferenceCareteam allocated to participate in the encounterEncounter.careTeam
(CareTeam)
classtokenClassification of patient encounterEncounter.class
datedateA date within the actualPeriod the Encounter lastedEncounter.actualPeriod27 Resources
date-startdateThe actual start date of the EncounterEncounter.actualPeriod.start
diagnosis-codetokenThe diagnosis or procedure relevant to the encounter (coded)Encounter.diagnosis.condition.concept
diagnosis-referencereferenceThe diagnosis or procedure relevant to the encounter (resource reference)Encounter.diagnosis.condition.reference
end-datedateThe actual end date of the EncounterEncounter.actualPeriod.end
episode-of-carereferenceEpisode(s) of care that this encounter should be recorded againstEncounter.episodeOfCare
(EpisodeOfCare)
identifiertokenIdentifier(s) by which this encounter is knownEncounter.identifier65 Resources
lengthquantityLength of encounter in daysEncounter.length
locationreferenceLocation the encounter takes placeEncounter.location.location
(Location)
location-periodcompositeTime period during which the patient was present at the locationOn Encounter.location:
  location: location.reference
  period: period
part-ofreferenceAnother Encounter this encounter is part ofEncounter.partOf
(Encounter)
participantreferencePersons involved in the encounter other than the patientEncounter.participant.actor
(Practitioner, Group, Device, Patient, HealthcareService, PractitionerRole, RelatedPerson)
participant-typetokenRole of participant in encounterEncounter.participant.type
patientreferenceThe patient present at the encounterEncounter.subject.where(resolve() is Patient)
(Patient)
66 Resources
practitionerreferencePersons involved in the encounter other than the patientEncounter.participant.actor.where(resolve() is Practitioner)
(Practitioner)
reason-codetokenReference to a concept (coded)Encounter.reason.value.concept
reason-referencereferenceReference to a resource (resource reference)Encounter.reason.value.reference
service-providerreferenceThe organization (facility) responsible for this encounterEncounter.serviceProvider
(Organization)
special-arrangementtokenWheelchair, translator, stretcher, etc.Encounter.specialArrangement
statustokenplanned | in-progress | on-hold | completed | cancelled | entered-in-error | unknownEncounter.status
subjectreferenceThe patient or group present at the encounterEncounter.subject
(Group, Patient)
subject-statustokenThe current status of the subject in relation to the EncounterEncounter.subjectStatus
typetokenSpecific type of encounterEncounter.type11 Resources