Nepal HMIS FHIR Implementation Guide – 🚨 DRAFT VERSION
0.0.1-ballot - ci-build

Nepal HMIS FHIR Implementation Guide – 🚨 DRAFT VERSION - Local Development build (v0.0.1-ballot) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

## Resource Profile: NPCoreEncounterProfile - Detailed Descriptions

Active as of 2025-09-08

Definitions for the np-core-encounter resource profile.

- Key Elements Table
- Differential Elements Table
- Snapshot Elements Table

Guidance on how to interpret the contents of this table can be foundhere

0. Encounter
Definition | 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.
Short | An interaction during which services are provided to the patient
Control | 0..*
Is Modifier | false
Must Support | false
Summary | false
Alternate Names | Visit
Invariants | dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources (contained.contained.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().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(canonical) = '#').exists()).not()).trace('unmatched', id).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-5: If a resource is contained in another resource, it SHALL NOT have a security label (contained.meta.security.empty()) dom-6: A resource should have narrative for robust management (text.`div`.exists())
2. Encounter.implicitRules
Definition | A 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.
Short | A set of rules under which this content was created
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 its narrative along with other profiles, value sets, etc.
Control | 0..1
Type | uri
Is Modifier | true because This element is labeled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies its meaning or interpretation
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
Must Support | false
Summary | true
Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
4. Encounter.contained
Definition | These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, nor can they have their own independent transaction scope. This is allowed to be a Parameters resource if and only if it is referenced by a resource that provides context/meaning.
Short | Contained, inline 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.
Control | 0..* This element is affected by the following invariants: dom-2, dom-4, dom-3, dom-5
Type | Resource
Is Modifier | false
Must Support | false
Summary | false
Alternate Names | inline resources, anonymous resources, contained resources
6. Encounter.modifierExtension
Definition | May 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 managable, 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).
Short | Extensions that cannot be ignored
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.
Control | 0..*
Type | Extension
Is Modifier | true because Modifier extensions are expected to modify the meaning or interpretation of the resource that contains them
Must Support | false
Summary | true
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.
Alternate Names | extensions, user content
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())
8. Encounter.status
Definition | The current state of the encounter (not the state of the patient within the encounter - that is subjectState).
Short | planned | in-progress | on-hold | discharged | completed | cancelled | discontinued | entered-in-error | unknown
Comments | Note that internal business rules will determine the appropriate transitions that may occur between statuses (and also classes).
Control | 1..1
Binding | The codes SHALL be taken from EncounterStatus http://hl7.org/fhir/ValueSet/encounter-status|5.0.0 (required to `http://hl7.org/fhir/ValueSet/encounter-status|5.0.0` ) Current state of the encounter.
Type | code
Is Modifier | true because This element is labeled as a modifier because it is a status element that contains status entered-in-error which means that the resource should not be treated as valid
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
Must Support | true
Summary | true
Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
10. Encounter.serviceType
Definition | Broad categorization of the service that is to be provided (e.g. cardiology).
Short | Specific type of service
Control | 10..1*
Binding | The codes SHALL be taken from For example codes, see Service Type http://hl7.org/fhir/ValueSet/service-type (required to `https://fhir.hmis.gov.np/ValueSet/service-type` )
Type | CodeableReference(HealthcareService)
Is Modifier | false
Must Support | false
Summary | true
Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
12. Encounter.subject
Definition | The patient or group related to this encounter. In some use-cases the patient MAY not be present, such as a case meeting about a patient between several practitioners or a careteam.
Short | The patient or group related to this encounter
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).
Control | 10..1
Type | Reference(NP Core Patient Profile, Patient, Group)
Is Modifier | false
Must Support | true
Summary | true
Alternate Names | patient
Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
14. Encounter.actualPeriod
Definition | The actual start and end time of the encounter.
Short | The actual start and end time of the encounter
Comments | If not (yet) known, the end of the Period may be omitted.
Control | 10..1
Type | Period
Is Modifier | false
Must Support | false
Summary | false
Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
16. Encounter.actualPeriod.start
Definition | The start of the period. The boundary is inclusive.
Short | Starting time with inclusive boundary
Comments | If the low element is missing, the meaning is that the low boundary is not known.
Control | 10..1 This element is affected by the following invariants: per-1
Type | dateTime
Is Modifier | false
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
Must Support | true
Summary | true
Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))

