Encounter

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.

Scope and Usage

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

Resource content

These are different views on this resource:

This is the tree view:
idΣ0..1string
metaΣ0..1Meta
implicitRulesΣ ?!0..1uri
language0..1codeBinding
text0..1Narrative
contained0..*Resource
ageYearsI0..*Extension(integer)
ageMonthsI0..*Extension(integer)
ageDaysI0..*Extension(integer)
patientClassificationI0..*Extension(CodeableConcept)
interviewerI0..*Extension(HumanName)
investigatorNameI0..*Extension(HumanName)
dateInterviewI0..*Extension(date)
dateInvestigationI0..*Extension(date)
reporterNameI0..*Extension(HumanName)
illnessClassI0..*Extension(CodeableConcept)
modifierExtension?! I0..0Extension
philHealthIDΣ0..1Identifier
covidDataIDΣ0..1Identifier
covidPatientIDΣ0..1Identifier
statusΣ ?!1..1codeBinding
classΣ1..1CodingBinding
typeΣ0..1CodeableConcept
serviceTypeΣ0..1CodeableConcept
priority0..0CodeableConcept
subjectΣ I0..1Reference(Patient | Group)
episodeOfCareΣ I0..0Reference(EpisodeOfCare)
basedOnI0..0Reference(ServiceRequest)
appointmentΣ I0..*Reference(Appointment)
periodI0..1Period
lengthI0..1Duration
reasonCodeΣ0..*CodeableConceptBinding
reasonReferenceΣ I0..*Reference(Condition | Procedure | Observation | ImmunizationRecommendation)
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
conditionΣ I1..1Reference(Condition | Procedure)
use0..1CodeableConceptBinding
rank0..1positiveInt
accountI0..*Reference(Account)
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
preAdmissionIdentifier0..1Identifier
originI0..1Reference(Location | Organization)
admitSource0..1CodeableConceptBinding
reAdmission0..1CodeableConcept
dietPreference0..*CodeableConcept
specialCourtesy0..*CodeableConceptBinding
specialArrangement0..*CodeableConceptBinding
destinationI0..1Reference(Location | Organization)
dischargeDisposition0..1CodeableConcept
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
locationI1..1Reference(Location)
status0..1codeBinding
physicalType0..1CodeableConcept
periodI0..1Period
serviceProviderI0..0Reference(Organization)
partOfI0..0Reference(Encounter)
This is the detailed view:
Encounter
DefinitionAn interaction between a patient and healthcare provider(s) for the purpose of providing healthcare service(s) or assessing the health status of a patient.
Cardinality0...*
AliasVisit
Invariants
  • dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources
    contained.contained.empty()
  • dom-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
    contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
  • dom-3: If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
    contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
  • dom-6: A resource should have narrative for robust management
    text.`div`.exists()
  • dom-5: If a resource is contained in another resource, it SHALL NOT have a security label
    contained.meta.security.empty()
Mappings
  • rim: Entity. Role, or Act
  • workflow: Event
  • rim: Encounter[@moodCode='EVN']
Encounter.id
DefinitionThe logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
Cardinality0...1
Typestring
SummaryTrue
Comments

The only time that a resource does not have an id is when it is being submitted to the server using a create operation.

Encounter.meta
DefinitionThe metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
Cardinality0...1
TypeMeta
SummaryTrue
Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • rim: N/A
Encounter.implicitRules
DefinitionA reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
Cardinality0...1
Typeuri
ModifierTrue
SummaryTrue
Comments

Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. Often, when used, the URL is a reference to an implementation guide that defines these special rules as part of it's narrative along with other profiles, value sets, etc.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
Encounter.language
DefinitionThe base language in which the resource is written.
Cardinality0...1
Typecode
Binding

A human language.

CommonLanguages (preferred)
Comments

Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource. Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
Encounter.text
DefinitionA human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
Cardinality0...1
TypeNarrative
Aliasnarrative, html, xhtml, display
Comments

Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied). This may be necessary for data from legacy systems where information is captured as a "text blob" or where text is additionally entered raw or narrated and encoded information is added later.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • rim: N/A
  • rim: Act.text?
Encounter.contained
DefinitionThese resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
Cardinality0...*
TypeResource
Aliasinline resources, anonymous resources, contained resources
Comments

This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again. Contained resources may have profiles and tags In their meta elements, but SHALL NOT have security labels.

Mappings
  • rim: Entity. Role, or Act
  • rim: N/A
Encounter.extension
DefinitionMay be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
Cardinality0...*
TypeExtension
Aliasextensions, user content
Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

SlicingUnordered, Open, by url(Value)
Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
Encounter.extension:ageYears
DefinitionAge in years
Cardinality0...*
TypeExtension(integer)
Aliasextensions, user content
Comments

This is an extension

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
Encounter.extension:ageMonths
DefinitionAge in months
Cardinality0...*
TypeExtension(integer)
Aliasextensions, user content
Comments

This is an extension

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
Encounter.extension:ageDays
DefinitionAge in days
Cardinality0...*
TypeExtension(integer)
Aliasextensions, user content
Comments

This is an extension

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
Encounter.extension:patientClassification
DefinitionPatient Classification
Cardinality0...*
TypeExtension(CodeableConcept)
Aliasextensions, user content
Comments

This is an extension

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
Encounter.extension:interviewer
DefinitionName of Interviewer at first point of contact
Cardinality0...*
TypeExtension(HumanName)
Aliasextensions, user content
Comments

This is an extension

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
Encounter.extension:investigatorName
DefinitionName of Investigator / Assessor
Cardinality0...*
TypeExtension(HumanName)
Aliasextensions, user content
Comments

This is an extension

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
Encounter.extension:dateInterview
DefinitionDate of interview
Cardinality0...*
TypeExtension(date)
Aliasextensions, user content
Comments

