Huli FHIR Core Implementation Guide (R5)
0.1.0 - Release
Latin America and the Caribbean
Huli FHIR Core Implementation Guide (R5) - Local Development build (v0.1.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions
| Official URL: https://fhir.huli.ai/r5/StructureDefinition/huli-encounter | Version: 0.1.0 | |||
| Active as of 2026-09-11 | Computable Name: HuliEncounter | |||
Encounter profile for the Huli healthcare platform (FHIR R5). Represents ambulatory, emergency, inpatient, and virtual encounters with the SOAP-structured clinical workflow.
Key design decisions:
encounter_status = "completed" maps to FHIR's status =
"completed" (R5 renamed the R4 finished status code to completed,
which now matches the Huli source value directly).class (a CodeableConcept list in R5) uses v3-ActCode:
ambulatory→AMB, emergency→EMER, inpatient→IMP, virtual→VR.subject is tightened to 1..1 (Huli always requires a patient).participant requires at least one entry (the performing practitioner).
Write behavior: only participant[0].actor is read on write, and it is
treated as a Practitioner (a Huli user id). Additional participants and
PractitionerRole references are not consumed on write.ClinicalImpression.summary on the Encounter (S then O,
separated by a blank line) and are writable. Vital signs and laboratory
results are exposed as discrete HuliObservation resources. The
remaining SOAP narrative content (assessment, plan, custom forms,
drawings, orders) is not modelled through FHIR in this IG.Encounter.diagnosis is populated from assessment_plan.diagnoses[]
using contained HuliCondition resources, referenced through the R5
diagnosis.condition CodeableReference. Primary vs secondary is conveyed
via diagnosis.use (R5 dropped the numeric diagnosis.rank).Encounter.reason carries the chief complaint from clinical_data.reason
as reason.value.concept.text.Usages:
You can also check for usages in the FHIR IG Statistics
Description of Profiles, Differentials, Snapshots and how the different presentations work.
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
0..* | Encounter | An interaction during which services are provided to the patient | |
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created |
![]() ![]() |
0..* | Resource | Contained, inline Resources | |
![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored |
![]() ![]() |
?!SΣ | 1..1 | code | planned | in-progress | on-hold | discharged | completed | cancelled | discontinued | entered-in-error | unknown Binding: EncounterStatus (required): Current state of the encounter. |
![]() ![]() |
SΣ | 1..* | CodeableConcept | Classification of patient encounter context - e.g. Inpatient, outpatient Binding: Encounter class (preferred): Classification of the encounter. |
![]() ![]() |
SΣ | 1..1 | Reference(Huli Patient) | The patient or group related to this encounter |
![]() ![]() |
S | 0..1 | Reference(Organization) | The organization (facility) responsible for this encounter |
![]() ![]() |
SΣC | 1..* | BackboneElement | List of participants involved in the encounter Constraints: enc-1, enc-2 |
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() |
ΣC | 0..* | CodeableConcept | Role of participant in encounter Binding: ParticipantType (extensible): Role of participant in encounter. |
![]() ![]() ![]() |
ΣC | 0..1 | Reference(Practitioner | PractitionerRole) | The individual, device, or service participating in the encounter |
![]() ![]() |
Σ | 0..1 | Reference(Huli Appointment) | The appointment that scheduled this encounter |
![]() ![]() |
S | 1..1 | Period | The actual start and end time of the encounter |
![]() ![]() ![]() |
ΣC | 1..1 | dateTime | Starting time with inclusive boundary |
Documentation for this format | ||||
| Path | Status | Usage | ValueSet | Version | Source |
| Encounter.status | Base | required | Encounter Status | 📍5.0.0 | FHIR Std. |
| Encounter.class | Base | preferred | Encounter class | 📦2.0.1 | THO v7.3 |
| Encounter.participant.type | Base | extensible | Participant Type | 📍5.0.0 | FHIR Std. |
| Id | Grade | Path(s) | Description | Expression |
| dom-2 | error | Encounter | If the resource is contained in another resource, it SHALL NOT contain nested Resources |
contained.contained.empty()
|
| dom-3 | error | Encounter | 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 | error | Encounter | 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 | error | Encounter | If a resource is contained in another resource, it SHALL NOT have a security label |
contained.meta.security.empty()
|
| dom-6 | best practice | Encounter | A resource should have narrative for robust management |
text.`div`.exists()
|
| ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children |
hasValue() or (children().count() > id.count())
|
| enc-1 | error | Encounter.participant | A type must be provided when no explicit actor is specified |
actor.exists() or type.exists()
|
| enc-2 | error | Encounter.participant | A type cannot be provided for a patient or group participant |
actor.exists(resolve() is Patient or resolve() is Group) implies type.exists().not()
|
| ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both |
extension.exists() != value.exists()
|
This structure is derived from Encounter
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
0..* | Encounter | An interaction during which services are provided to the patient | |
![]() ![]() |
S | 1..1 | code | planned | in-progress | on-hold | discharged | completed | cancelled | discontinued | entered-in-error | unknown |
![]() ![]() |
S | 1..* | CodeableConcept | Classification of patient encounter context - e.g. Inpatient, outpatient |
![]() ![]() |
S | 1..1 | Reference(Huli Patient) | The patient or group related to this encounter |
![]() ![]() |
S | 0..1 | Reference(Organization) | The organization (facility) responsible for this encounter |
![]() ![]() |
S | 1..* | BackboneElement | List of participants involved in the encounter |
![]() ![]() ![]() |
0..1 | Reference(Practitioner | PractitionerRole) | The individual, device, or service participating in the encounter | |
![]() ![]() |
0..1 | Reference(Huli Appointment) | The appointment that scheduled this encounter | |
![]() ![]() |
S | 1..1 | Period | The actual start and end time of the encounter |
![]() ![]() ![]() |
1..1 | dateTime | Starting time with inclusive boundary | |
![]() ![]() |
||||
![]() ![]() ![]() |
1..* | CodeableReference(Huli Condition) | The diagnosis relevant to the encounter | |
![]() ![]() ![]() |
0..1 | CodeableConcept | Role that this diagnosis has within the encounter (e.g. admission, billing, discharge …) | |
Documentation for this format | ||||
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() | ||||
|---|---|---|---|---|---|---|---|---|
![]() |
0..* | Encounter | An interaction during which services are provided to the patient | |||||
![]() ![]() |
Σ | 0..1 | id | Logical id of this artifact | ||||
![]() ![]() |
Σ | 0..1 | Meta | Metadata about the resource | ||||
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||
![]() ![]() |
0..1 | code | Language of the resource content Binding: AllLanguages (required): IETF language tag for a human language
| |||||
![]() ![]() |
0..1 | Narrative | Text summary of the resource, for human interpretation This profile does not constrain the narrative in regard to content, language, or traceability to data elements | |||||
![]() ![]() |
0..* | Resource | Contained, inline Resources | |||||
![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored | ||||
![]() ![]() |
Σ | 0..* | Identifier | Identifier(s) by which this encounter is known | ||||
![]() ![]() |
?!SΣ | 1..1 | code | planned | in-progress | on-hold | discharged | completed | cancelled | discontinued | entered-in-error | unknown Binding: EncounterStatus (required): Current state of the encounter. | ||||
![]() ![]() |
SΣ | 1..* | CodeableConcept | Classification of patient encounter context - e.g. Inpatient, outpatient Binding: Encounter class (preferred): Classification of the encounter. | ||||
![]() ![]() |
0..1 | CodeableConcept | Indicates the urgency of the encounter Binding: ActPriority (example): Indicates the urgency of the encounter. | |||||
![]() ![]() |
Σ | 0..* | CodeableConcept | Specific type of encounter (e.g. e-mail consultation, surgical day-care, ...) Binding: EncounterType (example): A specific code indicating type of service provided | ||||
![]() ![]() |
Σ | 0..* | CodeableReference(HealthcareService) | Specific type of service Binding: ServiceType (example): Broad categorization of the service that is to be provided. | ||||
![]() ![]() |
SΣ | 1..1 | Reference(Huli Patient) | The patient or group related to this encounter | ||||
![]() ![]() |
0..1 | CodeableConcept | The current status of the subject in relation to the Encounter Binding: EncounterSubjectStatus (example): Current status of the subject within the encounter. | |||||
![]() ![]() |
Σ | 0..* | Reference(EpisodeOfCare) | Episode(s) of care that this encounter should be recorded against | ||||
![]() ![]() |
0..* | Reference(CarePlan | DeviceRequest | MedicationRequest | ServiceRequest) | The request that initiated this encounter | |||||
![]() ![]() |
0..* | Reference(CareTeam) | The group(s) that are allocated to participate in this encounter | |||||
![]() ![]() |
0..1 | Reference(Encounter) | Another Encounter this encounter is part of | |||||
![]() ![]() |
S | 0..1 | Reference(Organization) | The organization (facility) responsible for this encounter | ||||
![]() ![]() |
SΣC | 1..* | BackboneElement | List of participants involved in the encounter Constraints: enc-1, enc-2 | ||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() |
ΣC | 0..* | CodeableConcept | Role of participant in encounter Binding: ParticipantType (extensible): Role of participant in encounter. | ||||
![]() ![]() ![]() |
0..1 | Period | Period of time during the encounter that the participant participated | |||||
![]() ![]() ![]() |
ΣC | 0..1 | Reference(Practitioner | PractitionerRole) | The individual, device, or service participating in the encounter | ||||
![]() ![]() |
Σ | 0..1 | Reference(Huli Appointment) | The appointment that scheduled this encounter | ||||
![]() ![]() |
0..* | VirtualServiceDetail | Connection details of a virtual service (e.g. conference call) | |||||
![]() ![]() |
S | 1..1 | Period | The actual start and end time of the encounter | ||||
![]() ![]() ![]() |
0..1 | id | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() |
ΣC | 1..1 | dateTime | Starting time with inclusive boundary | ||||
![]() ![]() ![]() |
ΣC | 0..1 | dateTime | End time with inclusive boundary, if not ongoing | ||||
![]() ![]() |
0..1 | dateTime | The planned start date/time (or admission date) of the encounter | |||||
![]() ![]() |
0..1 | dateTime | The planned end date/time (or discharge date) of the encounter | |||||
![]() ![]() |
0..1 | Duration | Actual quantity of time the encounter lasted (less time absent) | |||||
![]() ![]() |
Σ | 0..* | BackboneElement | The list of medical reasons that are expected to be addressed during the episode of care | ||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() |
Σ | 0..* | CodeableConcept | What the reason value should be used for/as Binding: EncounterReasonUse (example) | ||||
![]() ![]() ![]() |
Σ | 0..* | CodeableReference(Condition | DiagnosticReport | Observation | ImmunizationRecommendation | Procedure) | Reason the encounter takes place (core or reference) Binding: EncounterReasonCodes (preferred): Reason why the encounter takes place. | ||||
![]() ![]() |
Σ | 0..* | BackboneElement | The list of diagnosis relevant to this encounter | ||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() |
Σ | 1..* | CodeableReference(Huli Condition) | The diagnosis relevant to the encounter Binding: ConditionProblemDiagnosisCodes (example) | ||||
![]() ![]() ![]() |
0..1 | CodeableConcept | Role that this diagnosis has within the encounter (e.g. admission, billing, discharge …) Binding: EncounterDiagnosisUse (preferred): The type of diagnosis this condition represents. | |||||
![]() ![]() |
0..* | Reference(Account) | The set of accounts that may be used for billing for this Encounter | |||||
![]() ![]() |
0..* | CodeableConcept | Diet preferences reported by the patient Binding: EncounterDiet (example): Medical, cultural or ethical food preferences to help with catering requirements. | |||||
![]() ![]() |
0..* | CodeableConcept | Wheelchair, translator, stretcher, etc Binding: SpecialArrangements (preferred): Special arrangements. | |||||
![]() ![]() |
0..* | CodeableConcept | Special courtesies (VIP, board member) Binding: SpecialCourtesy (preferred): Special courtesies. | |||||
![]() ![]() |
0..1 | BackboneElement | Details about the admission to a healthcare service | |||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() |
0..1 | Identifier | Pre-admission identifier | |||||
![]() ![]() ![]() |
0..1 | Reference(Location | Organization) | The location/organization from which the patient came before admission | |||||
![]() ![]() ![]() |
0..1 | CodeableConcept | From where patient was admitted (physician referral, transfer) Binding: AdmitSource (preferred): From where the patient was admitted. | |||||
![]() ![]() ![]() |
0..1 | CodeableConcept | Indicates that the patient is being re-admitted Binding: hl7VS-re-admissionIndicator (example): The reason for re-admission of this admission encounter. | |||||
![]() ![]() ![]() |
0..1 | Reference(Location | Organization) | Location/organization to which the patient is discharged | |||||
![]() ![]() ![]() |
0..1 | CodeableConcept | Category or kind of location after discharge Binding: DischargeDisposition (example): Discharge Disposition. | |||||
![]() ![]() |
0..* | BackboneElement | List of locations where the patient has been | |||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() |
1..1 | Reference(Location) | Location the encounter takes place | |||||
![]() ![]() ![]() |
0..1 | code | planned | active | reserved | completed Binding: EncounterLocationStatus (required): The status of the location. | |||||
![]() ![]() ![]() |
0..1 | CodeableConcept | The physical type of the location (usually the level in the location hierarchy - bed, room, ward, virtual etc.) Binding: LocationForm (example): Physical form of the location. | |||||
![]() ![]() ![]() |
0..1 | Period | Time period during which the patient was present at the location | |||||
Documentation for this format | ||||||||
| Path | Status | Usage | ValueSet | Version | Source |
| Encounter.language | Base | required | All Languages | 📍5.0.0 | FHIR Std. |
| Encounter.status | Base | required | Encounter Status | 📍5.0.0 | FHIR Std. |
| Encounter.class | Base | preferred | Encounter class | 📦2.0.1 | THO v7.3 |
| Encounter.priority | Base | example | ActPriority | 📦3.0.0 | THO v7.3 |
| Encounter.type | Base | example | Encounter Type | 📍5.0.0 | FHIR Std. |
| Encounter.serviceType | Base | example | Service Type | 📍5.0.0 | FHIR Std. |
| Encounter.subjectStatus | Base | example | Encounter Subject Status | 📍5.0.0 | FHIR Std. |
| Encounter.participant.type | Base | extensible | Participant Type | 📍5.0.0 | FHIR Std. |
| Encounter.reason.use | Base | example | Encounter Reason Use | 📍5.0.0 | FHIR Std. |
| Encounter.reason.value | Base | preferred | Encounter Reason Codes | 📍5.0.0 | FHIR Std. |
| Encounter.diagnosis.condition | Base | example | Condition/Problem/Diagnosis Codes | 📍5.0.0 | FHIR Std. |
| Encounter.diagnosis.use | Base | preferred | Encounter Diagnosis Use | 📍5.0.0 | FHIR Std. |
| Encounter.dietPreference | Base | example | Diet | 📍5.0.0 | FHIR Std. |
| Encounter.specialArrangement | Base | preferred | Special Arrangements | 📍5.0.0 | FHIR Std. |
| Encounter.specialCourtesy | Base | preferred | Special Courtesy | 📍5.0.0 | FHIR Std. |
| Encounter.admission.admitSource | Base | preferred | Admit Source | 📍5.0.0 | FHIR Std. |
| Encounter.admission.reAdmission | Base | example | hl7VS-re-admissionIndicator | 📦3.0.0 | THO v7.3 |
| Encounter.admission.dischargeDisposition | Base | example | Discharge Disposition | 📍5.0.0 | FHIR Std. |
| Encounter.location.status | Base | required | Encounter Location Status | 📍5.0.0 | FHIR Std. |
| Encounter.location.form | Base | example | Location Form | 📍5.0.0 | FHIR Std. |
| Id | Grade | Path(s) | Description | Expression |
| dom-2 | error | Encounter | If the resource is contained in another resource, it SHALL NOT contain nested Resources |
contained.contained.empty()
|
| dom-3 | error | Encounter | 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 | error | Encounter | 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 | error | Encounter | If a resource is contained in another resource, it SHALL NOT have a security label |
contained.meta.security.empty()
|
| dom-6 | best practice | Encounter | A resource should have narrative for robust management |
text.`div`.exists()
|
| ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children |
hasValue() or (children().count() > id.count())
|
| enc-1 | error | Encounter.participant | A type must be provided when no explicit actor is specified |
actor.exists() or type.exists()
|
| enc-2 | error | Encounter.participant | A type cannot be provided for a patient or group participant |
actor.exists(resolve() is Patient or resolve() is Group) implies type.exists().not()
|
| ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both |
extension.exists() != value.exists()
|
This structure is derived from Encounter
Key Elements View
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
0..* | Encounter | An interaction during which services are provided to the patient | |
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created |
![]() ![]() |
0..* | Resource | Contained, inline Resources | |
![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored |
![]() ![]() |
?!SΣ | 1..1 | code | planned | in-progress | on-hold | discharged | completed | cancelled | discontinued | entered-in-error | unknown Binding: EncounterStatus (required): Current state of the encounter. |
![]() ![]() |
SΣ | 1..* | CodeableConcept | Classification of patient encounter context - e.g. Inpatient, outpatient Binding: Encounter class (preferred): Classification of the encounter. |
![]() ![]() |
SΣ | 1..1 | Reference(Huli Patient) | The patient or group related to this encounter |
![]() ![]() |
S | 0..1 | Reference(Organization) | The organization (facility) responsible for this encounter |
![]() ![]() |
SΣC | 1..* | BackboneElement | List of participants involved in the encounter Constraints: enc-1, enc-2 |
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() |
ΣC | 0..* | CodeableConcept | Role of participant in encounter Binding: ParticipantType (extensible): Role of participant in encounter. |
![]() ![]() ![]() |
ΣC | 0..1 | Reference(Practitioner | PractitionerRole) | The individual, device, or service participating in the encounter |
![]() ![]() |
Σ | 0..1 | Reference(Huli Appointment) | The appointment that scheduled this encounter |
![]() ![]() |
S | 1..1 | Period | The actual start and end time of the encounter |
![]() ![]() ![]() |
ΣC | 1..1 | dateTime | Starting time with inclusive boundary |
Documentation for this format | ||||
| Path | Status | Usage | ValueSet | Version | Source |
| Encounter.status | Base | required | Encounter Status | 📍5.0.0 | FHIR Std. |
| Encounter.class | Base | preferred | Encounter class | 📦2.0.1 | THO v7.3 |
| Encounter.participant.type | Base | extensible | Participant Type | 📍5.0.0 | FHIR Std. |
| Id | Grade | Path(s) | Description | Expression |
| dom-2 | error | Encounter | If the resource is contained in another resource, it SHALL NOT contain nested Resources |
contained.contained.empty()
|
| dom-3 | error | Encounter | 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 | error | Encounter | 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 | error | Encounter | If a resource is contained in another resource, it SHALL NOT have a security label |
contained.meta.security.empty()
|
| dom-6 | best practice | Encounter | A resource should have narrative for robust management |
text.`div`.exists()
|
| ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children |
hasValue() or (children().count() > id.count())
|
| enc-1 | error | Encounter.participant | A type must be provided when no explicit actor is specified |
actor.exists() or type.exists()
|
| enc-2 | error | Encounter.participant | A type cannot be provided for a patient or group participant |
actor.exists(resolve() is Patient or resolve() is Group) implies type.exists().not()
|
| ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both |
extension.exists() != value.exists()
|
Differential View
This structure is derived from Encounter
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
0..* | Encounter | An interaction during which services are provided to the patient | |
![]() ![]() |
S | 1..1 | code | planned | in-progress | on-hold | discharged | completed | cancelled | discontinued | entered-in-error | unknown |
![]() ![]() |
S | 1..* | CodeableConcept | Classification of patient encounter context - e.g. Inpatient, outpatient |
![]() ![]() |
S | 1..1 | Reference(Huli Patient) | The patient or group related to this encounter |
![]() ![]() |
S | 0..1 | Reference(Organization) | The organization (facility) responsible for this encounter |
![]() ![]() |
S | 1..* | BackboneElement | List of participants involved in the encounter |
![]() ![]() ![]() |
0..1 | Reference(Practitioner | PractitionerRole) | The individual, device, or service participating in the encounter | |
![]() ![]() |
0..1 | Reference(Huli Appointment) | The appointment that scheduled this encounter | |
![]() ![]() |
S | 1..1 | Period | The actual start and end time of the encounter |
![]() ![]() ![]() |
1..1 | dateTime | Starting time with inclusive boundary | |
![]() ![]() |
||||
![]() ![]() ![]() |
1..* | CodeableReference(Huli Condition) | The diagnosis relevant to the encounter | |
![]() ![]() ![]() |
0..1 | CodeableConcept | Role that this diagnosis has within the encounter (e.g. admission, billing, discharge …) | |
Documentation for this format | ||||
Snapshot View
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() | ||||
|---|---|---|---|---|---|---|---|---|
![]() |
0..* | Encounter | An interaction during which services are provided to the patient | |||||
![]() ![]() |
Σ | 0..1 | id | Logical id of this artifact | ||||
![]() ![]() |
Σ | 0..1 | Meta | Metadata about the resource | ||||
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||
![]() ![]() |
0..1 | code | Language of the resource content Binding: AllLanguages (required): IETF language tag for a human language
| |||||
![]() ![]() |
0..1 | Narrative | Text summary of the resource, for human interpretation This profile does not constrain the narrative in regard to content, language, or traceability to data elements | |||||
![]() ![]() |
0..* | Resource | Contained, inline Resources | |||||
![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored | ||||
![]() ![]() |
Σ | 0..* | Identifier | Identifier(s) by which this encounter is known | ||||
![]() ![]() |
?!SΣ | 1..1 | code | planned | in-progress | on-hold | discharged | completed | cancelled | discontinued | entered-in-error | unknown Binding: EncounterStatus (required): Current state of the encounter. | ||||
![]() ![]() |
SΣ | 1..* | CodeableConcept | Classification of patient encounter context - e.g. Inpatient, outpatient Binding: Encounter class (preferred): Classification of the encounter. | ||||
![]() ![]() |
0..1 | CodeableConcept | Indicates the urgency of the encounter Binding: ActPriority (example): Indicates the urgency of the encounter. | |||||
![]() ![]() |
Σ | 0..* | CodeableConcept | Specific type of encounter (e.g. e-mail consultation, surgical day-care, ...) Binding: EncounterType (example): A specific code indicating type of service provided | ||||
![]() ![]() |
Σ | 0..* | CodeableReference(HealthcareService) | Specific type of service Binding: ServiceType (example): Broad categorization of the service that is to be provided. | ||||
![]() ![]() |
SΣ | 1..1 | Reference(Huli Patient) | The patient or group related to this encounter | ||||
![]() ![]() |
0..1 | CodeableConcept | The current status of the subject in relation to the Encounter Binding: EncounterSubjectStatus (example): Current status of the subject within the encounter. | |||||
![]() ![]() |
Σ | 0..* | Reference(EpisodeOfCare) | Episode(s) of care that this encounter should be recorded against | ||||
![]() ![]() |
0..* | Reference(CarePlan | DeviceRequest | MedicationRequest | ServiceRequest) | The request that initiated this encounter | |||||
![]() ![]() |
0..* | Reference(CareTeam) | The group(s) that are allocated to participate in this encounter | |||||
![]() ![]() |
0..1 | Reference(Encounter) | Another Encounter this encounter is part of | |||||
![]() ![]() |
S | 0..1 | Reference(Organization) | The organization (facility) responsible for this encounter | ||||
![]() ![]() |
SΣC | 1..* | BackboneElement | List of participants involved in the encounter Constraints: enc-1, enc-2 | ||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() |
ΣC | 0..* | CodeableConcept | Role of participant in encounter Binding: ParticipantType (extensible): Role of participant in encounter. | ||||
![]() ![]() ![]() |
0..1 | Period | Period of time during the encounter that the participant participated | |||||
![]() ![]() ![]() |
ΣC | 0..1 | Reference(Practitioner | PractitionerRole) | The individual, device, or service participating in the encounter | ||||
![]() ![]() |
Σ | 0..1 | Reference(Huli Appointment) | The appointment that scheduled this encounter | ||||
![]() ![]() |
0..* | VirtualServiceDetail | Connection details of a virtual service (e.g. conference call) | |||||
![]() ![]() |
S | 1..1 | Period | The actual start and end time of the encounter | ||||
![]() ![]() ![]() |
0..1 | id | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() |
ΣC | 1..1 | dateTime | Starting time with inclusive boundary | ||||
![]() ![]() ![]() |
ΣC | 0..1 | dateTime | End time with inclusive boundary, if not ongoing | ||||
![]() ![]() |
0..1 | dateTime | The planned start date/time (or admission date) of the encounter | |||||
![]() ![]() |
0..1 | dateTime | The planned end date/time (or discharge date) of the encounter | |||||
![]() ![]() |
0..1 | Duration | Actual quantity of time the encounter lasted (less time absent) | |||||
![]() ![]() |
Σ | 0..* | BackboneElement | The list of medical reasons that are expected to be addressed during the episode of care | ||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() |
Σ | 0..* | CodeableConcept | What the reason value should be used for/as Binding: EncounterReasonUse (example) | ||||
![]() ![]() ![]() |
Σ | 0..* | CodeableReference(Condition | DiagnosticReport | Observation | ImmunizationRecommendation | Procedure) | Reason the encounter takes place (core or reference) Binding: EncounterReasonCodes (preferred): Reason why the encounter takes place. | ||||
![]() ![]() |
Σ | 0..* | BackboneElement | The list of diagnosis relevant to this encounter | ||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() |
Σ | 1..* | CodeableReference(Huli Condition) | The diagnosis relevant to the encounter Binding: ConditionProblemDiagnosisCodes (example) | ||||
![]() ![]() ![]() |
0..1 | CodeableConcept | Role that this diagnosis has within the encounter (e.g. admission, billing, discharge …) Binding: EncounterDiagnosisUse (preferred): The type of diagnosis this condition represents. | |||||
![]() ![]() |
0..* | Reference(Account) | The set of accounts that may be used for billing for this Encounter | |||||
![]() ![]() |
0..* | CodeableConcept | Diet preferences reported by the patient Binding: EncounterDiet (example): Medical, cultural or ethical food preferences to help with catering requirements. | |||||
![]() ![]() |
0..* | CodeableConcept | Wheelchair, translator, stretcher, etc Binding: SpecialArrangements (preferred): Special arrangements. | |||||
![]() ![]() |
0..* | CodeableConcept | Special courtesies (VIP, board member) Binding: SpecialCourtesy (preferred): Special courtesies. | |||||
![]() ![]() |
0..1 | BackboneElement | Details about the admission to a healthcare service | |||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() |
0..1 | Identifier | Pre-admission identifier | |||||
![]() ![]() ![]() |
0..1 | Reference(Location | Organization) | The location/organization from which the patient came before admission | |||||
![]() ![]() ![]() |
0..1 | CodeableConcept | From where patient was admitted (physician referral, transfer) Binding: AdmitSource (preferred): From where the patient was admitted. | |||||
![]() ![]() ![]() |
0..1 | CodeableConcept | Indicates that the patient is being re-admitted Binding: hl7VS-re-admissionIndicator (example): The reason for re-admission of this admission encounter. | |||||
![]() ![]() ![]() |
0..1 | Reference(Location | Organization) | Location/organization to which the patient is discharged | |||||
![]() ![]() ![]() |
0..1 | CodeableConcept | Category or kind of location after discharge Binding: DischargeDisposition (example): Discharge Disposition. | |||||
![]() ![]() |
0..* | BackboneElement | List of locations where the patient has been | |||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() |
1..1 | Reference(Location) | Location the encounter takes place | |||||
![]() ![]() ![]() |
0..1 | code | planned | active | reserved | completed Binding: EncounterLocationStatus (required): The status of the location. | |||||
![]() ![]() ![]() |
0..1 | CodeableConcept | The physical type of the location (usually the level in the location hierarchy - bed, room, ward, virtual etc.) Binding: LocationForm (example): Physical form of the location. | |||||
![]() ![]() ![]() |
0..1 | Period | Time period during which the patient was present at the location | |||||
Documentation for this format | ||||||||
| Path | Status | Usage | ValueSet | Version | Source |
| Encounter.language | Base | required | All Languages | 📍5.0.0 | FHIR Std. |
| Encounter.status | Base | required | Encounter Status | 📍5.0.0 | FHIR Std. |
| Encounter.class | Base | preferred | Encounter class | 📦2.0.1 | THO v7.3 |
| Encounter.priority | Base | example | ActPriority | 📦3.0.0 | THO v7.3 |
| Encounter.type | Base | example | Encounter Type | 📍5.0.0 | FHIR Std. |
| Encounter.serviceType | Base | example | Service Type | 📍5.0.0 | FHIR Std. |
| Encounter.subjectStatus | Base | example | Encounter Subject Status | 📍5.0.0 | FHIR Std. |
| Encounter.participant.type | Base | extensible | Participant Type | 📍5.0.0 | FHIR Std. |
| Encounter.reason.use | Base | example | Encounter Reason Use | 📍5.0.0 | FHIR Std. |
| Encounter.reason.value | Base | preferred | Encounter Reason Codes | 📍5.0.0 | FHIR Std. |
| Encounter.diagnosis.condition | Base | example | Condition/Problem/Diagnosis Codes | 📍5.0.0 | FHIR Std. |
| Encounter.diagnosis.use | Base | preferred | Encounter Diagnosis Use | 📍5.0.0 | FHIR Std. |
| Encounter.dietPreference | Base | example | Diet | 📍5.0.0 | FHIR Std. |
| Encounter.specialArrangement | Base | preferred | Special Arrangements | 📍5.0.0 | FHIR Std. |
| Encounter.specialCourtesy | Base | preferred | Special Courtesy | 📍5.0.0 | FHIR Std. |
| Encounter.admission.admitSource | Base | preferred | Admit Source | 📍5.0.0 | FHIR Std. |
| Encounter.admission.reAdmission | Base | example | hl7VS-re-admissionIndicator | 📦3.0.0 | THO v7.3 |
| Encounter.admission.dischargeDisposition | Base | example | Discharge Disposition | 📍5.0.0 | FHIR Std. |
| Encounter.location.status | Base | required | Encounter Location Status | 📍5.0.0 | FHIR Std. |
| Encounter.location.form | Base | example | Location Form | 📍5.0.0 | FHIR Std. |
| Id | Grade | Path(s) | Description | Expression |
| dom-2 | error | Encounter | If the resource is contained in another resource, it SHALL NOT contain nested Resources |
contained.contained.empty()
|
| dom-3 | error | Encounter | 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 | error | Encounter | 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 | error | Encounter | If a resource is contained in another resource, it SHALL NOT have a security label |
contained.meta.security.empty()
|
| dom-6 | best practice | Encounter | A resource should have narrative for robust management |
text.`div`.exists()
|
| ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children |
hasValue() or (children().count() > id.count())
|
| enc-1 | error | Encounter.participant | A type must be provided when no explicit actor is specified |
actor.exists() or type.exists()
|
| enc-2 | error | Encounter.participant | A type cannot be provided for a patient or group participant |
actor.exists(resolve() is Patient or resolve() is Group) implies type.exists().not()
|
| ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both |
extension.exists() != value.exists()
|
This structure is derived from Encounter
Other representations of profile: CSV, Excel, Schematron