Release 4B Snapshot #1

This page is part of the FHIR Specification v4.3.0-snapshot1: R4B Snapshot to support the Jan 2022 Connectathon. About the R4B version of FHIR. The current officially released version is 4.3.0. 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 Work GroupMaturity Level: 2 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.

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 Hospitalization 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 hospitalization. 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 Hospitalization component is intended to store the extended information relating to a hospitalization 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.indication) 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. Typically these are in order or the organization's workflow: planned, in-progress, finished/cancelled.
This status information is often used for other things, and often an analysis of the status history is required. This could be done by scanning through all the versions of the encounter, checking the period of each, and then doing some form of post processing. To ease the burden of this (or where a system doesn't support resource histories) a status history component is included.

There is no direct indication purely by the status 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).
Statuses of "arrived", "triaged" or "in progress" could be considered the start of the admission, and also have the presence of the hospitalization sub-component entered.

The "on leave" 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.
The location is also likely to be filled in with a location status of "present".
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.

This resource is referenced by AdverseEvent, AllergyIntolerance, CarePlan, CareTeam, ChargeItem, Claim, ClinicalImpression, Communication, CommunicationRequest, Composition, Condition, Contract, DeviceRequest, DiagnosticReport, DocumentReference, itself, ExplanationOfBenefit, Flag, GuidanceResponse, ImagingStudy, Immunization, List, Media, MedicationAdministration, MedicationDispense, MedicationRequest, MedicationStatement, NutritionOrder, Observation, Procedure, QuestionnaireResponse, RequestGroup, RiskAssessment, ServiceRequest, Task and VisionPrescription.