This is an extension

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
Encounter.extension:dateInvestigation
DefinitionDate of investigation
Cardinality0...*
TypeExtension(date)
Aliasextensions, user content
Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
Encounter.extension:reporterName
DefinitionName of reporter
Cardinality0...*
TypeExtension(HumanName)
Aliasextensions, user content
Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
Encounter.extension:illnessClass
DefinitionOptional Extension Element - found in all resources.
Cardinality0...*
TypeExtension(CodeableConcept)
Aliasextensions, user content
Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
Encounter.modifierExtension
DefinitionMay be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
Cardinality0...0
TypeExtension
ModifierTrue
Aliasextensions, user content
Requirements

Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

SlicingUnordered, Open, by url(Value)
Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
Encounter.identifier
DefinitionIdentifier(s) by which this encounter is known.
Cardinality0...*
TypeIdentifier
SummaryTrue
SlicingUnordered, Open, by
Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: CX / EI (occasionally, more often EI maps to a resource id or a URL)
  • rim: II - The Identifier class is a little looser than the v3 type II because it allows URIs as well as registered OIDs or GUIDs. Also maps to Role[classCode=IDENT]
  • servd: Identifier
  • workflow: Event.identifier
  • w5: FiveWs.identifier
  • v2: PV1-19
  • rim: .id
Encounter.identifier:philHealthID
DefinitionA unique number or code assigned by the Philippine Health Insurance Corporation.
Cardinality0...1
TypeIdentifier
SummaryTrue
Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: CX / EI (occasionally, more often EI maps to a resource id or a URL)
  • rim: II - The Identifier class is a little looser than the v3 type II because it allows URIs as well as registered OIDs or GUIDs. Also maps to Role[classCode=IDENT]
  • servd: Identifier
  • workflow: Event.identifier
  • w5: FiveWs.identifier
  • v2: PV1-19
  • rim: .id
Encounter.identifier:covidDataID
DefinitionCOVID Data Identification
Cardinality0...1
TypeIdentifier
SummaryTrue
Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: CX / EI (occasionally, more often EI maps to a resource id or a URL)
  • rim: II - The Identifier class is a little looser than the v3 type II because it allows URIs as well as registered OIDs or GUIDs. Also maps to Role[classCode=IDENT]
  • servd: Identifier
  • workflow: Event.identifier
  • w5: FiveWs.identifier
  • v2: PV1-19
  • rim: .id
Encounter.identifier:covidPatientID
DefinitionCOVID Patient Identification
Cardinality0...1
TypeIdentifier
SummaryTrue
Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: CX / EI (occasionally, more often EI maps to a resource id or a URL)
  • rim: II - The Identifier class is a little looser than the v3 type II because it allows URIs as well as registered OIDs or GUIDs. Also maps to Role[classCode=IDENT]
  • servd: Identifier
  • workflow: Event.identifier
  • w5: FiveWs.identifier
  • v2: PV1-19
  • rim: .id
Encounter.status
Definitionplanned | arrived | triaged | in-progress | onleave | finished | cancelled +.
Cardinality1...1
Typecode
Binding

Current state of the encounter.

EncounterStatus (required)
ModifierTrue
SummaryTrue
Comments

Note that internal business rules will determine the appropriate transitions that may occur between statuses (and also classes).

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • workflow: Event.status
  • w5: FiveWs.status
  • v2: No clear equivalent in HL7 v2; active/finished could be inferred from PV1-44, PV1-45, PV2-24; inactive could be inferred from PV2-16
  • rim: .statusCode
Encounter.statusHistory
DefinitionThe 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 them.
Cardinality0...0
TypeBackboneElement
Comments

The current status is always found in the current version of the resource, not the status history.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
Encounter.statusHistory.id
DefinitionUnique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
Cardinality0...1
Typestring
Mappings
  • rim: n/a
Encounter.statusHistory.extension
DefinitionMay be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
Cardinality0...*
TypeExtension
Aliasextensions, user content
Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

SlicingUnordered, Open, by url(Value)
Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
Encounter.statusHistory.modifierExtension
DefinitionMay be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
Cardinality0...*
TypeExtension
ModifierTrue
SummaryTrue
Aliasextensions, user content, modifiers
Requirements

Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
Encounter.statusHistory.status
Definitionplanned | arrived | triaged | in-progress | onleave | finished | cancelled +.
Cardinality1...1
Typecode
Binding

Current state of the encounter.

EncounterStatus (required)
Comments

Note that FHIR strings SHALL NOT exceed 1MB in size

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
Encounter.statusHistory.period
DefinitionThe time that the episode was in the specified status.
Cardinality1...1
TypePeriod
Comments

A Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. "the patient was an inpatient of the hospital for this time range") or one value from the range applies (e.g. "give to the patient between these two times").

Period is not used for a duration (a measure of elapsed time). See Duration.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • per-1: If present, start SHALL have a lower value than end
    start.hasValue().not() or end.hasValue().not() or (start <= end)
Mappings
  • rim: n/a
  • v2: DR
  • rim: IVL<TS>[lowClosed="true" and highClosed="true"] or URG<TS>[lowClosed="true" and highClosed="true"]
Encounter.class
DefinitionConcepts representing classification of patient encounter such as ambulatory (outpatient), inpatient, emergency, home health or others due to local variations.
Cardinality1...1
TypeCoding
Binding

Classification of the encounter.

v3.ActEncounterCode (extensible)
SummaryTrue
Comments

Codes may be defined very casually in enumerations or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: CE/CNE/CWE subset one of the sets of component 1-3 or 4-6
  • rim: CV
  • orim: fhir:Coding rdfs:subClassOf dt:CDCoding
  • w5: FiveWs.class
  • v2: PV1-2
  • rim: .inboundRelationship[typeCode=SUBJ].source[classCode=LIST].code
Encounter.classHistory
DefinitionThe 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 inpatient.
Cardinality0...0
TypeBackboneElement
Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
Encounter.classHistory.id
DefinitionUnique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
Cardinality0...1
Typestring
Mappings
  • rim: n/a