Guidance on how to interpret the contents of this table can be foundhere

0. Encounter
2. Encounter.status
Must Support | true
4. Encounter.serviceType
Control | 1..1
Binding | The codes SHALL be taken from Service Type (required to `https://fhir.hmis.gov.np/ValueSet/service-type` )
6. Encounter.subject
Control | 1..?
Type | Reference(NP Core Patient Profile)
Must Support | true
8. Encounter.actualPeriod
Control | 1..?
10. Encounter.actualPeriod.start
Control | 1..?
Must Support | true

Guidance on how to interpret the contents of this table can be foundhere

0. Encounter
Definition | 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.
Short | An interaction during which services are provided to the patient
Control | 0..*
Is Modifier | false
Must Support | false
Summary | false
Alternate Names | Visit
Invariants | dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources (`contained.contained.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().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(canonical) = '#').exists()).not()).trace('unmatched', id).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-5: If a resource is contained in another resource, it SHALL NOT have a security label (`contained.meta.security.empty()`) dom-6: A resource should have narrative for robust management (`text.`div`.exists()`)
2. Encounter.id
Definition | The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
Short | Logical id of this artifact
Comments | Within the context of the FHIR RESTful interactions, the resource has an id except for cases like the create and conditional update. Otherwise, the use of the resouce id depends on the given use case.
Control | 0..1
Type | id
Is Modifier | false
Must Support | false
Summary | true
4. Encounter.meta
Definition | The 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.
Short | Metadata about the resource
Control | 0..1
Type | Meta
Is Modifier | false
Must Support | false
Summary | true
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
6. Encounter.implicitRules
Definition | A 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.
Short | A set of rules under which this content was created
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 its narrative along with other profiles, value sets, etc.
Control | 0..1
Type | uri
Is Modifier | true because This element is labeled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies its meaning or interpretation
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
Must Support | false
Summary | true
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
8. Encounter.language
Definition | The base language in which the resource is written.
Short | Language of the resource content
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).
Control | 0..1
Binding | The codes SHALL be taken from AllLanguages (required to `http://hl7.org/fhir/ValueSet/all-languages|5.0.0` ) IETF language tag for a human language
Type | code
Is Modifier | false
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
Must Support | false
Summary | false
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
10. Encounter.text
Definition | A 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.
Short | Text summary of the resource, for human interpretation
Comments | Contained resources do not have a 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.
Control | 0..1 This element is affected by the following invariants: dom-6
Type | Narrative
Is Modifier | false
Must Support | false
Summary | false
Alternate Names | narrative, html, xhtml, display
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
12. Encounter.contained
Definition | These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, nor can they have their own independent transaction scope. This is allowed to be a Parameters resource if and only if it is referenced by a resource that provides context/meaning.
Short | Contained, inline 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.
Control | 0..* This element is affected by the following invariants: dom-2, dom-4, dom-3, dom-5
Type | Resource
Is Modifier | false
Must Support | false
Summary | false
Alternate Names | inline resources, anonymous resources, contained resources
14. Encounter.extension
Definition | May 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 managable, 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.
Short | Additional content defined by implementations
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.
Control | 0..*
Type | Extension
Is Modifier | false
Must Support | false
Summary | false
Alternate Names | extensions, user content
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()`)
16. Encounter.modifierExtension
Definition | May 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 managable, 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).
Short | Extensions that cannot be ignored
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.
Control | 0..*
Type | Extension
Is Modifier | true because Modifier extensions are expected to modify the meaning or interpretation of the resource that contains them
Must Support | false
Summary | true
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.
Alternate Names | extensions, user content
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()`)
18. Encounter.identifier
Definition | Identifier(s) by which this encounter is known.
Short | Identifier(s) by which this encounter is known
Note | This is a business identifier, not a resource identifier (see discussion)
Control | 0..*
Type | Identifier
Is Modifier | false
Must Support | false
Summary | true
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
20. Encounter.status
Definition | The current state of the encounter (not the state of the patient within the encounter - that is subjectState).
Short | planned | in-progress | on-hold | discharged | completed | cancelled | discontinued | entered-in-error | unknown
Comments | Note that internal business rules will determine the appropriate transitions that may occur between statuses (and also classes).
Control | 1..1
Binding | The codes SHALL be taken from EncounterStatus (required to `http://hl7.org/fhir/ValueSet/encounter-status|5.0.0` ) Current state of the encounter.
Type | code
Is Modifier | true because This element is labeled as a modifier because it is a status element that contains status entered-in-error which means that the resource should not be treated as valid
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
Must Support | true
Summary | true
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
22. Encounter.class
Definition | Concepts representing classification of patient encounter such as ambulatory (outpatient), inpatient, emergency, home health or others due to local variations.
Short | Classification of patient encounter context - e.g. Inpatient, outpatient
Control | 0..*
Binding | The codes SHOULD be taken from Encounter class (preferred to `http://terminology.hl7.org/ValueSet/encounter-class` ) Classification of the encounter.
Type | CodeableConcept
Is Modifier | false
Must Support | false
Summary | true
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
24. Encounter.priority
Definition | Indicates the urgency of the encounter.
Short | Indicates the urgency of the encounter
Control | 0..1
Binding | For example codes, see ActPriority (example to `http://terminology.hl7.org/ValueSet/v3-ActPriority` ) Indicates the urgency of the encounter.
Type | CodeableConcept
Is Modifier | false
Must Support | false
Summary | false
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
26. Encounter.type
Definition | Specific type of encounter (e.g. e-mail consultation, surgical day-care, skilled nursing, rehabilitation).
Short | Specific type of encounter (e.g. e-mail consultation, surgical day-care, ...)
Comments | Since there are many ways to further classify encounters, this element is 0..*.
Control | 0..*
Binding | For example codes, see EncounterType (example to `http://hl7.org/fhir/ValueSet/encounter-type` ) A specific code indicating type of service provided
Type | CodeableConcept
Is Modifier | false
Must Support | false
Summary | true
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
28. Encounter.serviceType
Definition | Broad categorization of the service that is to be provided (e.g. cardiology).
Short | Specific type of service
Control | 1..1
Binding | The codes SHALL be taken from Service Type (required to `https://fhir.hmis.gov.np/ValueSet/service-type` )
Type | CodeableReference(HealthcareService)
Is Modifier | false
Must Support | false
Summary | true
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
30. Encounter.subject
Definition | The patient or group related to this encounter. In some use-cases the patient MAY not be present, such as a case meeting about a patient between several practitioners or a careteam.
Short | The patient or group related to this encounter
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).
Control | 1..1
Type | Reference(NP Core Patient Profile)
Is Modifier | false
Must Support | true
Summary | true
Alternate Names | patient
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
32. Encounter.subjectStatus
Definition | The subjectStatus value can be used to track the patient's status within the encounter. It details whether the patient has arrived or departed, has been triaged or is currently in a waiting status.
Short | The current status of the subject in relation to the Encounter
Comments | Different use-cases are likely to have different permitted transitions between states, such as an Emergency department could use `arrived` when the patient first presents, then `triaged` once has been assessed by a nurse, then `receiving-care` once treatment begins, however other sectors may use a different set of these values, or their own custom set in place of this example valueset provided.
Control | 0..1
Binding | For example codes, see EncounterSubjectStatus (example to `http://hl7.org/fhir/ValueSet/encounter-subject-status` ) Current status of the subject within the encounter.
Type | CodeableConcept
Is Modifier | false
Must Support | false
Summary | false
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
34. Encounter.episodeOfCare
Definition | Where a specific encounter should be classified as a part of a specific episode(s) of care this field should be used. This association can facilitate grouping of related encounters together for a specific purpose, such as government reporting, issue tracking, association via a common problem. The association is recorded on the encounter as these are typically created after the episode of care and grouped on entry rather than editing the episode of care to append another encounter to it (the episode of care could span years).
Short | Episode(s) of care that this encounter should be recorded against
Control | 0..*
Type | Reference(EpisodeOfCare)
Is Modifier | false
Must Support | false
Summary | true
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
36. Encounter.basedOn
Definition | The request this encounter satisfies (e.g. incoming referral or procedure request).
Short | The request that initiated this encounter
Control | 0..*
Type | Reference(CarePlan, DeviceRequest, MedicationRequest, ServiceRequest)
Is Modifier | false
Must Support | false
Summary | false
Alternate Names | incomingReferral
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
38. Encounter.careTeam
Definition | The group(s) of individuals, organizations that are allocated to participate in this encounter. The participants backbone will record the actuals of when these individuals participated during the encounter.
Short | The group(s) that are allocated to participate in this encounter
Control | 0..*
Type | Reference(CareTeam)
Is Modifier | false
Must Support | false
Summary | false
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
40. Encounter.partOf
Definition | Another Encounter of which this encounter is a part of (administratively or in time).
Short | Another Encounter this encounter is part of
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.
Control | 0..1
Type | Reference(Encounter)
Is Modifier | false
Must Support | false
Summary | false
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
42. Encounter.serviceProvider
Definition | The organization that is primarily responsible for this Encounter's services. This MAY be the same as the organization on the Patient record, however it could be different, such as if the actor performing the services was from an external organization (which may be billed seperately) for an external consultation. Refer to the colonoscopy example on the Encounter examples tab.
Short | The organization (facility) responsible for this encounter
Control | 0..1
Type | Reference(Organization)
Is Modifier | false
Must Support | false
Summary | false
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
44. Encounter.participant
Definition | The list of people responsible for providing the service.
Short | List of participants involved in the encounter
Comments | Any Patient or Group present in the participation.actor must also be the subject, though the subject may be absent from the participation.actor for cases where the patient (or group) is not present, such as during a case review conference.
Control | 0..*
Type | BackboneElement
Is Modifier | false
Must Support | false
Summary | true
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`) enc-1: A type must be provided when no explicit actor is specified (`actor.exists() or type.exists()`) enc-2: A type cannot be provided for a patient or group participant (`actor.exists(resolve() is Patient or resolve() is Group) implies type.exists().not()`)
46. Encounter.participant.id
Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
Short | Unique id for inter-element referencing
Control | 0..1 This element is affected by the following invariants: ele-1
Type | string
Is Modifier | false
XML Format | In the XML format, this property is represented as an attribute.
Summary | false
48. Encounter.participant.extension
Definition | May 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 managable, 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.
Short | Additional content defined by implementations
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.
Control | 0..*
Type | Extension
Is Modifier | false
Summary | false
Alternate Names | extensions, user content
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()`)
50. Encounter.participant.modifierExtension
Definition | May 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 managable, 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).
Short | Extensions that cannot be ignored even if unrecognized
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.
Control | 0..*
Type | Extension
Is Modifier | true because Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
Summary | true
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.
Alternate Names | extensions, user content, modifiers
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()`)
52. Encounter.participant.type
Definition | Role of participant in encounter.
Short | Role of participant in encounter
Comments | The participant type indicates how an individual actor 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.
Control | 0..* This element is affected by the following invariants: enc-1, enc-2
Binding | Unless not suitable, these codes SHALL be taken from ParticipantType (extensible to `http://hl7.org/fhir/ValueSet/encounter-participant-type` ) Role of participant in encounter.
Type | CodeableConcept
Is Modifier | false
Must Support | false
Summary | true
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
54. Encounter.participant.period
Definition | The period of time that the specified participant participated in the encounter. These can overlap or be sub-sets of the overall encounter's period.
Short | Period of time during the encounter that the participant participated
Control | 0..1
Type | Period
Is Modifier | false
Must Support | false
Summary | false
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
56. Encounter.participant.actor
Definition | Person involved in the encounter, the patient/group is also included here to indicate that the patient was actually participating in the encounter. Not including the patient here covers use cases such as a case meeting between practitioners about a patient - non contact times.
Short | The individual, device, or service participating in the encounter
Comments | For planning purposes, Appointments may include a CareTeam participant to indicate that one specific person from the CareTeam will be assigned, but that assignment might not happen until the Encounter begins. Hence CareTeam is not included in Encounter.participant, as the specific individual should be assigned and represented as a Practitioner or other person resource. Similarly, Location can be included in Appointment.participant to assist with planning. However, the patient location is tracked on the Encounter in the Encounter.location property to allow for additional metadata and history to be recorded. The role of the participant can be used to declare what the actor will be doing in the scope of this encounter participation. If the individual is not specified during planning, then it is expected that the individual will be filled in at a later stage prior to the encounter commencing.
Control | 0..1 This element is affected by the following invariants: enc-1, enc-2
Type | Reference(Patient, Group, RelatedPerson, Practitioner, PractitionerRole, Device, HealthcareService)
Is Modifier | false
Must Support | false
Summary | true
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
58. Encounter.appointment
Definition | The appointment that scheduled this encounter.
Short | The appointment that scheduled this encounter
Control | 0..*
Type | Reference(Appointment)
Is Modifier | false
Must Support | false
Summary | true
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
60. Encounter.virtualService
Definition | Connection details of a virtual service (e.g. conference call).
Short | Connection details of a virtual service (e.g. conference call)
Comments | There are two types of virtual meetings that often exist: a persistent, virtual meeting room that can only be used for a single purpose at a time, and a dynamic virtual meeting room that is generated on demand for a specific purpose. Implementers may consider using Location.virtualService for persistent meeting rooms. If each participant would have a different meeting link, an extension using the VirtualServiceContactDetail can be applied to the Encounter.participant BackboneElement.
Control | 0..*
Type | VirtualServiceDetail
Is Modifier | false
Must Support | false
Summary | false
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
62. Encounter.actualPeriod
Definition | The actual start and end time of the encounter.
Short | The actual start and end time of the encounter
Comments | If not (yet) known, the end of the Period may be omitted.
Control | 1..1
Type | Period
Is Modifier | false
Must Support | false
Summary | false
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
64. Encounter.actualPeriod.id
Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
Short | Unique id for inter-element referencing
Control | 0..1 This element is affected by the following invariants: ele-1
Type | id
Is Modifier | false
XML Format | In the XML format, this property is represented as an attribute.
Summary | false
66. Encounter.actualPeriod.extension
Definition | May 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 managable, 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.
Short | Additional content defined by implementations
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.
Control | 0..*
Type | Extension
Is Modifier | false
Summary | false
Alternate Names | extensions, user content
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()`)
Slicing | This element introduces a set of slices on `Encounter.actualPeriod.extension`. The slices areUnordered and Open, and can be differentiated using the following discriminators: value @ url
68. Encounter.actualPeriod.start
Definition | The start of the period. The boundary is inclusive.
Short | Starting time with inclusive boundary
Comments | If the low element is missing, the meaning is that the low boundary is not known.
Control | 1..1 This element is affected by the following invariants: per-1
Type | dateTime
Is Modifier | false
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
Must Support | true
Summary | true
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
70. Encounter.actualPeriod.end
Definition | The end of the period. If the end of the period is missing, it means no end was known or planned at the time the instance was created. The start may be in the past, and the end date in the future, which means that period is expected/planned to end at that time.
Short | End time with inclusive boundary, if not ongoing
Comments | The end value includes any matching date/time. i.e. 2012-02-03T10:00:00 is in a period that has an end value of 2012-02-03.
Control | 0..1 This element is affected by the following invariants: per-1
Type | dateTime
Is Modifier | false
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
Summary | true
Meaning if Missing | If the end of the period is missing, it means that the period is ongoing
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
72. Encounter.plannedStartDate
Definition | The planned start date/time (or admission date) of the encounter.
Short | The planned start date/time (or admission date) of the encounter
Control | 0..1
Type | dateTime
Is Modifier | false
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
Must Support | false
Summary | false
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
74. Encounter.plannedEndDate
Definition | The planned end date/time (or discharge date) of the encounter.
Short | The planned end date/time (or discharge date) of the encounter
Control | 0..1
Type | dateTime
Is Modifier | false
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
Must Support | false
Summary | false
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
76. Encounter.length
Definition | Actual quantity of time the encounter lasted. This excludes the time during leaves of absence. When missing it is the time in between the start and end values.
Short | Actual quantity of time the encounter lasted (less time absent)
Comments | If the precision on these values is low (e.g. to the day only) then this may be considered was an all day (or multi-day) encounter, unless the duration is included, where that amount of time occurred sometime during the interval. May differ from the time in `Encounter.period` due to leave of absence(s).
Control | 0..1
Type | Duration
Is Modifier | false
Must Support | false
Summary | false
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
78. Encounter.reason
Definition | The list of medical reasons that are expected to be addressed during the episode of care.
Short | The list of medical reasons that are expected to be addressed during the episode of care
Comments | The reason communicates what medical problem the patient has that should be addressed during the episode of care. This reason could be patient reported complaint, a clinical indication that was determined in a previous encounter or episode of care, or some planned care such as an immunization recommendation. In the case where you have a primary reason, but are expecting to also address other problems, you can list the primary reason with a use code of 'Chief Complaint', while the other problems being addressed would have a use code of 'Reason for Visit'. Examples: pregnancy would use HealthcareService or a coding as the reason patient home monitoring could use Condition as the reason
Control | 0..*
Type | BackboneElement
Is Modifier | false
Must Support | false
Summary | true
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
80. Encounter.reason.id
Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
Short | Unique id for inter-element referencing
Control | 0..1 This element is affected by the following invariants: ele-1
Type | string
Is Modifier | false
XML Format | In the XML format, this property is represented as an attribute.
Summary | false
82. Encounter.reason.extension
Definition | May 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 managable, 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.
Short | Additional content defined by implementations
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.
Control | 0..*
Type | Extension
Is Modifier | false
Summary | false
Alternate Names | extensions, user content
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()`)
84. Encounter.reason.modifierExtension
Definition | May 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 managable, 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).
Short | Extensions that cannot be ignored even if unrecognized
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.
Control | 0..*
Type | Extension
Is Modifier | true because Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
Summary | true
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.
Alternate Names | extensions, user content, modifiers
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()`)
86. Encounter.reason.use
Definition | What the reason value should be used as e.g. Chief Complaint, Health Concern, Health Maintenance (including screening).
Short | What the reason value should be used for/as
Control | 0..*
Binding | For example codes, see EncounterReasonUse (example to `http://hl7.org/fhir/ValueSet/encounter-reason-use` )
Type | CodeableConcept
Is Modifier | false
Must Support | false
Summary | true
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
88. Encounter.reason.value
Definition | Reason the encounter takes place, expressed as a code or a reference to another resource. For admissions, this can be used for a coded admission diagnosis.
Short | Reason the encounter takes place (core or reference)
Control | 0..*
Binding | The codes SHOULD be taken from EncounterReasonCodes (preferred to `http://hl7.org/fhir/ValueSet/encounter-reason` ) Reason why the encounter takes place.
Type | CodeableReference(Condition, DiagnosticReport, Observation, ImmunizationRecommendation, Procedure)
Is Modifier | false
Must Support | false
Summary | true
Alternate Names | Indication, Admission diagnosis
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
90. Encounter.diagnosis
Definition | The list of diagnosis relevant to this encounter.
Short | The list of diagnosis relevant to this encounter
Comments | Also note that for the purpose of billing, the diagnoses are recorded in the account where they can be ranked appropriately for how the invoicing/claiming documentation needs to be prepared.
Control | 0..*
Type | BackboneElement
Is Modifier | false
Must Support | false
Summary | true
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
92. Encounter.diagnosis.id
Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
Short | Unique id for inter-element referencing
Control | 0..1 This element is affected by the following invariants: ele-1
Type | string
Is Modifier | false
XML Format | In the XML format, this property is represented as an attribute.
Summary | false
94. Encounter.diagnosis.extension
Definition | May 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 managable, 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.
Short | Additional content defined by implementations
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.
Control | 0..*
Type | Extension
Is Modifier | false
Summary | false
Alternate Names | extensions, user content
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()`)
96. Encounter.diagnosis.modifierExtension
Definition | May 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 managable, 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).
Short | Extensions that cannot be ignored even if unrecognized
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.
Control | 0..*
Type | Extension
Is Modifier | true because Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
Summary | true
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.
Alternate Names | extensions, user content, modifiers
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()`)
98. Encounter.diagnosis.condition
Definition | The coded diagnosis or a reference to a Condition (with other resources referenced in the evidence.detail), the use property will indicate the purpose of this specific diagnosis.
Short | The diagnosis relevant to the encounter
Control | 0..*
Binding | For example codes, see ConditionProblemDiagnosisCodes (example to `http://hl7.org/fhir/ValueSet/condition-code` )
Type | CodeableReference(Condition)
Is Modifier | false
Must Support | false
Summary | true
Alternate Names | Admission diagnosis, discharge diagnosis, indication
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
100. Encounter.diagnosis.use
Definition | Role that this diagnosis has within the encounter (e.g. admission, billing, discharge …).
Short | Role that this diagnosis has within the encounter (e.g. admission, billing, discharge …)
Control | 0..*
Binding | The codes SHOULD be taken from EncounterDiagnosisUse (preferred to `http://hl7.org/fhir/ValueSet/encounter-diagnosis-use` ) The type of diagnosis this condition represents.
Type | CodeableConcept
Is Modifier | false
Must Support | false
Summary | false
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
102. Encounter.account
Definition | The set of accounts that may be used for billing for this Encounter.
Short | The set of accounts that may be used for billing for this Encounter
Comments | The billing system may choose to allocate billable items associated with the Encounter to different referenced Accounts based on internal business rules.
Control | 0..*
Type | Reference(Account)
Is Modifier | false
Must Support | false
Summary | false
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
104. Encounter.dietPreference
Definition | Diet preferences reported by the patient.
Short | Diet preferences reported by the patient
Comments | For example, a patient may request both a dairy-free and nut-free diet preference (not mutually exclusive).
Control | 0..*
Binding | For example codes, see EncounterDiet (example to `http://hl7.org/fhir/ValueSet/encounter-diet` ) Medical, cultural or ethical food preferences to help with catering requirements.
Type | CodeableConcept
Is Modifier | false
Must Support | false
Summary | false
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.
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
106. Encounter.specialArrangement
Definition | Any special requests that have been made for this encounter, such as the provision of specific equipment or other things.
Short | Wheelchair, translator, stretcher, etc
Control | 0..*
Binding | The codes SHOULD be taken from SpecialArrangements (preferred to `http://hl7.org/fhir/ValueSet/encounter-special-arrangements` ) Special arrangements.
Type | CodeableConcept
Is Modifier | false
Must Support | false
Summary | false
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
108. Encounter.specialCourtesy
Definition | Special courtesies that may be provided to the patient during the encounter (VIP, board member, professional courtesy).
Short | Special courtesies (VIP, board member)
Comments | Although the specialCourtesy property can contain values like VIP, the purpose of this field is intended to be used for flagging additional `benefits` that might occur for the patient during the encounter. It could include things like the patient is to have a private room, special room features, receive a friendly visit from hospital adminisitration, or should be briefed on treatment by senior staff during the stay. It is not specifically intended to be used for securing the specific record - that is the purpose of the security meta tag, and where appropriate, both fields could be used.
Control | 0..*
Binding | The codes SHOULD be taken from SpecialCourtesy (preferred to `http://hl7.org/fhir/ValueSet/encounter-special-courtesy` ) Special courtesies.
Type | CodeableConcept
Is Modifier | false
Must Support | false
Summary | false
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
110. Encounter.admission
Definition | Details about the stay during which a healthcare service is provided. This does not describe the event of admitting the patient, but rather any information that is relevant from the time of admittance until the time of discharge.
Short | Details about the admission to a healthcare service
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 admission record.
Control | 0..1
Type | BackboneElement
Is Modifier | false
Must Support | false
Summary | false
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
112. Encounter.admission.id
Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
Short | Unique id for inter-element referencing
Control | 0..1 This element is affected by the following invariants: ele-1
Type | string
Is Modifier | false
XML Format | In the XML format, this property is represented as an attribute.
Summary | false
114. Encounter.admission.extension
Definition | May 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 managable, 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.
Short | Additional content defined by implementations
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.
Control | 0..*
Type | Extension
Is Modifier | false
Summary | false
Alternate Names | extensions, user content
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()`)
116. Encounter.admission.modifierExtension
Definition | May 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 managable, 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).
Short | Extensions that cannot be ignored even if unrecognized
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.
Control | 0..*
Type | Extension
Is Modifier | true because Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
Summary | true
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.
Alternate Names | extensions, user content, modifiers
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()`)
118. Encounter.admission.preAdmissionIdentifier
Definition | Pre-admission identifier.
Short | Pre-admission identifier
Control | 0..1
Type | Identifier
Is Modifier | false
Must Support | false
Summary | false
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
120. Encounter.admission.origin
Definition | The location/organization from which the patient came before admission.
Short | The location/organization from which the patient came before admission
Control | 0..1
Type | Reference(Location, Organization)
Is Modifier | false
Must Support | false
Summary | false
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
122. Encounter.admission.admitSource
Definition | From where patient was admitted (physician referral, transfer).
Short | From where patient was admitted (physician referral, transfer)
Control | 0..1
Binding | The codes SHOULD be taken from AdmitSource (preferred to `http://hl7.org/fhir/ValueSet/encounter-admit-source` ) From where the patient was admitted.
Type | CodeableConcept
Is Modifier | false
Must Support | false
Summary | false
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
124. Encounter.admission.reAdmission
Definition | Indicates that this encounter is directly related to a prior admission, often because the conditions addressed in the prior admission were not fully addressed.
Short | Indicates that the patient is being re-admitted
Control | 0..1
Binding | For example codes, see hl7VS-re-admissionIndicator (example to `http://terminology.hl7.org/ValueSet/v2-0092` ) The reason for re-admission of this admission encounter.
Type | CodeableConcept
Is Modifier | false
Must Support | false
Summary | false
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
126. Encounter.admission.destination
Definition | Location/organization to which the patient is discharged.
Short | Location/organization to which the patient is discharged
Control | 0..1
Type | Reference(Location, Organization)
Is Modifier | false
Must Support | false
Summary | false
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
128. Encounter.admission.dischargeDisposition
Definition | Category or kind of location after discharge.
Short | Category or kind of location after discharge
Control | 0..1
Binding | For example codes, see DischargeDisposition (example to `http://hl7.org/fhir/ValueSet/encounter-discharge-disposition` ) Discharge Disposition.
Type | CodeableConcept
Is Modifier | false
Must Support | false
Summary | false
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
130. Encounter.location
Definition | List of locations where the patient has been during this encounter.
Short | List of locations where the patient has been
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".
Control | 0..*
Type | BackboneElement
Is Modifier | false
Must Support | false
Summary | false
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
132. Encounter.location.id
Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
Short | Unique id for inter-element referencing
Control | 0..1 This element is affected by the following invariants: ele-1
Type | string
Is Modifier | false
XML Format | In the XML format, this property is represented as an attribute.
Summary | false
134. Encounter.location.extension
Definition | May 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 managable, 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.
Short | Additional content defined by implementations
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.
Control | 0..*
Type | Extension
Is Modifier | false
Summary | false
Alternate Names | extensions, user content
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()`)
136. Encounter.location.modifierExtension
Definition | May 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 managable, 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).
Short | Extensions that cannot be ignored even if unrecognized
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.
Control | 0..*
Type | Extension
Is Modifier | true because Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
Summary | true
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.
Alternate Names | extensions, user content, modifiers
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()`)
138. Encounter.location.location
Definition | The location where the encounter takes place.
Short | Location the encounter takes place
Control | 1..1
Type | Reference(Location)
Is Modifier | false
Must Support | false
Summary | false
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
140. Encounter.location.status
Definition | The status of the participants' presence at the specified location during the period specified. If the participant is no longer at the location, then the period will have an end date/time.
Short | planned | active | reserved | completed
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.
Control | 0..1
Binding | The codes SHALL be taken from EncounterLocationStatus (required to `http://hl7.org/fhir/ValueSet/encounter-location-status|5.0.0` ) The status of the location.
Type | code
Is Modifier | false
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
Must Support | false
Summary | false
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
142. Encounter.location.form
Definition | This will be used to specify the required levels (bed/ward/room/etc.) desired to be recorded to simplify either messaging or query.
Short | The physical type of the location (usually the level in the location hierarchy - bed, room, ward, virtual etc.)
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.
Control | 0..1
Binding | For example codes, see LocationForm (example to `http://hl7.org/fhir/ValueSet/location-form` ) Physical form of the location.
Type | CodeableConcept
Is Modifier | false
Must Support | false
Summary | false
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
144. Encounter.location.period
Definition | Time period during which the patient was present at the location.
Short | Time period during which the patient was present at the location
Control | 0..1
Type | Period
Is Modifier | false
Must Support | false
Summary | false
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)