This resource implements the Event pattern.

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 | arrived | triaged | in-progress | onleave | finished | cancelled +
EncounterStatus (Required)
... statusHistory 0..*BackboneElementList of past encounter statuses
.... status 1..1codeplanned | arrived | triaged | in-progress | onleave | finished | cancelled +
EncounterStatus (Required)
.... period 1..1PeriodThe time that the episode was in the specified status
... classHistory 0..*BackboneElementList of past encounter classes
.... class 1..1Codinginpatient | outpatient | ambulatory | emergency +
ActEncounterCode (Extensible)
.... period 1..1PeriodThe time that the episode was in the specified class
... type Σ0..*CodeableConceptSpecific type of encounter
EncounterType (Example)
... serviceType Σ0..1CodeableConceptSpecific type of service
ServiceType (Example)
... priority 0..1CodeableConceptIndicates the urgency of the encounter
ActPriority (Example)
... subject Σ0..1Reference(Patient | Group)The patient or group 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 Σ0..*BackboneElementList of participants involved in the encounter
.... type Σ0..*CodeableConceptRole of participant in encounter
ParticipantType (Extensible)
.... period 0..1PeriodPeriod of time during the encounter that the participant participated
.... individual Σ0..1Reference(Practitioner | PractitionerRole | RelatedPerson)Persons involved in the encounter other than the patient
... appointment Σ0..*Reference(Appointment)The appointment that scheduled this encounter
... period 0..1PeriodThe start and end time of the encounter
... length 0..1DurationQuantity of time the encounter lasted (less time absent)
... reasonCode Σ0..*CodeableConceptCoded reason the encounter takes place
Encounter Reason Codes (Preferred)
... reasonReference Σ0..*Reference(Condition | Procedure | Observation | ImmunizationRecommendation)Reason the encounter takes place (reference)
... diagnosis Σ0..*BackboneElementThe list of diagnosis relevant to this encounter
.... condition Σ1..1Reference(Condition | Procedure)The diagnosis or procedure relevant to the encounter
.... use 0..1CodeableConceptRole that this diagnosis has within the encounter (e.g. admission, billing, discharge …)
DiagnosisRole (Preferred)
.... rank 0..1positiveIntRanking 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 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)
AdmitSource (Preferred)
.... reAdmission 0..1CodeableConceptThe type of hospital re-admission that has occurred (if any). If the value is absent, then this is not identified as a readmission
hl7VS-re-admissionIndicator (Example)
.... dietPreference 0..*CodeableConceptDiet preferences reported by the patient
Diet (Example)
.... specialCourtesy 0..*CodeableConceptSpecial courtesies (VIP, board member)
SpecialCourtesy (Preferred)
.... specialArrangement 0..*CodeableConceptWheelchair, translator, stretcher, etc.
SpecialArrangements (Preferred)
.... destination 0..1Reference(Location | Organization)Location/organization to which the patient is discharged
.... dischargeDisposition 0..1CodeableConceptCategory or kind of location after discharge
DischargeDisposition (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
EncounterLocationStatus (Required)
.... physicalType 0..1CodeableConceptThe physical type of the location (usually the level in the location hierachy - bed room ward etc.)
LocationType (Example)
.... period 0..1PeriodTime period during which the patient was present at the location
... serviceProvider 0..1Reference(Organization)The organization (facility) responsible for this encounter
... partOf 0..1Reference(Encounter)Another Encounter this encounter is part of

doco Documentation for this format

UML Diagram (Legend)

Encounter (DomainResource)Identifier(s) by which this encounter is knownidentifier : Identifier [0..*]planned | arrived | triaged | in-progress | onleave | finished | cancelled + (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 : Coding [1..1] « null (Strength=Extensible)ActEncounterCode+ »Specific type of encounter (e.g. e-mail consultation, surgical day-care, skilled nursing, rehabilitation)type : CodeableConcept [0..*] « null (Strength=Example)EncounterType?? »Broad categorization of the service that is to be provided (e.g. cardiology)serviceType : CodeableConcept [0..1] « null (Strength=Example)ServiceType?? »Indicates the urgency of the encounterpriority : CodeableConcept [0..1] « null (Strength=Example)ActPriority?? »The patient or group present at the encountersubject : Reference [0..1] « Patient|Group »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..*] « ServiceRequest »The appointment that scheduled this encounterappointment : Reference [0..*] « Appointment »The start and end time of the encounterperiod : Period [0..1]Quantity of time the encounter lasted. This excludes the time during leaves of absencelength : Duration [0..1]Reason the encounter takes place, expressed as a code. For admissions, this can be used for a coded admission diagnosisreasonCode : CodeableConcept [0..*] « null (Strength=Preferred)EncounterReasonCodes? »Reason the encounter takes place, expressed as a code. For admissions, this can be used for a coded admission diagnosisreasonReference : Reference [0..*] « Condition|Procedure|Observation| ImmunizationRecommendation »The set of accounts that may be used for billing for this Encounteraccount : Reference [0..*] « Account »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 example bundle showing an abbreviated set of Encounters for a colonoscopyserviceProvider : Reference [0..1] « Organization »Another Encounter of which this encounter is a part of (administratively or in time)partOf : Reference [0..1] « Encounter »StatusHistoryplanned | arrived | triaged | in-progress | onleave | finished | cancelled +status : code [1..1] « null (Strength=Required)EncounterStatus! »The time that the episode was in the specified statusperiod : Period [1..1]ClassHistoryinpatient | outpatient | ambulatory | emergency +class : Coding [1..1] « null (Strength=Extensible)ActEncounterCode+ »The time that the episode was in the specified classperiod : Period [1..1]ParticipantRole of participant in encountertype : CodeableConcept [0..*] « null (Strength=Extensible)ParticipantType+ »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]Persons involved in the encounter other than the patientindividual : Reference [0..1] « Practitioner|PractitionerRole| RelatedPerson »DiagnosisReason the encounter takes place, as specified using information from another resource. For admissions, this is the admission diagnosis. The indication will typically be a Condition (with other resources referenced in the evidence.detail), or a Procedurecondition : Reference [1..1] « Condition|Procedure »Role that this diagnosis has within the encounter (e.g. admission, billing, discharge …)use : CodeableConcept [0..1] « null (Strength=Preferred)DiagnosisRole? »Ranking of the diagnosis (for each role type)rank : positiveInt [0..1]HospitalizationPre-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? »Whether this hospitalization is a readmission and why if knownreAdmission : CodeableConcept [0..1] « null (Strength=Example)Hl7VSReAdmissionIndicator?? »Diet preferences reported by the patientdietPreference : CodeableConcept [0..*] « null (Strength=Example)Diet?? »Special courtesies (VIP, board member)specialCourtesy : CodeableConcept [0..*] « null (Strength=Preferred)SpecialCourtesy? »Any special requests that have been made for this hospitalization encounter, such as the provision of specific equipment or other thingsspecialArrangement : CodeableConcept [0..*] « null (Strength=Preferred)SpecialArrangements? »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 queryphysicalType : CodeableConcept [0..1] « null (Strength=Example)LocationType?? »Time period during which the patient was present at the locationperiod : Period [0..1]The status history permits the encounter resource to contain the status history without needing to read through the historical versions of the resource, or even have the server store themstatusHistory[0..*]The class history permits the tracking of the encounters transitions without needing to go through the resource history. This would be used for a case where an admission starts of as an emergency encounter, then transitions into an inpatient scenario. Doing this and not restarting a new encounter ensures that any lab/diagnostic results can more easily follow the patient and not require re-processing and not get lost or cancelled during a kind of discharge from emergency to inpatientclassHistory[0..*]The list of people responsible for providing the serviceparticipant[0..*]The list of diagnosis relevant to this encounterdiagnosis[0..*]Details about the admission to a healthcare servicehospitalization[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 | arrived | triaged | in-progress | onleave | finished | cancelled + -->
 <statusHistory>  <!-- 0..* List of past encounter statuses -->
  <status value="[code]"/><!-- 1..1 planned | arrived | triaged | in-progress | onleave | finished | cancelled + -->
  <period><!-- 1..1 Period The time that the episode was in the specified status --></period>
 </statusHistory>
 <class><!-- 1..1 Coding Classification of patient encounter  --></class>
 <classHistory>  <!-- 0..* List of past encounter classes -->
  <class><!-- 1..1 Coding inpatient | outpatient | ambulatory | emergency +  --></class>
  <period><!-- 1..1 Period The time that the episode was in the specified class --></period>
 </classHistory>
 <type><!-- 0..* CodeableConcept Specific type of encounter --></type>
 <serviceType><!-- 0..1 CodeableConcept Specific type of service --></serviceType>
 <priority><!-- 0..1 CodeableConcept Indicates the urgency of the encounter  --></priority>
 <subject><!-- 0..1 Reference(Group|Patient) The patient or group present at the encounter --></subject>
 <episodeOfCare><!-- 0..* Reference(EpisodeOfCare) Episode(s) of care that this encounter should be recorded against --></episodeOfCare>
 <basedOn><!-- 0..* Reference(ServiceRequest) The ServiceRequest that initiated this encounter --></basedOn>
 <participant>  <!-- 0..* List of participants involved in the encounter -->
  <type><!-- 0..* CodeableConcept Role of participant in encounter --></type>
  <period><!-- 0..1 Period Period of time during the encounter that the participant participated --></period>
  <individual><!-- 0..1 Reference(Practitioner|PractitionerRole|RelatedPerson) Persons involved in the encounter other than the patient --></individual>
 </participant>
 <appointment><!-- 0..* Reference(Appointment) The appointment that scheduled this encounter --></appointment>
 <period><!-- 0..1 Period The start and end time of the encounter --></period>
 <length><!-- 0..1 Duration Quantity of time the encounter lasted (less time absent) --></length>
 <reasonCode><!-- 0..* CodeableConcept Coded reason the encounter takes place --></reasonCode>
 <reasonReference><!-- 0..* Reference(Condition|ImmunizationRecommendation|
   Observation|Procedure) Reason the encounter takes place (reference) --></reasonReference>
 <diagnosis>  <!-- 0..* The list of diagnosis relevant to this encounter -->
  <condition><!-- 1..1 Reference(Condition|Procedure) The diagnosis or procedure relevant to the encounter --></condition>
  <use><!-- 0..1 CodeableConcept Role that this diagnosis has within the encounter (e.g. admission, billing, discharge …) --></use>
  <rank value="[positiveInt]"/><!-- 0..1 Ranking of the diagnosis (for each role type) -->
 </diagnosis>
 <account><!-- 0..* Reference(Account) The set of accounts that may be used for billing for this Encounter --></account>
 <hospitalization>  <!-- 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 The type of hospital re-admission that has occurred (if any). If the value is absent, then this is not identified as a readmission  --></reAdmission>
  <dietPreference><!-- 0..* CodeableConcept Diet preferences reported by the patient --></dietPreference>
  <specialCourtesy><!-- 0..* CodeableConcept Special courtesies (VIP, board member) --></specialCourtesy>
  <specialArrangement><!-- 0..* CodeableConcept Wheelchair, translator, stretcher, etc. --></specialArrangement>
  <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>
 </hospitalization>
 <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 -->
  <physicalType><!-- 0..1 CodeableConcept The physical type of the location (usually the level in the location hierachy - bed room ward etc.) --></physicalType>
  <period><!-- 0..1 Period Time period during which the patient was present at the location --></period>
 </location>
 <serviceProvider><!-- 0..1 Reference(Organization) The organization (facility) responsible for this encounter --></serviceProvider>
 <partOf><!-- 0..1 Reference(Encounter) Another Encounter this encounter is part of --></partOf>
</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 | arrived | triaged | in-progress | onleave | finished | cancelled +
  "statusHistory" : [{ // List of past encounter statuses
    "status" : "<code>", // R!  planned | arrived | triaged | in-progress | onleave | finished | cancelled +
    "period" : { Period } // R!  The time that the episode was in the specified status
  }],
  "class" : { Coding }, // R!  Classification of patient encounter 
  "classHistory" : [{ // List of past encounter classes
    "class" : { Coding }, // R!  inpatient | outpatient | ambulatory | emergency + 
    "period" : { Period } // R!  The time that the episode was in the specified class
  }],
  "type" : [{ CodeableConcept }], // Specific type of encounter
  "serviceType" : { CodeableConcept }, // Specific type of service
  "priority" : { CodeableConcept }, // Indicates the urgency of the encounter 
  "subject" : { Reference(Group|Patient) }, // The patient or group present at the encounter
  "episodeOfCare" : [{ Reference(EpisodeOfCare) }], // Episode(s) of care that this encounter should be recorded against
  "basedOn" : [{ Reference(ServiceRequest) }], // The ServiceRequest that initiated this encounter
  "participant" : [{ // List of participants involved in the encounter
    "type" : [{ CodeableConcept }], // Role of participant in encounter
    "period" : { Period }, // Period of time during the encounter that the participant participated
    "individual" : { Reference(Practitioner|PractitionerRole|RelatedPerson) } // Persons involved in the encounter other than the patient
  }],
  "appointment" : [{ Reference(Appointment) }], // The appointment that scheduled this encounter
  "period" : { Period }, // The start and end time of the encounter
  "length" : { Duration }, // Quantity of time the encounter lasted (less time absent)
  "reasonCode" : [{ CodeableConcept }], // Coded reason the encounter takes place
  "reasonReference" : [{ Reference(Condition|ImmunizationRecommendation|
   Observation|Procedure) }], // Reason the encounter takes place (reference)
  "diagnosis" : [{ // The list of diagnosis relevant to this encounter
    "condition" : { Reference(Condition|Procedure) }, // R!  The diagnosis or procedure relevant to the encounter
    "use" : { CodeableConcept }, // Role that this diagnosis has within the encounter (e.g. admission, billing, discharge …)
    "rank" : "<positiveInt>" // Ranking of the diagnosis (for each role type)
  }],
  "account" : [{ Reference(Account) }], // The set of accounts that may be used for billing for this Encounter
  "hospitalization" : { // 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 }, // The type of hospital re-admission that has occurred (if any). If the value is absent, then this is not identified as a readmission 
    "dietPreference" : [{ CodeableConcept }], // Diet preferences reported by the patient
    "specialCourtesy" : [{ CodeableConcept }], // Special courtesies (VIP, board member)
    "specialArrangement" : [{ CodeableConcept }], // Wheelchair, translator, stretcher, etc.
    "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
    "physicalType" : { CodeableConcept }, // The physical type of the location (usually the level in the location hierachy - bed room ward etc.)
    "period" : { Period } // Time period during which the patient was present at the location
  }],
  "serviceProvider" : { Reference(Organization) }, // The organization (facility) responsible for this encounter
  "partOf" : { Reference(Encounter) } // Another Encounter this encounter is part of
}

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:Encounter.identifier [ Identifier ], ... ; # 0..* Identifier(s) by which this encounter is known
  fhir:Encounter.status [ code ]; # 1..1 planned | arrived | triaged | in-progress | onleave | finished | cancelled +
  fhir:Encounter.statusHistory [ # 0..* List of past encounter statuses
    fhir:Encounter.statusHistory.status [ code ]; # 1..1 planned | arrived | triaged | in-progress | onleave | finished | cancelled +
    fhir:Encounter.statusHistory.period [ Period ]; # 1..1 The time that the episode was in the specified status
  ], ...;
  fhir:Encounter.class [ Coding ]; # 1..1 Classification of patient encounter
  fhir:Encounter.classHistory [ # 0..* List of past encounter classes
    fhir:Encounter.classHistory.class [ Coding ]; # 1..1 inpatient | outpatient | ambulatory | emergency +
    fhir:Encounter.classHistory.period [ Period ]; # 1..1 The time that the episode was in the specified class
  ], ...;
  fhir:Encounter.type [ CodeableConcept ], ... ; # 0..* Specific type of encounter
  fhir:Encounter.serviceType [ CodeableConcept ]; # 0..1 Specific type of service
  fhir:Encounter.priority [ CodeableConcept ]; # 0..1 Indicates the urgency of the encounter
  fhir:Encounter.subject [ Reference(Group|Patient) ]; # 0..1 The patient or group present at the encounter
  fhir:Encounter.episodeOfCare [ Reference(EpisodeOfCare) ], ... ; # 0..* Episode(s) of care that this encounter should be recorded against
  fhir:Encounter.basedOn [ Reference(ServiceRequest) ], ... ; # 0..* The ServiceRequest that initiated this encounter
  fhir:Encounter.participant [ # 0..* List of participants involved in the encounter
    fhir:Encounter.participant.type [ CodeableConcept ], ... ; # 0..* Role of participant in encounter
    fhir:Encounter.participant.period [ Period ]; # 0..1 Period of time during the encounter that the participant participated
    fhir:Encounter.participant.individual [ Reference(Practitioner|PractitionerRole|RelatedPerson) ]; # 0..1 Persons involved in the encounter other than the patient
  ], ...;
  fhir:Encounter.appointment [ Reference(Appointment) ], ... ; # 0..* The appointment that scheduled this encounter
  fhir:Encounter.period [ Period ]; # 0..1 The start and end time of the encounter
  fhir:Encounter.length [ Duration ]; # 0..1 Quantity of time the encounter lasted (less time absent)
  fhir:Encounter.reasonCode [ CodeableConcept ], ... ; # 0..* Coded reason the encounter takes place
  fhir:Encounter.reasonReference [ Reference(Condition|ImmunizationRecommendation|Observation|Procedure) ], ... ; # 0..* Reason the encounter takes place (reference)
  fhir:Encounter.diagnosis [ # 0..* The list of diagnosis relevant to this encounter
    fhir:Encounter.diagnosis.condition [ Reference(Condition|Procedure) ]; # 1..1 The diagnosis or procedure relevant to the encounter
    fhir:Encounter.diagnosis.use [ CodeableConcept ]; # 0..1 Role that this diagnosis has within the encounter (e.g. admission, billing, discharge …)
    fhir:Encounter.diagnosis.rank [ positiveInt ]; # 0..1 Ranking of the diagnosis (for each role type)
  ], ...;
  fhir:Encounter.account [ Reference(Account) ], ... ; # 0..* The set of accounts that may be used for billing for this Encounter
  fhir:Encounter.hospitalization [ # 0..1 Details about the admission to a healthcare service
    fhir:Encounter.hospitalization.preAdmissionIdentifier [ Identifier ]; # 0..1 Pre-admission identifier
    fhir:Encounter.hospitalization.origin [ Reference(Location|Organization) ]; # 0..1 The location/organization from which the patient came before admission
    fhir:Encounter.hospitalization.admitSource [ CodeableConcept ]; # 0..1 From where patient was admitted (physician referral, transfer)
    fhir:Encounter.hospitalization.reAdmission [ CodeableConcept ]; # 0..1 The type of hospital re-admission that has occurred (if any). If the value is absent, then this is not identified as a readmission
    fhir:Encounter.hospitalization.dietPreference [ CodeableConcept ], ... ; # 0..* Diet preferences reported by the patient
    fhir:Encounter.hospitalization.specialCourtesy [ CodeableConcept ], ... ; # 0..* Special courtesies (VIP, board member)
    fhir:Encounter.hospitalization.specialArrangement [ CodeableConcept ], ... ; # 0..* Wheelchair, translator, stretcher, etc.
    fhir:Encounter.hospitalization.destination [ Reference(Location|Organization) ]; # 0..1 Location/organization to which the patient is discharged
    fhir:Encounter.hospitalization.dischargeDisposition [ CodeableConcept ]; # 0..1 Category or kind of location after discharge
  ];
  fhir:Encounter.location [ # 0..* List of locations where the patient has been
    fhir:Encounter.location.location [ Reference(Location) ]; # 1..1 Location the encounter takes place
    fhir:Encounter.location.status [ code ]; # 0..1 planned | active | reserved | completed
    fhir:Encounter.location.physicalType [ CodeableConcept ]; # 0..1 The physical type of the location (usually the level in the location hierachy - bed room ward etc.)
    fhir:Encounter.location.period [ Period ]; # 0..1 Time period during which the patient was present at the location
  ], ...;
  fhir:Encounter.serviceProvider [ Reference(Organization) ]; # 0..1 The organization (facility) responsible for this encounter
  fhir:Encounter.partOf [ Reference(Encounter) ]; # 0..1 Another Encounter this encounter is part of
]