Encounter.classHistory.extension
DefinitionMay be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
Cardinality0...*
TypeExtension
Aliasextensions, user content
Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

SlicingUnordered, Open, by url(Value)
Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
Encounter.classHistory.modifierExtension
DefinitionMay be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
Cardinality0...*
TypeExtension
ModifierTrue
SummaryTrue
Aliasextensions, user content, modifiers
Requirements

Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
Encounter.classHistory.class
Definitioninpatient | outpatient | ambulatory | emergency +.
Cardinality1...1
TypeCoding
Binding

Classification of the encounter.

v3.ActEncounterCode (extensible)
Comments

Codes may be defined very casually in enumerations or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: CE/CNE/CWE subset one of the sets of component 1-3 or 4-6
  • rim: CV
  • orim: fhir:Coding rdfs:subClassOf dt:CDCoding
Encounter.classHistory.period
DefinitionThe time that the episode was in the specified class.
Cardinality1...1
TypePeriod
Comments

A Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. "the patient was an inpatient of the hospital for this time range") or one value from the range applies (e.g. "give to the patient between these two times").

Period is not used for a duration (a measure of elapsed time). See Duration.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • per-1: If present, start SHALL have a lower value than end
    start.hasValue().not() or end.hasValue().not() or (start <= end)
Mappings
  • rim: n/a
  • v2: DR
  • rim: IVL<TS>[lowClosed="true" and highClosed="true"] or URG<TS>[lowClosed="true" and highClosed="true"]
Encounter.type
DefinitionSpecific type of encounter (e.g. e-mail consultation, surgical day-care, skilled nursing, rehabilitation).
Cardinality0...1
TypeCodeableConcept
Binding

The type of encounter.

EncounterType (example)
SummaryTrue
Comments

Since there are many ways to further classify encounters, this element is 0..*.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: CE/CNE/CWE
  • rim: CD
  • orim: fhir:CodeableConcept rdfs:subClassOf dt:CD
  • workflow: Event.code
  • w5: FiveWs.class
  • v2: PV1-4 / PV1-18
  • rim: .code
Encounter.serviceType
DefinitionBroad categorization of the service that is to be provided (e.g. cardiology).
Cardinality0...1
TypeCodeableConcept
Binding

Broad categorization of the service that is to be provided.

ServiceType (example)
SummaryTrue
Comments

Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: CE/CNE/CWE
  • rim: CD
  • orim: fhir:CodeableConcept rdfs:subClassOf dt:CD
  • workflow: Event.code
  • v2: PV1-10
Encounter.priority
DefinitionIndicates the urgency of the encounter.
Cardinality0...0
TypeCodeableConcept
Binding

Indicates the urgency of the encounter.

v3.ActPriority (example)
Comments

Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: CE/CNE/CWE
  • rim: CD
  • orim: fhir:CodeableConcept rdfs:subClassOf dt:CD
  • w5: FiveWs.grade
  • v2: PV2-25
  • rim: .priorityCode
Encounter.subject
DefinitionThe patient or group present at the encounter.
Cardinality0...1
TypeReference(Patient | Group)
SummaryTrue
Aliaspatient
Comments

While the encounter is always about the patient, the patient might not actually be known in all contexts of use, and there may be a group of patients that could be anonymous (such as in a group therapy for Alcoholics Anonymous - where the recording of the encounter could be used for billing on the number of people/staff and not important to the context of the specific patients) or alternately in veterinary care a herd of sheep receiving treatment (where the animals are not individually tracked).

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ref-1: SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
Mappings
  • rim: n/a
  • rim: The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • workflow: Event.subject
  • w5: FiveWs.subject[x]
  • v2: PID-3
  • rim: .participation[typeCode=SBJ]/role[classCode=PAT]
  • w5: FiveWs.subject
Encounter.episodeOfCare
DefinitionWhere 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).
Cardinality0...0
TypeReference(EpisodeOfCare)
SummaryTrue
Comments

References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ref-1: SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
Mappings
  • rim: n/a
  • rim: The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • workflow: Event.context
  • w5: FiveWs.context
  • v2: PV1-54, PV1-53
Encounter.basedOn
DefinitionThe request this encounter satisfies (e.g. incoming referral or procedure request).
Cardinality0...0
TypeReference(ServiceRequest)
AliasincomingReferral
Comments

References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ref-1: SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
Mappings
  • rim: n/a
  • rim: The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • workflow: Event.basedOn
  • rim: .reason.ClinicalDocument
Encounter.participant
DefinitionThe list of people responsible for providing the service.
Cardinality0...0
TypeBackboneElement
SummaryTrue
Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • workflow: Event.performer
  • v2: ROL
  • rim: .participation[typeCode=PFM]
Encounter.participant.id
DefinitionUnique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
Cardinality0...1
Typestring
Mappings
  • rim: n/a
Encounter.participant.extension
DefinitionMay be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
Cardinality0...*
TypeExtension
Aliasextensions, user content
Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

SlicingUnordered, Open, by url(Value)
Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
Encounter.participant.modifierExtension
DefinitionMay be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
Cardinality0...*
TypeExtension
ModifierTrue
SummaryTrue
Aliasextensions, user content, modifiers
Requirements

Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
Encounter.participant.type
DefinitionRole of participant in encounter.
Cardinality0...*
TypeCodeableConcept
Binding

Role of participant in encounter.

ParticipantType (extensible)
SummaryTrue
Comments

The participant type indicates how an individual participates in an encounter. It includes non-practitioner participants, and for practitioners this is to describe the action type in the context of this encounter (e.g. Admitting Dr, Attending Dr, Translator, Consulting Dr). This is different to the practitioner roles which are functional roles, derived from terms of employment, education, licensing, etc.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: CE/CNE/CWE
  • rim: CD
  • orim: fhir:CodeableConcept rdfs:subClassOf dt:CD
  • workflow: Event.performer.function
  • v2: ROL-3 (or maybe PRT-4)
  • rim: .functionCode
