This page is part of the FHIR Specification (v5.0.0-draft-final: Final QA Preview for R5 - see ballot notes). The current version which supercedes this version is 5.0.0. For a full list of available versions, see the Directory of published versions
Patient Administration Work Group | Maturity Level: 0 | Trial Use | Security Category: Patient | Compartments: Encounter, Patient |
A record of significant events/milestones key data throughout the history of an Encounter, often tracked for specific purposes such as billing.
The EncounterHistory is used to be able to record an ongoing history of significant events/changes that occur during a patient encounter. This information is not always up to date/accurate while entering encounter information and is often back-dated as more detailed information becomes available, or corrections need to be made during the completion of the encounter while it is being processed in coding or billing.
Note to Implementers: In FHIR R4 and earlier this data was in the Encounter 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, so was re-factored into this resource.
The design notes for this change are on confluence .
The Encounter resource stores the complete set of current/most recent data about an Encounter. The EncounterHistory contains a snapshot of some key aspects (properties) of the encounter to track changes to the encounter over time - specifically those that contribute to significant changes/events/milestones during the encounter - such as moving between departments or locations.
Note that this historical information is different than what is tracked in the versions of the Encounter resource.
Past movements of a patient are often updated after the fact to correct what actually happened.
FHIR History (_history) doesn't cater for this need as the information isn't always accurate and can be corrected/back populated too.
Another challenge with _history is that it also includes corrections to errors in data entry which could not be
differentiated from actual movements/changes.
No clinical resources are expected to ever refer to a specific EncounterHistory event, they are only attributed to the Encounter as a whole. If a resource is desiring to connect to a portion of an encounter (and wanting to use EncounterHistory) this is an indication that you should be using a child Encounter through the partOf property.
No references for this Resource.
Structure
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
EncounterHistory | TU | DomainResource | A record of significant events/milestones key data throughout the history of an Encounter Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension | |
encounter | 0..1 | Reference(Encounter) | The Encounter associated with this set of historic values | |
identifier | Σ | 0..* | Identifier | Identifier(s) by which this encounter is known |
status | ?!Σ | 1..1 | code | planned | in-progress | on-hold | discharged | completed | cancelled | discontinued | entered-in-error | unknown Binding: Encounter Status (Required) |
class | Σ | 1..1 | CodeableConcept | Classification of patient encounter Binding: ActEncounterCode (Extensible) |
type | Σ | 0..* | CodeableConcept | Specific type of encounter Binding: Encounter Type (Example) |
serviceType | Σ | 0..* | CodeableReference(HealthcareService) | Specific type of service Binding: Service Type (Example) |
subject | Σ | 0..1 | Reference(Patient | Group) | The patient or group related to this encounter |
subjectStatus | 0..1 | CodeableConcept | The current status of the subject in relation to the Encounter Binding: Encounter Subject Status (Example) | |
actualPeriod | 0..1 | Period | The actual start and end time associated with this set of values associated with the encounter | |
plannedStartDate | 0..1 | dateTime | The planned start date/time (or admission date) of the encounter | |
plannedEndDate | 0..1 | dateTime | 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) | |
location | 0..* | BackboneElement | Location of the patient at this point in the encounter | |
location | 1..1 | Reference(Location) | Location the encounter takes place | |
form | 0..1 | CodeableConcept | The physical type of the location (usually the level in the location hierarchy - bed, room, ward, virtual etc.) Binding: Location Form (Example) | |
Documentation for this format |
See the Extensions for this resource
UML Diagram (Legend)
XML Template
<EncounterHistory xmlns="http://hl7.org/fhir"> <!-- from Resource: id, meta, implicitRules, and language --> <!-- from DomainResource: text, contained, extension, and modifierExtension --> <encounter><!-- 0..1 Reference(Encounter) The Encounter associated with this set of historic values --></encounter> <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><!-- 1..1 CodeableConcept Classification of patient encounter --></class> <type><!-- 0..* CodeableConcept Specific type of encounter --></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> <actualPeriod><!-- 0..1 Period The actual start and end time associated with this set of values associated with 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> <location> <!-- 0..* Location of the patient at this point in the encounter --> <location><!-- 1..1 Reference(Location) Location the encounter takes place --></location> <form><!-- 0..1 CodeableConcept The physical type of the location (usually the level in the location hierarchy - bed, room, ward, virtual etc.) --></form> </location> </EncounterHistory>
JSON Template
{ "resourceType" : "EncounterHistory", // from Resource: id, meta, implicitRules, and language // from DomainResource: text, contained, extension, and modifierExtension "encounter" : { Reference(Encounter) }, // The Encounter associated with this set of historic values "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 }, // R! Classification of patient encounter "type" : [{ CodeableConcept }], // Specific type of encounter "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 "actualPeriod" : { Period }, // The actual start and end time associated with this set of values associated with 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) "location" : [{ // Location of the patient at this point in the encounter "location" : { Reference(Location) }, // R! Location the encounter takes place "form" : { CodeableConcept } // The physical type of the location (usually the level in the location hierarchy - bed, room, ward, virtual etc.) }] }
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> . [ a fhir:EncounterHistory; 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 [ Reference(Encounter) ] ; # 0..1 The Encounter associated with this set of historic values 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 ] ; # 1..1 Classification of patient encounter fhir:type ( [ CodeableConcept ] ... ) ; # 0..* Specific type of encounter 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:actualPeriod [ Period ] ; # 0..1 The actual start and end time associated with this set of values associated with 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:location ( [ # 0..* Location of the patient at this point in the encounter fhir:location [ Reference(Location) ] ; # 1..1 Location the encounter takes place fhir:form [ CodeableConcept ] ; # 0..1 The physical type of the location (usually the level in the location hierarchy - bed, room, ward, virtual etc.) ] ... ) ; ]
Structure
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
EncounterHistory | TU | DomainResource | A record of significant events/milestones key data throughout the history of an Encounter Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension | |
encounter | 0..1 | Reference(Encounter) | The Encounter associated with this set of historic values | |
identifier | Σ | 0..* | Identifier | Identifier(s) by which this encounter is known |
status | ?!Σ | 1..1 | code | planned | in-progress | on-hold | discharged | completed | cancelled | discontinued | entered-in-error | unknown Binding: Encounter Status (Required) |
class | Σ | 1..1 | CodeableConcept | Classification of patient encounter Binding: ActEncounterCode (Extensible) |
type | Σ | 0..* | CodeableConcept | Specific type of encounter Binding: Encounter Type (Example) |
serviceType | Σ | 0..* | CodeableReference(HealthcareService) | Specific type of service Binding: Service Type (Example) |
subject | Σ | 0..1 | Reference(Patient | Group) | The patient or group related to this encounter |
subjectStatus | 0..1 | CodeableConcept | The current status of the subject in relation to the Encounter Binding: Encounter Subject Status (Example) | |
actualPeriod | 0..1 | Period | The actual start and end time associated with this set of values associated with the encounter | |
plannedStartDate | 0..1 | dateTime | The planned start date/time (or admission date) of the encounter | |
plannedEndDate | 0..1 | dateTime | 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) | |
location | 0..* | BackboneElement | Location of the patient at this point in the encounter | |
location | 1..1 | Reference(Location) | Location the encounter takes place | |
form | 0..1 | CodeableConcept | The physical type of the location (usually the level in the location hierarchy - bed, room, ward, virtual etc.) Binding: Location Form (Example) | |
Documentation for this format |
See the Extensions for this resource
XML Template
<EncounterHistory xmlns="http://hl7.org/fhir"> <!-- from Resource: id, meta, implicitRules, and language --> <!-- from DomainResource: text, contained, extension, and modifierExtension --> <encounter><!-- 0..1 Reference(Encounter) The Encounter associated with this set of historic values --></encounter> <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><!-- 1..1 CodeableConcept Classification of patient encounter --></class> <type><!-- 0..* CodeableConcept Specific type of encounter --></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> <actualPeriod><!-- 0..1 Period The actual start and end time associated with this set of values associated with 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> <location> <!-- 0..* Location of the patient at this point in the encounter --> <location><!-- 1..1 Reference(Location) Location the encounter takes place --></location> <form><!-- 0..1 CodeableConcept The physical type of the location (usually the level in the location hierarchy - bed, room, ward, virtual etc.) --></form> </location> </EncounterHistory>
JSON Template
{ "resourceType" : "EncounterHistory", // from Resource: id, meta, implicitRules, and language // from DomainResource: text, contained, extension, and modifierExtension "encounter" : { Reference(Encounter) }, // The Encounter associated with this set of historic values "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 }, // R! Classification of patient encounter "type" : [{ CodeableConcept }], // Specific type of encounter "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 "actualPeriod" : { Period }, // The actual start and end time associated with this set of values associated with 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) "location" : [{ // Location of the patient at this point in the encounter "location" : { Reference(Location) }, // R! Location the encounter takes place "form" : { CodeableConcept } // The physical type of the location (usually the level in the location hierarchy - bed, room, ward, virtual etc.) }] }
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> . [ a fhir:EncounterHistory; 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 [ Reference(Encounter) ] ; # 0..1 The Encounter associated with this set of historic values 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 ] ; # 1..1 Classification of patient encounter fhir:type ( [ CodeableConcept ] ... ) ; # 0..* Specific type of encounter 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:actualPeriod [ Period ] ; # 0..1 The actual start and end time associated with this set of values associated with 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:location ( [ # 0..* Location of the patient at this point in the encounter fhir:location [ Reference(Location) ] ; # 1..1 Location the encounter takes place fhir:form [ CodeableConcept ] ; # 0..1 The physical type of the location (usually the level in the location hierarchy - bed, room, ward, virtual etc.) ] ... ) ; ]
Additional definitions: Master Definition XML + JSON, XML Schema/Schematron + JSON Schema, ShEx (for Turtle) + see the extensions, the spreadsheet version & the dependency analysis
Path | ValueSet | Type | Documentation |
---|---|---|---|
EncounterHistory.status | EncounterStatus | Required | Current state of the encounter. |
EncounterHistory.class | ActEncounterCode | Extensible | Domain provides codes that qualify the ActEncounterClass (ENC) |
EncounterHistory.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. |
ServiceType | Example | This value set defines an example set of codes of service-types. | |
EncounterHistory.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 |
EncounterHistory.location.form | LocationForm (a valid code from Location type ) | Example | This example value set defines a set of codes that can be used to indicate the physical form of the Location. |
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.
Name | Type | Description | Expression | In Common |
encounter | reference | The Encounter associated with this set of history values | EncounterHistory.encounter (Encounter) | 29 Resources |
identifier | token | Identifier(s) by which this encounter is known | EncounterHistory.identifier | |
patient | reference | The patient present at the encounter | EncounterHistory.subject.where(resolve() is Patient) (Patient) | |
status | token | Status of the Encounter history entry | EncounterHistory.status | |
subject | reference | The patient or group present at the encounter | EncounterHistory.subject (Group, Patient) |