Changes since R3

Encounter
Encounter.status
  • Change value set from http://hl7.org/fhir/ValueSet/encounter-status|4.0.0 to http://hl7.org/fhir/ValueSet/encounter-status|4.3.0-snapshot1
Encounter.statusHistory.status
  • Change value set from http://hl7.org/fhir/ValueSet/encounter-status|4.0.0 to http://hl7.org/fhir/ValueSet/encounter-status|4.3.0-snapshot1
Encounter.location.status
  • Change value set from http://hl7.org/fhir/ValueSet/encounter-location-status|4.0.0 to http://hl7.org/fhir/ValueSet/encounter-location-status|4.3.0-snapshot1

See the Full Difference for further information

This analysis is available as XML or JSON.

See R3 <--> R4 Conversion Maps (status = 10 tests that all execute ok. All tests pass round-trip testing and 3 r3 resources are invalid (0 errors).)

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 | arrived | triaged | in-progress | onleave | finished | cancelled +
EncounterStatus (Required)
... statusHistory 0..*BackboneElementList of past encounter statuses
.... status 1..1codeplanned | arrived | triaged | in-progress | onleave | finished | cancelled +
EncounterStatus (Required)
.... period 1..1PeriodThe time that the episode was in the specified status
... classHistory 0..*BackboneElementList of past encounter classes
.... class 1..1Codinginpatient | outpatient | ambulatory | emergency +
ActEncounterCode (Extensible)
.... period 1..1PeriodThe time that the episode was in the specified class
... type Σ0..*CodeableConceptSpecific type of encounter
EncounterType (Example)
... serviceType Σ0..1CodeableConceptSpecific type of service
ServiceType (Example)
... priority 0..1CodeableConceptIndicates the urgency of the encounter
ActPriority (Example)
... subject Σ0..1Reference(Patient | Group)The patient or group 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 Σ0..*BackboneElementList of participants involved in the encounter
.... type Σ0..*CodeableConceptRole of participant in encounter
ParticipantType (Extensible)
.... period 0..1PeriodPeriod of time during the encounter that the participant participated
.... individual Σ0..1Reference(Practitioner | PractitionerRole | RelatedPerson)Persons involved in the encounter other than the patient
... appointment Σ0..*Reference(Appointment)The appointment that scheduled this encounter
... period 0..1PeriodThe start and end time of the encounter
... length 0..1DurationQuantity of time the encounter lasted (less time absent)
... reasonCode Σ0..*CodeableConceptCoded reason the encounter takes place
Encounter Reason Codes (Preferred)
... reasonReference Σ0..*Reference(Condition | Procedure | Observation | ImmunizationRecommendation)Reason the encounter takes place (reference)
... diagnosis Σ0..*BackboneElementThe list of diagnosis relevant to this encounter
.... condition Σ1..1Reference(Condition | Procedure)The diagnosis or procedure relevant to the encounter
.... use 0..1CodeableConceptRole that this diagnosis has within the encounter (e.g. admission, billing, discharge …)
DiagnosisRole (Preferred)
.... rank 0..1positiveIntRanking 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 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)
AdmitSource (Preferred)
.... reAdmission 0..1CodeableConceptThe type of hospital re-admission that has occurred (if any). If the value is absent, then this is not identified as a readmission
hl7VS-re-admissionIndicator (Example)
.... dietPreference 0..*CodeableConceptDiet preferences reported by the patient
Diet (Example)
.... specialCourtesy 0..*CodeableConceptSpecial courtesies (VIP, board member)
SpecialCourtesy (Preferred)
.... specialArrangement 0..*CodeableConceptWheelchair, translator, stretcher, etc.
SpecialArrangements (Preferred)
.... destination 0..1Reference(Location | Organization)Location/organization to which the patient is discharged
.... dischargeDisposition 0..1CodeableConceptCategory or kind of location after discharge
DischargeDisposition (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
EncounterLocationStatus (Required)
.... physicalType 0..1CodeableConceptThe physical type of the location (usually the level in the location hierachy - bed room ward etc.)
LocationType (Example)
.... period 0..1PeriodTime period during which the patient was present at the location
... serviceProvider 0..1Reference(Organization)The organization (facility) responsible for this encounter
... partOf 0..1Reference(Encounter)Another Encounter this encounter is part of

doco Documentation for this format

UML Diagram (Legend)

Encounter (DomainResource)Identifier(s) by which this encounter is knownidentifier : Identifier [0..*]planned | arrived | triaged | in-progress | onleave | finished | cancelled + (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 : Coding [1..1] « null (Strength=Extensible)ActEncounterCode+ »Specific type of encounter (e.g. e-mail consultation, surgical day-care, skilled nursing, rehabilitation)type : CodeableConcept [0..*] « null (Strength=Example)EncounterType?? »Broad categorization of the service that is to be provided (e.g. cardiology)serviceType : CodeableConcept [0..1] « null (Strength=Example)ServiceType?? »Indicates the urgency of the encounterpriority : CodeableConcept [0..1] « null (Strength=Example)ActPriority?? »The patient or group present at the encountersubject : Reference [0..1] « Patient|Group »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..*] « ServiceRequest »The appointment that scheduled this encounterappointment : Reference [0..*] « Appointment »The start and end time of the encounterperiod : Period [0..1]Quantity of time the encounter lasted. This excludes the time during leaves of absencelength : Duration [0..1]Reason the encounter takes place, expressed as a code. For admissions, this can be used for a coded admission diagnosisreasonCode : CodeableConcept [0..*] « null (Strength=Preferred)EncounterReasonCodes? »Reason the encounter takes place, expressed as a code. For admissions, this can be used for a coded admission diagnosisreasonReference : Reference [0..*] « Condition|Procedure|Observation| ImmunizationRecommendation »The set of accounts that may be used for billing for this Encounteraccount : Reference [0..*] « Account »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 example bundle showing an abbreviated set of Encounters for a colonoscopyserviceProvider : Reference [0..1] « Organization »Another Encounter of which this encounter is a part of (administratively or in time)partOf : Reference [0..1] « Encounter »StatusHistoryplanned | arrived | triaged | in-progress | onleave | finished | cancelled +status : code [1..1] « null (Strength=Required)EncounterStatus! »The time that the episode was in the specified statusperiod : Period [1..1]ClassHistoryinpatient | outpatient | ambulatory | emergency +class : Coding [1..1] « null (Strength=Extensible)ActEncounterCode+ »The time that the episode was in the specified classperiod : Period [1..1]ParticipantRole of participant in encountertype : CodeableConcept [0..*] « null (Strength=Extensible)ParticipantType+ »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]Persons involved in the encounter other than the patientindividual : Reference [0..1] « Practitioner|PractitionerRole| RelatedPerson »DiagnosisReason the encounter takes place, as specified using information from another resource. For admissions, this is the admission diagnosis. The indication will typically be a Condition (with other resources referenced in the evidence.detail), or a Procedurecondition : Reference [1..1] « Condition|Procedure »Role that this diagnosis has within the encounter (e.g. admission, billing, discharge …)use : CodeableConcept [0..1] « null (Strength=Preferred)DiagnosisRole? »Ranking of the diagnosis (for each role type)rank : positiveInt [0..1]HospitalizationPre-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? »Whether this hospitalization is a readmission and why if knownreAdmission : CodeableConcept [0..1] « null (Strength=Example)Hl7VSReAdmissionIndicator?? »Diet preferences reported by the patientdietPreference : CodeableConcept [0..*] « null (Strength=Example)Diet?? »Special courtesies (VIP, board member)specialCourtesy : CodeableConcept [0..*] « null (Strength=Preferred)SpecialCourtesy? »Any special requests that have been made for this hospitalization encounter, such as the provision of specific equipment or other thingsspecialArrangement : CodeableConcept [0..*] « null (Strength=Preferred)SpecialArrangements? »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 queryphysicalType : CodeableConcept [0..1] « null (Strength=Example)LocationType?? »Time period during which the patient was present at the locationperiod : Period [0..1]The status history permits the encounter resource to contain the status history without needing to read through the historical versions of the resource, or even have the server store themstatusHistory[0..*]The class history permits the tracking of the encounters transitions without needing to go through the resource history. This would be used for a case where an admission starts of as an emergency encounter, then transitions into an inpatient scenario. Doing this and not restarting a new encounter ensures that any lab/diagnostic results can more easily follow the patient and not require re-processing and not get lost or cancelled during a kind of discharge from emergency to inpatientclassHistory[0..*]The list of people responsible for providing the serviceparticipant[0..*]The list of diagnosis relevant to this encounterdiagnosis[0..*]Details about the admission to a healthcare servicehospitalization[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 | arrived | triaged | in-progress | onleave | finished | cancelled + -->
 <statusHistory>  <!-- 0..* List of past encounter statuses -->
  <status value="[code]"/><!-- 1..1 planned | arrived | triaged | in-progress | onleave | finished | cancelled + -->
  <period><!-- 1..1 Period The time that the episode was in the specified status --></period>
 </statusHistory>
 <class><!-- 1..1 Coding Classification of patient encounter  --></class>
 <classHistory>  <!-- 0..* List of past encounter classes -->
  <class><!-- 1..1 Coding inpatient | outpatient | ambulatory | emergency +  --></class>
  <period><!-- 1..1 Period The time that the episode was in the specified class --></period>
 </classHistory>
 <type><!-- 0..* CodeableConcept Specific type of encounter --></type>
 <serviceType><!-- 0..1 CodeableConcept Specific type of service --></serviceType>
 <priority><!-- 0..1 CodeableConcept Indicates the urgency of the encounter  --></priority>
 <subject><!-- 0..1 Reference(Group|Patient) The patient or group present at the encounter --></subject>
 <episodeOfCare><!-- 0..* Reference(EpisodeOfCare) Episode(s) of care that this encounter should be recorded against --></episodeOfCare>
 <basedOn><!-- 0..* Reference(ServiceRequest) The ServiceRequest that initiated this encounter --></basedOn>
 <participant>  <!-- 0..* List of participants involved in the encounter -->
  <type><!-- 0..* CodeableConcept Role of participant in encounter --></type>
  <period><!-- 0..1 Period Period of time during the encounter that the participant participated --></period>
  <individual><!-- 0..1 Reference(Practitioner|PractitionerRole|RelatedPerson) Persons involved in the encounter other than the patient --></individual>
 </participant>
 <appointment><!-- 0..* Reference(Appointment) The appointment that scheduled this encounter --></appointment>
 <period><!-- 0..1 Period The start and end time of the encounter --></period>
 <length><!-- 0..1 Duration Quantity of time the encounter lasted (less time absent) --></length>
 <reasonCode><!-- 0..* CodeableConcept Coded reason the encounter takes place --></reasonCode>
 <reasonReference><!-- 0..* Reference(Condition|ImmunizationRecommendation|
   Observation|Procedure) Reason the encounter takes place (reference) --></reasonReference>
 <diagnosis>  <!-- 0..* The list of diagnosis relevant to this encounter -->
  <condition><!-- 1..1 Reference(Condition|Procedure) The diagnosis or procedure relevant to the encounter --></condition>
  <use><!-- 0..1 CodeableConcept Role that this diagnosis has within the encounter (e.g. admission, billing, discharge …) --></use>
  <rank value="[positiveInt]"/><!-- 0..1 Ranking of the diagnosis (for each role type) -->
 </diagnosis>
 <account><!-- 0..* Reference(Account) The set of accounts that may be used for billing for this Encounter --></account>
 <hospitalization>  <!-- 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 The type of hospital re-admission that has occurred (if any). If the value is absent, then this is not identified as a readmission  --></reAdmission>
  <dietPreference><!-- 0..* CodeableConcept Diet preferences reported by the patient --></dietPreference>
  <specialCourtesy><!-- 0..* CodeableConcept Special courtesies (VIP, board member) --></specialCourtesy>
  <specialArrangement><!-- 0..* CodeableConcept Wheelchair, translator, stretcher, etc. --></specialArrangement>
  <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>
 </hospitalization>
 <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 -->
  <physicalType><!-- 0..1 CodeableConcept The physical type of the location (usually the level in the location hierachy - bed room ward etc.) --></physicalType>
  <period><!-- 0..1 Period Time period during which the patient was present at the location --></period>
 </location>
 <serviceProvider><!-- 0..1 Reference(Organization) The organization (facility) responsible for this encounter --></serviceProvider>
 <partOf><!-- 0..1 Reference(Encounter) Another Encounter this encounter is part of --></partOf>
</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 | arrived | triaged | in-progress | onleave | finished | cancelled +
  "statusHistory" : [{ // List of past encounter statuses
    "status" : "<code>", // R!  planned | arrived | triaged | in-progress | onleave | finished | cancelled +
    "period" : { Period } // R!  The time that the episode was in the specified status
  }],
  "class" : { Coding }, // R!  Classification of patient encounter 
  "classHistory" : [{ // List of past encounter classes
    "class" : { Coding }, // R!  inpatient | outpatient | ambulatory | emergency + 
    "period" : { Period } // R!  The time that the episode was in the specified class
  }],
  "type" : [{ CodeableConcept }], // Specific type of encounter
  "serviceType" : { CodeableConcept }, // Specific type of service
  "priority" : { CodeableConcept }, // Indicates the urgency of the encounter 
  "subject" : { Reference(Group|Patient) }, // The patient or group present at the encounter
  "episodeOfCare" : [{ Reference(EpisodeOfCare) }], // Episode(s) of care that this encounter should be recorded against
  "basedOn" : [{ Reference(ServiceRequest) }], // The ServiceRequest that initiated this encounter
  "participant" : [{ // List of participants involved in the encounter
    "type" : [{ CodeableConcept }], // Role of participant in encounter
    "period" : { Period }, // Period of time during the encounter that the participant participated
    "individual" : { Reference(Practitioner|PractitionerRole|RelatedPerson) } // Persons involved in the encounter other than the patient
  }],
  "appointment" : [{ Reference(Appointment) }], // The appointment that scheduled this encounter
  "period" : { Period }, // The start and end time of the encounter
  "length" : { Duration }, // Quantity of time the encounter lasted (less time absent)
  "reasonCode" : [{ CodeableConcept }], // Coded reason the encounter takes place
  "reasonReference" : [{ Reference(Condition|ImmunizationRecommendation|
   Observation|Procedure) }], // Reason the encounter takes place (reference)
  "diagnosis" : [{ // The list of diagnosis relevant to this encounter
    "condition" : { Reference(Condition|Procedure) }, // R!  The diagnosis or procedure relevant to the encounter
    "use" : { CodeableConcept }, // Role that this diagnosis has within the encounter (e.g. admission, billing, discharge …)
    "rank" : "<positiveInt>" // Ranking of the diagnosis (for each role type)
  }],
  "account" : [{ Reference(Account) }], // The set of accounts that may be used for billing for this Encounter
  "hospitalization" : { // 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 }, // The type of hospital re-admission that has occurred (if any). If the value is absent, then this is not identified as a readmission 
    "dietPreference" : [{ CodeableConcept }], // Diet preferences reported by the patient
    "specialCourtesy" : [{ CodeableConcept }], // Special courtesies (VIP, board member)
    "specialArrangement" : [{ CodeableConcept }], // Wheelchair, translator, stretcher, etc.
    "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
    "physicalType" : { CodeableConcept }, // The physical type of the location (usually the level in the location hierachy - bed room ward etc.)
    "period" : { Period } // Time period during which the patient was present at the location
  }],
  "serviceProvider" : { Reference(Organization) }, // The organization (facility) responsible for this encounter
  "partOf" : { Reference(Encounter) } // Another Encounter this encounter is part of
}

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:Encounter.identifier [ Identifier ], ... ; # 0..* Identifier(s) by which this encounter is known
  fhir:Encounter.status [ code ]; # 1..1 planned | arrived | triaged | in-progress | onleave | finished | cancelled +
  fhir:Encounter.statusHistory [ # 0..* List of past encounter statuses
    fhir:Encounter.statusHistory.status [ code ]; # 1..1 planned | arrived | triaged | in-progress | onleave | finished | cancelled +
    fhir:Encounter.statusHistory.period [ Period ]; # 1..1 The time that the episode was in the specified status
  ], ...;
  fhir:Encounter.class [ Coding ]; # 1..1 Classification of patient encounter
  fhir:Encounter.classHistory [ # 0..* List of past encounter classes
    fhir:Encounter.classHistory.class [ Coding ]; # 1..1 inpatient | outpatient | ambulatory | emergency +
    fhir:Encounter.classHistory.period [ Period ]; # 1..1 The time that the episode was in the specified class
  ], ...;
  fhir:Encounter.type [ CodeableConcept ], ... ; # 0..* Specific type of encounter
  fhir:Encounter.serviceType [ CodeableConcept ]; # 0..1 Specific type of service
  fhir:Encounter.priority [ CodeableConcept ]; # 0..1 Indicates the urgency of the encounter
  fhir:Encounter.subject [ Reference(Group|Patient) ]; # 0..1 The patient or group present at the encounter
  fhir:Encounter.episodeOfCare [ Reference(EpisodeOfCare) ], ... ; # 0..* Episode(s) of care that this encounter should be recorded against
  fhir:Encounter.basedOn [ Reference(ServiceRequest) ], ... ; # 0..* The ServiceRequest that initiated this encounter
  fhir:Encounter.participant [ # 0..* List of participants involved in the encounter
    fhir:Encounter.participant.type [ CodeableConcept ], ... ; # 0..* Role of participant in encounter
    fhir:Encounter.participant.period [ Period ]; # 0..1 Period of time during the encounter that the participant participated
    fhir:Encounter.participant.individual [ Reference(Practitioner|PractitionerRole|RelatedPerson) ]; # 0..1 Persons involved in the encounter other than the patient
  ], ...;
  fhir:Encounter.appointment [ Reference(Appointment) ], ... ; # 0..* The appointment that scheduled this encounter
  fhir:Encounter.period [ Period ]; # 0..1 The start and end time of the encounter
  fhir:Encounter.length [ Duration ]; # 0..1 Quantity of time the encounter lasted (less time absent)
  fhir:Encounter.reasonCode [ CodeableConcept ], ... ; # 0..* Coded reason the encounter takes place
  fhir:Encounter.reasonReference [ Reference(Condition|ImmunizationRecommendation|Observation|Procedure) ], ... ; # 0..* Reason the encounter takes place (reference)
  fhir:Encounter.diagnosis [ # 0..* The list of diagnosis relevant to this encounter
    fhir:Encounter.diagnosis.condition [ Reference(Condition|Procedure) ]; # 1..1 The diagnosis or procedure relevant to the encounter
    fhir:Encounter.diagnosis.use [ CodeableConcept ]; # 0..1 Role that this diagnosis has within the encounter (e.g. admission, billing, discharge …)
    fhir:Encounter.diagnosis.rank [ positiveInt ]; # 0..1 Ranking of the diagnosis (for each role type)
  ], ...;
  fhir:Encounter.account [ Reference(Account) ], ... ; # 0..* The set of accounts that may be used for billing for this Encounter
  fhir:Encounter.hospitalization [ # 0..1 Details about the admission to a healthcare service
    fhir:Encounter.hospitalization.preAdmissionIdentifier [ Identifier ]; # 0..1 Pre-admission identifier
    fhir:Encounter.hospitalization.origin [ Reference(Location|Organization) ]; # 0..1 The location/organization from which the patient came before admission
    fhir:Encounter.hospitalization.admitSource [ CodeableConcept ]; # 0..1 From where patient was admitted (physician referral, transfer)
    fhir:Encounter.hospitalization.reAdmission [ CodeableConcept ]; # 0..1 The type of hospital re-admission that has occurred (if any). If the value is absent, then this is not identified as a readmission
    fhir:Encounter.hospitalization.dietPreference [ CodeableConcept ], ... ; # 0..* Diet preferences reported by the patient
    fhir:Encounter.hospitalization.specialCourtesy [ CodeableConcept ], ... ; # 0..* Special courtesies (VIP, board member)
    fhir:Encounter.hospitalization.specialArrangement [ CodeableConcept ], ... ; # 0..* Wheelchair, translator, stretcher, etc.
    fhir:Encounter.hospitalization.destination [ Reference(Location|Organization) ]; # 0..1 Location/organization to which the patient is discharged
    fhir:Encounter.hospitalization.dischargeDisposition [ CodeableConcept ]; # 0..1 Category or kind of location after discharge
  ];
  fhir:Encounter.location [ # 0..* List of locations where the patient has been
    fhir:Encounter.location.location [ Reference(Location) ]; # 1..1 Location the encounter takes place
    fhir:Encounter.location.status [ code ]; # 0..1 planned | active | reserved | completed
    fhir:Encounter.location.physicalType [ CodeableConcept ]; # 0..1 The physical type of the location (usually the level in the location hierachy - bed room ward etc.)
    fhir:Encounter.location.period [ Period ]; # 0..1 Time period during which the patient was present at the location
  ], ...;
  fhir:Encounter.serviceProvider [ Reference(Organization) ]; # 0..1 The organization (facility) responsible for this encounter
  fhir:Encounter.partOf [ Reference(Encounter) ]; # 0..1 Another Encounter this encounter is part of
]