Encounter.participant.period
DefinitionThe period of time that the specified participant participated in the encounter. These can overlap or be sub-sets of the overall encounter's period.
Cardinality0...1
TypePeriod
Comments

A Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. "the patient was an inpatient of the hospital for this time range") or one value from the range applies (e.g. "give to the patient between these two times").

Period is not used for a duration (a measure of elapsed time). See Duration.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • per-1: If present, start SHALL have a lower value than end
    start.hasValue().not() or end.hasValue().not() or (start <= end)
Mappings
  • rim: n/a
  • v2: DR
  • rim: IVL<TS>[lowClosed="true" and highClosed="true"] or URG<TS>[lowClosed="true" and highClosed="true"]
  • v2: ROL-5, ROL-6 (or maybe PRT-5)
  • rim: .time
Encounter.participant.individual
DefinitionPersons involved in the encounter other than the patient.
Cardinality0...1
TypeReference(Practitioner | PractitionerRole | RelatedPerson)
SummaryTrue
Comments

References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ref-1: SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
Mappings
  • rim: n/a
  • rim: The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • workflow: Event.performer.actor
  • w5: FiveWs.who
  • v2: ROL-4
  • rim: .role
Encounter.appointment
DefinitionThe appointment that scheduled this encounter.
Cardinality0...*
TypeReference(Appointment)
SummaryTrue
Comments

References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ref-1: SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
Mappings
  • rim: n/a
  • rim: The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • workflow: Event.basedOn
  • v2: SCH-1 / SCH-2
  • rim: .outboundRelationship[typeCode=FLFS].target[classCode=ENC, moodCode=APT]
Encounter.period
DefinitionThe start and end time of the encounter.
Cardinality0...1
TypePeriod
Comments

If not (yet) known, the end of the Period may be omitted.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • per-1: If present, start SHALL have a lower value than end
    start.hasValue().not() or end.hasValue().not() or (start <= end)
Mappings
  • rim: n/a
  • v2: DR
  • rim: IVL<TS>[lowClosed="true" and highClosed="true"] or URG<TS>[lowClosed="true" and highClosed="true"]
  • workflow: Event.occurrence[x]
  • w5: FiveWs.done[x]
  • v2: PV1-44, PV1-45
  • rim: .effectiveTime (low & high)
Encounter.length
DefinitionQuantity of time the encounter lasted. This excludes the time during leaves of absence.
Cardinality0...1
TypeDuration
Comments

May differ from the time the Encounter.period lasted because of leave of absence.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • qty-3: If a code for the unit is present, the system SHALL also be present
    code.empty() or system.exists()
  • drt-1: There SHALL be a code if there is a value and it SHALL be an expression of time. If system is present, it SHALL be UCUM.
    code.exists() implies ((system = %ucum) and value.exists())
Mappings
  • rim: n/a
  • v2: SN (see also Range) or CQ
  • rim: PQ, IVL<PQ>, MO, CO, depending on the values
  • rim: PQ, IVL<PQ> depending on the values
  • workflow: Event.occurrence[x]
  • v2: (PV1-45 less PV1-44) iff ( (PV1-44 not empty) and (PV1-45 not empty) ); units in minutes
  • rim: .lengthOfStayQuantity
Encounter.reasonCode
DefinitionReason the encounter takes place, expressed as a code. For admissions, this can be used for a coded admission diagnosis.
Cardinality0...*
TypeCodeableConcept
Binding

Reason why the encounter takes place.

EncounterReasonCodes (preferred)
SummaryTrue
AliasIndication, Admission diagnosis
Comments

For systems that need to know which was the primary diagnosis, these will be marked with the standard extension primaryDiagnosis (which is a sequence value rather than a flag, 1 = primary diagnosis).

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: CE/CNE/CWE
  • rim: CD
  • orim: fhir:CodeableConcept rdfs:subClassOf dt:CD
  • workflow: Event.reasonCode
  • w5: FiveWs.why[x]
  • v2: EVN-4 / PV2-3 (note: PV2-3 is nominally constrained to inpatient admissions; HL7 v2 makes no vocabulary suggestions for PV2-3; would not expect PV2 segment or PV2-3 to be in use in all implementations )
  • rim: .reasonCode
Encounter.reasonReference
DefinitionReason the encounter takes place, expressed as a code. For admissions, this can be used for a coded admission diagnosis.
Cardinality0...*
TypeReference(Condition | Procedure | Observation | ImmunizationRecommendation)
SummaryTrue
AliasIndication, Admission diagnosis
Comments

For systems that need to know which was the primary diagnosis, these will be marked with the standard extension primaryDiagnosis (which is a sequence value rather than a flag, 1 = primary diagnosis).

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ref-1: SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
Mappings
  • rim: n/a
  • rim: The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • workflow: Event.reasonCode
  • w5: FiveWs.why[x]
  • v2: EVN-4 / PV2-3 (note: PV2-3 is nominally constrained to inpatient admissions; HL7 v2 makes no vocabulary suggestions for PV2-3; would not expect PV2 segment or PV2-3 to be in use in all implementations )
  • rim: .reasonCode
Encounter.diagnosis
DefinitionThe list of diagnosis relevant to this encounter.
Cardinality0...*
TypeBackboneElement
SummaryTrue
Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • rim: .outboundRelationship[typeCode=RSON]
Encounter.diagnosis.id
DefinitionUnique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
Cardinality0...1
Typestring
Mappings
  • rim: n/a
Encounter.diagnosis.extension
DefinitionMay be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
Cardinality0...*
TypeExtension
Aliasextensions, user content
Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

SlicingUnordered, Open, by url(Value)
Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
Encounter.diagnosis.modifierExtension
DefinitionMay be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
Cardinality0...*
TypeExtension
ModifierTrue
SummaryTrue
Aliasextensions, user content, modifiers
Requirements

Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
Encounter.diagnosis.condition
DefinitionReason 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 Procedure.
Cardinality1...1
TypeReference(Condition | Procedure)
SummaryTrue
AliasAdmission diagnosis, discharge diagnosis, indication
Comments

For systems that need to know which was the primary diagnosis, these will be marked with the standard extension primaryDiagnosis (which is a sequence value rather than a flag, 1 = primary diagnosis).

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ref-1: SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
Mappings
  • rim: n/a
  • rim: The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • workflow: Event.reasonReference
  • w5: FiveWs.why[x]
  • v2: Resources that would commonly referenced at Encounter.indication would be Condition and/or Procedure. These most closely align with DG1/PRB and PR1 respectively.
  • rim: .outboundRelationship[typeCode=RSON].target
Encounter.diagnosis.use
DefinitionRole that this diagnosis has within the encounter (e.g. admission, billing, discharge …).
Cardinality0...1
TypeCodeableConcept
Binding

The type of diagnosis this condition represents.

DiagnosisRole (preferred)
Comments

Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: CE/CNE/CWE
  • rim: CD
  • orim: fhir:CodeableConcept rdfs:subClassOf dt:CD
Encounter.diagnosis.rank
DefinitionRanking of the diagnosis (for each role type).
Cardinality0...1
TypepositiveInt
Comments

32 bit number; for values larger than this, use decimal

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • rim: .outboundRelationship[typeCode=RSON].priority
Encounter.account
DefinitionThe set of accounts that may be used for billing for this Encounter.
Cardinality0...*
TypeReference(Account)
Comments

The billing system may choose to allocate billable items associated with the Encounter to different referenced Accounts based on internal business rules.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ref-1: SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
Mappings
  • rim: n/a
  • rim: The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • rim: .pertains.A_Account
Encounter.hospitalization
DefinitionDetails about the admission to a healthcare service.
Cardinality0...1
TypeBackboneElement
Comments

An Encounter may cover more than just the inpatient stay. Contexts such as outpatients, community clinics, and aged care facilities are also included.

The duration recorded in the period of this encounter covers the entire scope of this hospitalization record.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • rim: .outboundRelationship[typeCode=COMP].target[classCode=ENC, moodCode=EVN]
Encounter.hospitalization.id
DefinitionUnique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
Cardinality0...1
Typestring
Mappings
  • rim: n/a
Encounter.hospitalization.extension
DefinitionMay be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
Cardinality0...*
TypeExtension
Aliasextensions, user content
Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

SlicingUnordered, Open, by url(Value)
Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
Encounter.hospitalization.modifierExtension
DefinitionMay be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
Cardinality0...*
TypeExtension
ModifierTrue
SummaryTrue
Aliasextensions, user content, modifiers
Requirements

Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
Encounter.hospitalization.preAdmissionIdentifier
DefinitionPre-admission identifier.
Cardinality0...1
TypeIdentifier
Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: CX / EI (occasionally, more often EI maps to a resource id or a URL)
  • rim: II - The Identifier class is a little looser than the v3 type II because it allows URIs as well as registered OIDs or GUIDs. Also maps to Role[classCode=IDENT]
  • servd: Identifier
  • v2: PV1-5
  • rim: .id
Encounter.hospitalization.origin
DefinitionThe location/organization from which the patient came before admission.
Cardinality0...1
TypeReference(Location | Organization)
Comments

References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ref-1: SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
Mappings
  • rim: n/a
  • rim: The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • rim: .participation[typeCode=ORG].role
Encounter.hospitalization.admitSource
DefinitionFrom where patient was admitted (physician referral, transfer).
Cardinality0...1
TypeCodeableConcept
Binding

From where the patient was admitted.

AdmitSource (preferred)
Comments

Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: CE/CNE/CWE
  • rim: CD
  • orim: fhir:CodeableConcept rdfs:subClassOf dt:CD
  • v2: PV1-14
  • rim: .admissionReferralSourceCode
Encounter.hospitalization.reAdmission
DefinitionWhether this hospitalization is a readmission and why if known.
Cardinality0...1
TypeCodeableConcept
Binding

The reason for re-admission of this hospitalization encounter.

v2.0092 (example)
Comments

Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: CE/CNE/CWE
  • rim: CD
  • orim: fhir:CodeableConcept rdfs:subClassOf dt:CD
  • v2: PV1-13
Encounter.hospitalization.dietPreference
DefinitionDiet preferences reported by the patient.
Cardinality0...*
TypeCodeableConcept
Binding

Medical, cultural or ethical food preferences to help with catering requirements.

Diet (example)
Requirements

Used to track patient's diet restrictions and/or preference. For a complete description of the nutrition needs of a patient during their stay, one should use the nutritionOrder resource which links to Encounter.

Comments

For example, a patient may request both a dairy-free and nut-free diet preference (not mutually exclusive).

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: CE/CNE/CWE
  • rim: CD
  • orim: fhir:CodeableConcept rdfs:subClassOf dt:CD
  • v2: PV1-38
  • rim: .outboundRelationship[typeCode=COMP].target[classCode=SBADM, moodCode=EVN, code="diet"]
Encounter.hospitalization.specialCourtesy
DefinitionSpecial courtesies (VIP, board member).
Cardinality0...*
TypeCodeableConcept
Binding

Special courtesies.

SpecialCourtesy (preferred)
Comments

Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: CE/CNE/CWE
  • rim: CD
  • orim: fhir:CodeableConcept rdfs:subClassOf dt:CD
  • v2: PV1-16
  • rim: .specialCourtesiesCode
Encounter.hospitalization.specialArrangement
DefinitionAny special requests that have been made for this hospitalization encounter, such as the provision of specific equipment or other things.
Cardinality0...*
TypeCodeableConcept
Binding

Special arrangements.

SpecialArrangements (preferred)
Comments

Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: CE/CNE/CWE
  • rim: CD
  • orim: fhir:CodeableConcept rdfs:subClassOf dt:CD
  • v2: PV1-15 / OBR-30 / OBR-43
  • rim: .specialArrangementCode