Changes since Release 3

Encounter
Encounter.status
  • Change value set from http://hl7.org/fhir/ValueSet/encounter-status|4.0.0 to http://hl7.org/fhir/ValueSet/encounter-status|4.3.0-snapshot1
Encounter.statusHistory.status
  • Change value set from http://hl7.org/fhir/ValueSet/encounter-status|4.0.0 to http://hl7.org/fhir/ValueSet/encounter-status|4.3.0-snapshot1
Encounter.location.status
  • Change value set from http://hl7.org/fhir/ValueSet/encounter-location-status|4.0.0 to http://hl7.org/fhir/ValueSet/encounter-location-status|4.3.0-snapshot1

See the Full Difference for further information

This analysis is available as XML or JSON.

See R3 <--> R4 Conversion Maps (status = 10 tests that all execute ok. All tests pass round-trip testing and 3 r3 resources are invalid (0 errors).)

 

See the Profiles & Extensions and the alternate definitions: Master Definition XML + JSON, XML Schema/Schematron + JSON Schema, ShEx (for Turtle) + see the extensions & the dependency analysis

PathDefinitionTypeReference
Encounter.status RequiredEncounterStatus
Encounter.statusHistory.status RequiredEncounterStatus
Encounter.class ExtensibleActEncounterCode
Encounter.classHistory.class ExtensibleActEncounterCode
Encounter.type ExampleEncounterType
Encounter.serviceType ExampleServiceType
Encounter.priority ExampleActPriority
Encounter.participant.type ExtensibleParticipantType
Encounter.reasonCode PreferredEncounterReasonCodes
Encounter.diagnosis.use PreferredDiagnosisRole
Encounter.hospitalization.admitSource PreferredAdmitSource
Encounter.hospitalization.reAdmission ExampleHl7VSReAdmissionIndicator
Encounter.hospitalization.dietPreference ExampleDiet
Encounter.hospitalization.specialCourtesy PreferredSpecialCourtesy
Encounter.hospitalization.specialArrangement PreferredSpecialArrangements
Encounter.hospitalization.dischargeDisposition ExampleDischargeDisposition
Encounter.location.status RequiredEncounterLocationStatus
Encounter.location.physicalType ExampleLocationType

  • 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.
  • In future versions of FHIR, some kind of charge posting vehicle (e.g. Account) will be added.

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. 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
(ServiceRequest)
classtokenClassification of patient encounterEncounter.class
datedateA date within the period the Encounter lastedEncounter.period
diagnosisreferenceThe diagnosis or procedure relevant to the encounterEncounter.diagnosis.condition
(Condition, Procedure)
episode-of-carereferenceEpisode(s) of care that this encounter should be recorded againstEncounter.episodeOfCare
(EpisodeOfCare)
identifiertokenIdentifier(s) by which this encounter is knownEncounter.identifier
lengthquantityLength of encounter in daysEncounter.length
locationreferenceLocation the encounter takes placeEncounter.location.location
(Location)
location-perioddateTime period during which the patient was present at the locationEncounter.location.period
part-ofreferenceAnother Encounter this encounter is part ofEncounter.partOf
(Encounter)
participantreferencePersons involved in the encounter other than the patientEncounter.participant.individual
(Practitioner, PractitionerRole, RelatedPerson)
participant-typetokenRole of participant in encounterEncounter.participant.type
patientreferenceThe patient or group present at the encounterEncounter.subject.where(resolve() is Patient)
(Group, Patient)
practitionerreferencePersons involved in the encounter other than the patientEncounter.participant.individual.where(resolve() is Practitioner)
(Practitioner, PractitionerRole, RelatedPerson)
reason-codetokenCoded reason the encounter takes placeEncounter.reasonCode
reason-referencereferenceReason the encounter takes place (reference)Encounter.reasonReference
(Condition, Observation, Procedure, ImmunizationRecommendation)
service-providerreferenceThe organization (facility) responsible for this encounterEncounter.serviceProvider
(Organization)
special-arrangementtokenWheelchair, translator, stretcher, etc.Encounter.hospitalization.specialArrangement
statustokenplanned | arrived | triaged | in-progress | onleave | finished | cancelled +Encounter.status
subjectreferenceThe patient or group present at the encounterEncounter.subject
(Group, Patient)
typetokenSpecific type of encounterEncounter.type