Encounter.hospitalization.destination
DefinitionLocation/organization to which the patient is discharged.
Cardinality0...1
TypeReference(Location | Organization)
Comments

References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ref-1: SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
Mappings
  • rim: n/a
  • rim: The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • v2: PV1-37
  • rim: .participation[typeCode=DST]
Encounter.hospitalization.dischargeDisposition
DefinitionCategory or kind of location after discharge.
Cardinality0...1
TypeCodeableConcept
Binding

Discharge Disposition.

DischargeDisposition (example)
Comments

Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: CE/CNE/CWE
  • rim: CD
  • orim: fhir:CodeableConcept rdfs:subClassOf dt:CD
  • v2: PV1-36
  • rim: .dischargeDispositionCode
Encounter.location
DefinitionList of locations where the patient has been during this encounter.
Cardinality0...*
TypeBackboneElement
Comments

Virtual encounters can be recorded in the Encounter by specifying a location reference to a location of type "kind" such as "client's home" and an encounter.class = "virtual".

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • rim: .participation[typeCode=LOC]
Encounter.location.id
DefinitionUnique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
Cardinality0...1
Typestring
Mappings
  • rim: n/a
Encounter.location.extension
DefinitionMay be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
Cardinality0...*
TypeExtension
Aliasextensions, user content
Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

SlicingUnordered, Open, by url(Value)
Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
Encounter.location.modifierExtension
DefinitionMay be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
Cardinality0...*
TypeExtension
ModifierTrue
SummaryTrue
Aliasextensions, user content, modifiers
Requirements

Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
Encounter.location.location
DefinitionThe location where the encounter takes place.
Cardinality1...1
TypeReference(Location)
Comments

References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ref-1: SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
Mappings
  • rim: n/a
  • rim: The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • workflow: Event.location
  • w5: FiveWs.where[x]
  • v2: PV1-3 / PV1-6 / PV1-11 / PV1-42 / PV1-43
  • rim: .role
Encounter.location.status
DefinitionThe 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/time.
Cardinality0...1
Typecode
Binding

The status of the location.

EncounterLocationStatus (required)
Comments

When the patient is no longer active at a location, then the period end date is entered, and the status may be changed to completed.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • rim: .role.statusCode
Encounter.location.physicalType
DefinitionThis will be used to specify the required levels (bed/ward/room/etc.) desired to be recorded to simplify either messaging or query.
Cardinality0...1
TypeCodeableConcept
Binding

Physical form of the location.

LocationType (example)
Comments

This information is de-normalized from the Location resource to support the easier understanding of the encounter resource and processing in messaging or query.

There may be many levels in the hierachy, and this may only pic specific levels that are required for a specific usage scenario.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: CE/CNE/CWE
  • rim: CD
  • orim: fhir:CodeableConcept rdfs:subClassOf dt:CD
Encounter.location.period
DefinitionTime period during which the patient was present at the location.
Cardinality0...1
TypePeriod
Comments

A Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. "the patient was an inpatient of the hospital for this time range") or one value from the range applies (e.g. "give to the patient between these two times").

Period is not used for a duration (a measure of elapsed time). See Duration.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • per-1: If present, start SHALL have a lower value than end
    start.hasValue().not() or end.hasValue().not() or (start <= end)
Mappings
  • rim: n/a
  • v2: DR
  • rim: IVL<TS>[lowClosed="true" and highClosed="true"] or URG<TS>[lowClosed="true" and highClosed="true"]
  • rim: .time
Encounter.serviceProvider
DefinitionThe 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 colonoscopy.
Cardinality0...0
TypeReference(Organization)
Comments

References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ref-1: SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
Mappings
  • rim: n/a
  • rim: The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • workflow: Event.performer.actor
  • v2: PL.6 & PL.1
  • rim: .particiaption[typeCode=PFM].role
Encounter.partOf
DefinitionAnother Encounter of which this encounter is a part of (administratively or in time).
Cardinality0...0
TypeReference(Encounter)
Comments

This is also used for associating a child's encounter back to the mother's encounter.

Refer to the Notes section in the Patient resource for further details.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ref-1: SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
Mappings
  • rim: n/a
  • rim: The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • workflow: Event.partOf
  • rim: .inboundRelationship[typeCode=COMP].source[classCode=COMP, moodCode=EVN]
This is the resource in XML:
<StructureDefinition xmlns="http://hl7.org/fhir">
    <url value="https://example.org/fhir/StructureDefinition/PH_Encounter" />
    <name value="PH_Encounter" />
    <status value="draft" />
    <fhirVersion value="4.0.1" />
    <kind value="resource" />
    <abstract value="false" />
    <type value="Encounter" />
    <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Encounter" />
    <derivation value="constraint" />
    <differential>
        <element id="Encounter.extension:ageYears">
            <path value="Encounter.extension" />
            <sliceName value="ageYears" />
            <short value="Age in years" />
            <definition value="Age in years" />
            <comment value="This is an extension" />
            <type>
                <code value="Extension" />
                <profile value="https://example.org/fhir/StructureDefinition/AgeYears" />
            </type>
            <isModifier value="false" />
        </element>
        <element id="Encounter.extension:ageMonths">
            <path value="Encounter.extension" />
            <sliceName value="ageMonths" />
            <short value="Age in months" />
            <definition value="Age in months" />
            <comment value="This is an extension" />
            <type>
                <code value="Extension" />
                <profile value="https://example.org/fhir/StructureDefinition/AgeMonths" />
            </type>
            <isModifier value="false" />
        </element>
        <element id="Encounter.extension:ageDays">
            <path value="Encounter.extension" />
            <sliceName value="ageDays" />
            <short value="Age in days" />
            <definition value="Age in days" />
            <comment value="This is an extension" />
            <type>
                <code value="Extension" />
                <profile value="https://example.org/fhir/StructureDefinition/AgeDays" />
            </type>
            <isModifier value="false" />
        </element>
        <element id="Encounter.extension:patientClassification">
            <path value="Encounter.extension" />
            <sliceName value="patientClassification" />
            <short value="Patient Classification" />
            <definition value="Patient Classification" />
            <comment value="This is an extension" />
            <type>
                <code value="Extension" />
                <profile value="https://example.org/fhir/StructureDefinition/PatientClassification" />
            </type>
            <isModifier value="false" />
        </element>
        <element id="Encounter.extension:interviewer">
            <path value="Encounter.extension" />
            <sliceName value="interviewer" />
            <short value="Name of interviewer" />
            <definition value="Name of Interviewer at first point of contact" />
            <comment value="This is an extension" />
            <type>
                <code value="Extension" />
                <profile value="https://example.org/fhir/StructureDefinition/Interviewer" />
            </type>
            <isModifier value="false" />
        </element>
        <element id="Encounter.extension:investigatorName">
            <path value="Encounter.extension" />
            <sliceName value="investigatorName" />
            <short value="Name of Investigator / Assessor" />
            <definition value="Name of Investigator / Assessor" />
            <comment value="This is an extension" />
            <type>
                <code value="Extension" />
                <profile value="https://example.org/fhir/StructureDefinition/InvestigatorName" />
            </type>
            <isModifier value="false" />
        </element>
        <element id="Encounter.extension:dateInterview">
            <path value="Encounter.extension" />
            <sliceName value="dateInterview" />
            <short value="Date of interview" />
            <definition value="Date of interview" />
            <comment value="This is an extension" />
            <type>
                <code value="Extension" />
                <profile value="https://example.org/fhir/StructureDefinition/DateInterview" />
            </type>
            <isModifier value="false" />
        </element>
        <element id="Encounter.extension:dateInvestigation">
            <path value="Encounter.extension" />
            <sliceName value="dateInvestigation" />
            <short value="Date of investigation" />
            <definition value="Date of investigation" />
            <type>
                <code value="Extension" />
                <profile value="https://example.org/fhir/StructureDefinition/DateInvestigation" />
            </type>
            <isModifier value="false" />
        </element>
        <element id="Encounter.extension:reporterName">
            <path value="Encounter.extension" />
            <sliceName value="reporterName" />
            <short value="Name of reporter" />
            <definition value="Name of reporter" />
            <type>
                <code value="Extension" />
                <profile value="https://example.org/fhir/StructureDefinition/ReporterName" />
            </type>
            <isModifier value="false" />
        </element>
        <element id="Encounter.extension:illnessClass">
            <path value="Encounter.extension" />
            <sliceName value="illnessClass" />
            <type>
                <code value="Extension" />
                <profile value="https://example.org/fhir/StructureDefinition/Illness_Class" />
            </type>
            <isModifier value="false" />
        </element>
        <element id="Encounter.modifierExtension">
            <path value="Encounter.modifierExtension" />
            <max value="0" />
        </element>
        <element id="Encounter.identifier">
            <path value="Encounter.identifier" />
            <slicing>
                <description value="These are the different encounter IDs" />
                <rules value="open" />
            </slicing>
        </element>
        <element id="Encounter.identifier:philHealthID">
            <path value="Encounter.identifier" />
            <sliceName value="philHealthID" />
            <short value="Philhealth code" />
            <definition value="A unique number or code assigned by the Philippine Health Insurance Corporation." />
            <max value="1" />
        </element>
        <element id="Encounter.identifier:covidDataID">
            <path value="Encounter.identifier" />
            <sliceName value="covidDataID" />
            <short value="COVID Data ID" />
            <definition value="COVID Data Identification" />
            <max value="1" />
        </element>
        <element id="Encounter.identifier:covidPatientID">
            <path value="Encounter.identifier" />
            <sliceName value="covidPatientID" />
            <short value="COVID Patient ID" />
            <definition value="COVID Patient Identification" />
            <max value="1" />
        </element>
        <element id="Encounter.statusHistory">
            <path value="Encounter.statusHistory" />
            <max value="0" />
        </element>
        <element id="Encounter.classHistory">
            <path value="Encounter.classHistory" />
            <max value="0" />
        </element>
        <element id="Encounter.type">
            <path value="Encounter.type" />
            <max value="1" />
        </element>
        <element id="Encounter.priority">
            <path value="Encounter.priority" />
            <max value="0" />
        </element>
        <element id="Encounter.episodeOfCare">
            <path value="Encounter.episodeOfCare" />
            <max value="0" />
        </element>
        <element id="Encounter.basedOn">
            <path value="Encounter.basedOn" />
            <max value="0" />
        </element>
        <element id="Encounter.participant">
            <path value="Encounter.participant" />
            <max value="0" />
        </element>
        <element id="Encounter.serviceProvider">
            <path value="Encounter.serviceProvider" />
            <max value="0" />
        </element>
        <element id="Encounter.partOf">
            <path value="Encounter.partOf" />
            <max value="0" />
        </element>
    </differential>
</StructureDefinition>
This is the resource in JSON:
{
    "resourceType": "StructureDefinition",
    "url": "https://example.org/fhir/StructureDefinition/PH_Encounter",
    "name": "PH_Encounter",
    "status": "draft",
    "fhirVersion": "4.0.1",
    "kind": "resource",
    "abstract": false,
    "type": "Encounter",
    "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Encounter",
    "derivation": "constraint",
    "differential": {
        "element":  [
            {
                "id": "Encounter.extension:ageYears",
                "path": "Encounter.extension",
                "sliceName": "ageYears",
                "short": "Age in years",
                "definition": "Age in years",
                "comment": "This is an extension",
                "type":  [
                    {
                        "code": "Extension",
                        "profile":  [
                            "https://example.org/fhir/StructureDefinition/AgeYears"
                        ]
                    }
                ],
                "isModifier": false
            },
            {
                "id": "Encounter.extension:ageMonths",
                "path": "Encounter.extension",
                "sliceName": "ageMonths",
                "short": "Age in months",
                "definition": "Age in months",
                "comment": "This is an extension",
                "type":  [
                    {
                        "code": "Extension",
                        "profile":  [
                            "https://example.org/fhir/StructureDefinition/AgeMonths"
                        ]
                    }
                ],
                "isModifier": false
            },
            {
                "id": "Encounter.extension:ageDays",
                "path": "Encounter.extension",
                "sliceName": "ageDays",
                "short": "Age in days",
                "definition": "Age in days",
                "comment": "This is an extension",
                "type":  [
                    {
                        "code": "Extension",
                        "profile":  [
                            "https://example.org/fhir/StructureDefinition/AgeDays"
                        ]
                    }
                ],
                "isModifier": false
            },
            {
                "id": "Encounter.extension:patientClassification",
                "path": "Encounter.extension",
                "sliceName": "patientClassification",
                "short": "Patient Classification",
                "definition": "Patient Classification",
                "comment": "This is an extension",
                "type":  [
                    {
                        "code": "Extension",
                        "profile":  [
                            "https://example.org/fhir/StructureDefinition/PatientClassification"
                        ]
                    }
                ],
                "isModifier": false
            },
            {
                "id": "Encounter.extension:interviewer",
                "path": "Encounter.extension",
                "sliceName": "interviewer",
                "short": "Name of interviewer",
                "definition": "Name of Interviewer at first point of contact",
                "comment": "This is an extension",
                "type":  [
                    {
                        "code": "Extension",
                        "profile":  [
                            "https://example.org/fhir/StructureDefinition/Interviewer"
                        ]
                    }
                ],
                "isModifier": false
            },
            {
                "id": "Encounter.extension:investigatorName",
                "path": "Encounter.extension",
                "sliceName": "investigatorName",
                "short": "Name of Investigator / Assessor",
                "definition": "Name of Investigator / Assessor",
                "comment": "This is an extension",
                "type":  [
                    {
                        "code": "Extension",
                        "profile":  [
                            "https://example.org/fhir/StructureDefinition/InvestigatorName"
                        ]
                    }
                ],
                "isModifier": false
            },
            {
                "id": "Encounter.extension:dateInterview",
                "path": "Encounter.extension",
                "sliceName": "dateInterview",
                "short": "Date of interview",
                "definition": "Date of interview",
                "comment": "This is an extension",
                "type":  [
                    {
                        "code": "Extension",
                        "profile":  [
                            "https://example.org/fhir/StructureDefinition/DateInterview"
                        ]
                    }
                ],
                "isModifier": false
            },
            {
                "id": "Encounter.extension:dateInvestigation",
                "path": "Encounter.extension",
                "sliceName": "dateInvestigation",
                "short": "Date of investigation",
                "definition": "Date of investigation",
                "type":  [
                    {
                        "code": "Extension",
                        "profile":  [
                            "https://example.org/fhir/StructureDefinition/DateInvestigation"
                        ]
                    }
                ],
                "isModifier": false
            },
            {
                "id": "Encounter.extension:reporterName",
                "path": "Encounter.extension",
                "sliceName": "reporterName",
                "short": "Name of reporter",
                "definition": "Name of reporter",
                "type":  [
                    {
                        "code": "Extension",
                        "profile":  [
                            "https://example.org/fhir/StructureDefinition/ReporterName"
                        ]
                    }
                ],
                "isModifier": false
            },
            {
                "id": "Encounter.extension:illnessClass",
                "path": "Encounter.extension",
                "sliceName": "illnessClass",
                "type":  [
                    {
                        "code": "Extension",
                        "profile":  [
                            "https://example.org/fhir/StructureDefinition/Illness_Class"
                        ]
                    }
                ],
                "isModifier": false
            },
            {
                "id": "Encounter.modifierExtension",
                "path": "Encounter.modifierExtension",
                "max": "0"
            },
            {
                "id": "Encounter.identifier",
                "path": "Encounter.identifier",
                "slicing": {
                    "description": "These are the different encounter IDs",
                    "rules": "open"
                }
            },
            {
                "id": "Encounter.identifier:philHealthID",
                "path": "Encounter.identifier",
                "sliceName": "philHealthID",
                "short": "Philhealth code",
                "definition": "A unique number or code assigned by the Philippine Health Insurance Corporation.",
                "max": "1"
            },
            {
                "id": "Encounter.identifier:covidDataID",
                "path": "Encounter.identifier",
                "sliceName": "covidDataID",
                "short": "COVID Data ID",
                "definition": "COVID Data Identification",
                "max": "1"
            },
            {
                "id": "Encounter.identifier:covidPatientID",
                "path": "Encounter.identifier",
                "sliceName": "covidPatientID",
                "short": "COVID Patient ID",
                "definition": "COVID Patient Identification",
                "max": "1"
            },
            {
                "id": "Encounter.statusHistory",
                "path": "Encounter.statusHistory",
                "max": "0"
            },
            {
                "id": "Encounter.classHistory",
                "path": "Encounter.classHistory",
                "max": "0"
            },
            {
                "id": "Encounter.type",
                "path": "Encounter.type",
                "max": "1"
            },
            {
                "id": "Encounter.priority",
                "path": "Encounter.priority",
                "max": "0"
            },
            {
                "id": "Encounter.episodeOfCare",
                "path": "Encounter.episodeOfCare",
                "max": "0"
            },
            {
                "id": "Encounter.basedOn",
                "path": "Encounter.basedOn",
                "max": "0"
            },
            {
                "id": "Encounter.participant",
                "path": "Encounter.participant",
                "max": "0"
            },
            {
                "id": "Encounter.serviceProvider",
                "path": "Encounter.serviceProvider",
                "max": "0"
            },
            {
                "id": "Encounter.partOf",
                "path": "Encounter.partOf",
                "max": "0"
            }
        ]
    }
}