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: NP Core Encounter Profile

Official URL: https://fhir.hmis.gov.np/StructureDefinition/np-core-encounter | Version: 0.0.1-ballot
Active as of 2025-09-08 | Computable Name: NPCoreEncounterProfile
Copyright/Legal: Used by permission of HL7 International, all rights reserved Creative Commons License

The NP Core Encounter Profile inherits from the FHIR Encounter resource; refer to it for scope and usage definitions. This profile sets minimum expectations for the Encounter resource to record, search, and fetch basic encounter information for an individual patient within the Nepal health system. It specifies which core elements, extensions, vocabularies, and value sets SHALL be present and constrains how the elements are used. By providing a standardized foundation for capturing encounters in Nepal (including OPD visits, outreach clinics, and home visits), this profile promotes interoperability, consistent data capture, and adoption across national health programs.

Usages:

- Examples for this Profile: Encounter/encounter-anc-visit

You can also check for usages in the FHIR IG Statistics

### Formal Views of Profile Content

Description of Profiles, Differentials, Snapshots and how the different presentations work.

- Key Elements Table
- Differential Table
- Snapshot Table
- Statistics/References
- All

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Encounter |  | 0..* | Encounter | An interaction during which services are provided to the patient
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
contained |  | 0..* | Resource | Contained, inline Resources
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored
status | ?!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.
serviceType | Σ | 1..1 | CodeableReference(HealthcareService) | Specific type of service Binding: Service Type (required)
subject | S Σ | 1..1 | Reference(NP Core Patient Profile) | The patient or group related to this encounter
actualPeriod |  | 1..1 | Period | The actual start and end time of the encounter
start | S Σ C | 1..1 | dateTime | Starting time with inclusive boundary
Documentation for this format

#### Terminology Bindings

Path | Conformance | ValueSet | URI
Encounter.status | required | EncounterStatus `http://hl7.org/fhir/ValueSet/encounter-status|5.0.0` From the FHIR Standard
Encounter.serviceType | required | ServiceTypeVS `https://fhir.hmis.gov.np/ValueSet/service-type` From this IG

#### Constraints

Id | Grade | Path(s) | Details | Requirements
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()) |
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: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Encounter |  | 0..* | Encounter | An interaction during which services are provided to the patient
status | S | 1..1 | code | planned | in-progress | on-hold | discharged | completed | cancelled | discontinued | entered-in-error | unknown
serviceType |  | 1..1 | CodeableReference(HealthcareService) | Specific type of service Binding: Service Type (required)
subject | S | 1..1 | Reference(NP Core Patient Profile) | The patient or group related to this encounter
actualPeriod |  | 1..1 | Period | The actual start and end time of the encounter
start | S | 1..1 | dateTime | Starting time with inclusive boundary
Documentation for this format

#### Terminology Bindings (Differential)

Path | Conformance | ValueSet | URI
Encounter.serviceType | required | ServiceTypeVS `https://fhir.hmis.gov.np/ValueSet/service-type` From this IG

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Encounter |  | 0..* | Encounter | An interaction during which services are provided to the patient
id | Σ | 0..1 | id | Logical id of this artifact
meta | Σ | 0..1 | Meta | Metadata about the resource
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
language |  | 0..1 | code | Language of the resource content Binding: AllLanguages (required): IETF language tag for a human language
Additional Bindings | Purpose
CommonLanguages | Starter
text |  | 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
contained |  | 0..* | Resource | Contained, inline Resources
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored
identifier | Σ | 0..* | Identifier | Identifier(s) by which this encounter is known
status | ?!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.
class | Σ | 0..* | CodeableConcept | Classification of patient encounter context - e.g. Inpatient, outpatient Binding: Encounter class (preferred): Classification of the encounter.
priority |  | 0..1 | CodeableConcept | Indicates the urgency of the encounter Binding: ActPriority (example): Indicates the urgency of the encounter.
type | Σ | 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
serviceType | Σ | 1..1 | CodeableReference(HealthcareService) | Specific type of service Binding: Service Type (required)
subject | S Σ | 1..1 | Reference(NP Core Patient Profile) | The patient or group related to this encounter
subjectStatus |  | 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.
episodeOfCare | Σ | 0..* | Reference(EpisodeOfCare) | Episode(s) of care that this encounter should be recorded against
basedOn |  | 0..* | Reference(CarePlan | DeviceRequest | MedicationRequest | ServiceRequest) | The request that initiated this encounter
careTeam |  | 0..* | Reference(CareTeam) | The group(s) that are allocated to participate in this encounter
partOf |  | 0..1 | Reference(Encounter) | Another Encounter this encounter is part of
serviceProvider |  | 0..1 | Reference(Organization) | The organization (facility) responsible for this encounter
participant | Σ C | 0..* | BackboneElement | List of participants involved in the encounter Constraints: enc-1, enc-2
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
type | Σ C | 0..* | CodeableConcept | Role of participant in encounter Binding: ParticipantType (extensible): Role of participant in encounter.
period |  | 0..1 | Period | Period of time during the encounter that the participant participated
actor | Σ C | 0..1 | Reference(Patient | Group | RelatedPerson | Practitioner | PractitionerRole | Device | HealthcareService) | The individual, device, or service participating in the encounter
appointment | Σ | 0..* | Reference(Appointment) | The appointment that scheduled this encounter
virtualService |  | 0..* | VirtualServiceDetail | Connection details of a virtual service (e.g. conference call)
actualPeriod |  | 1..1 | Period | The actual start and end time of the encounter
id |  | 0..1 | id | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
start | S Σ C | 1..1 | dateTime | Starting time with inclusive boundary
end | Σ C | 0..1 | dateTime | End time with inclusive boundary, if not ongoing
plannedStartDate |  | 0..1 | dateTime | The planned start date/time (or admission date) of the encounter
plannedEndDate |  | 0..1 | dateTime | The planned end date/time (or discharge date) of the encounter
length |  | 0..1 | Duration | Actual quantity of time the encounter lasted (less time absent)
reason | Σ | 0..* | BackboneElement | The list of medical reasons that are expected to be addressed during the episode of care
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
use | Σ | 0..* | CodeableConcept | What the reason value should be used for/as Binding: EncounterReasonUse (example)
value | Σ | 0..* | CodeableReference(Condition | DiagnosticReport | Observation | ImmunizationRecommendation | Procedure) | Reason the encounter takes place (core or reference) Binding: EncounterReasonCodes (preferred): Reason why the encounter takes place.
diagnosis | Σ | 0..* | BackboneElement | The list of diagnosis relevant to this encounter
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
condition | Σ | 0..* | CodeableReference(Condition) | The diagnosis relevant to the encounter Binding: ConditionProblemDiagnosisCodes (example)
use |  | 0..* | CodeableConcept | Role that this diagnosis has within the encounter (e.g. admission, billing, discharge …) Binding: EncounterDiagnosisUse (preferred): The type of diagnosis this condition represents.
account |  | 0..* | Reference(Account) | The set of accounts that may be used for billing for this Encounter
dietPreference |  | 0..* | CodeableConcept | Diet preferences reported by the patient Binding: EncounterDiet (example): Medical, cultural or ethical food preferences to help with catering requirements.
specialArrangement |  | 0..* | CodeableConcept | Wheelchair, translator, stretcher, etc Binding: SpecialArrangements (preferred): Special arrangements.
specialCourtesy |  | 0..* | CodeableConcept | Special courtesies (VIP, board member) Binding: SpecialCourtesy (preferred): Special courtesies.
admission |  | 0..1 | BackboneElement | Details about the admission to a healthcare service
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
preAdmissionIdentifier |  | 0..1 | Identifier | Pre-admission identifier
origin |  | 0..1 | Reference(Location | Organization) | The location/organization from which the patient came before admission
admitSource |  | 0..1 | CodeableConcept | From where patient was admitted (physician referral, transfer) Binding: AdmitSource (preferred): From where the patient was admitted.
reAdmission |  | 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.
destination |  | 0..1 | Reference(Location | Organization) | Location/organization to which the patient is discharged
dischargeDisposition |  | 0..1 | CodeableConcept | Category or kind of location after discharge Binding: DischargeDisposition (example): Discharge Disposition.
location |  | 0..* | BackboneElement | List of locations where the patient has been
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
location |  | 1..1 | Reference(Location) | Location the encounter takes place
status |  | 0..1 | code | planned | active | reserved | completed Binding: EncounterLocationStatus (required): The status of the location.
form |  | 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.
period |  | 0..1 | Period | Time period during which the patient was present at the location
Documentation for this format

#### Terminology Bindings

Path | Conformance | ValueSet | URI
Encounter.language | required | AllLanguages `http://hl7.org/fhir/ValueSet/all-languages|5.0.0` From the FHIR Standard
Encounter.status | required | EncounterStatus `http://hl7.org/fhir/ValueSet/encounter-status|5.0.0` From the FHIR Standard
Encounter.class | preferred | EncounterClass `http://terminology.hl7.org/ValueSet/encounter-class`
Encounter.priority | example | ActPriority `http://terminology.hl7.org/ValueSet/v3-ActPriority`
Encounter.type | example | EncounterType `http://hl7.org/fhir/ValueSet/encounter-type` From the FHIR Standard
Encounter.serviceType | required | ServiceTypeVS `https://fhir.hmis.gov.np/ValueSet/service-type` From this IG
Encounter.subjectStatus | example | EncounterSubjectStatus `http://hl7.org/fhir/ValueSet/encounter-subject-status` From the FHIR Standard
Encounter.participant.type | extensible | ParticipantType `http://hl7.org/fhir/ValueSet/encounter-participant-type` From the FHIR Standard
Encounter.reason.use | example | EncounterReasonUse `http://hl7.org/fhir/ValueSet/encounter-reason-use` From the FHIR Standard
Encounter.reason.value | preferred | EncounterReasonCodes `http://hl7.org/fhir/ValueSet/encounter-reason` From the FHIR Standard
Encounter.diagnosis.condition | example | ConditionProblemDiagnosisCodes `http://hl7.org/fhir/ValueSet/condition-code` From the FHIR Standard
Encounter.diagnosis.use | preferred | EncounterDiagnosisUse `http://hl7.org/fhir/ValueSet/encounter-diagnosis-use` From the FHIR Standard
Encounter.dietPreference | example | EncounterDiet `http://hl7.org/fhir/ValueSet/encounter-diet` From the FHIR Standard
Encounter.specialArrangement | preferred | SpecialArrangements `http://hl7.org/fhir/ValueSet/encounter-special-arrangements` From the FHIR Standard
Encounter.specialCourtesy | preferred | SpecialCourtesy `http://hl7.org/fhir/ValueSet/encounter-special-courtesy` From the FHIR Standard
Encounter.admission.admitSource | preferred | AdmitSource `http://hl7.org/fhir/ValueSet/encounter-admit-source` From the FHIR Standard
Encounter.admission.reAdmission | example | Hl7VSReAdmissionIndicator `http://terminology.hl7.org/ValueSet/v2-0092`
Encounter.admission.dischargeDisposition | example | DischargeDisposition `http://hl7.org/fhir/ValueSet/encounter-discharge-disposition` From the FHIR Standard
Encounter.location.status | required | EncounterLocationStatus `http://hl7.org/fhir/ValueSet/encounter-location-status|5.0.0` From the FHIR Standard
Encounter.location.form | example | LocationForm `http://hl7.org/fhir/ValueSet/location-form` From the FHIR Standard

#### Constraints

Id | Grade | Path(s) | Details | Requirements
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

Summary

Mandatory: 4 elements
Must-Support: 3 elements

Structures

This structure refers to these other structures:

- NP Core Patient Profile (https://fhir.hmis.gov.np/StructureDefinition/np-core-patient)

Key Elements View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Encounter |  | 0..* | Encounter | An interaction during which services are provided to the patient
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
contained |  | 0..* | Resource | Contained, inline Resources
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored
status | ?!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.
serviceType | Σ | 1..1 | CodeableReference(HealthcareService) | Specific type of service Binding: Service Type (required)
subject | S Σ | 1..1 | Reference(NP Core Patient Profile) | The patient or group related to this encounter
actualPeriod |  | 1..1 | Period | The actual start and end time of the encounter
start | S Σ C | 1..1 | dateTime | Starting time with inclusive boundary
Documentation for this format

#### Terminology Bindings

Path | Conformance | ValueSet | URI
Encounter.status | required | EncounterStatus `http://hl7.org/fhir/ValueSet/encounter-status|5.0.0` From the FHIR Standard
Encounter.serviceType | required | ServiceTypeVS `https://fhir.hmis.gov.np/ValueSet/service-type` From this IG

#### Constraints

Id | Grade | Path(s) | Details | Requirements
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()) |
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: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Encounter |  | 0..* | Encounter | An interaction during which services are provided to the patient
status | S | 1..1 | code | planned | in-progress | on-hold | discharged | completed | cancelled | discontinued | entered-in-error | unknown
serviceType |  | 1..1 | CodeableReference(HealthcareService) | Specific type of service Binding: Service Type (required)
subject | S | 1..1 | Reference(NP Core Patient Profile) | The patient or group related to this encounter
actualPeriod |  | 1..1 | Period | The actual start and end time of the encounter
start | S | 1..1 | dateTime | Starting time with inclusive boundary
Documentation for this format

#### Terminology Bindings (Differential)

Path | Conformance | ValueSet | URI
Encounter.serviceType | required | ServiceTypeVS `https://fhir.hmis.gov.np/ValueSet/service-type` From this IG

Snapshot View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Encounter |  | 0..* | Encounter | An interaction during which services are provided to the patient
id | Σ | 0..1 | id | Logical id of this artifact
meta | Σ | 0..1 | Meta | Metadata about the resource
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
language |  | 0..1 | code | Language of the resource content Binding: AllLanguages (required): IETF language tag for a human language
Additional Bindings | Purpose
CommonLanguages | Starter
text |  | 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
contained |  | 0..* | Resource | Contained, inline Resources
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored
identifier | Σ | 0..* | Identifier | Identifier(s) by which this encounter is known
status | ?!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.
class | Σ | 0..* | CodeableConcept | Classification of patient encounter context - e.g. Inpatient, outpatient Binding: Encounter class (preferred): Classification of the encounter.
priority |  | 0..1 | CodeableConcept | Indicates the urgency of the encounter Binding: ActPriority (example): Indicates the urgency of the encounter.
type | Σ | 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
serviceType | Σ | 1..1 | CodeableReference(HealthcareService) | Specific type of service Binding: Service Type (required)
subject | S Σ | 1..1 | Reference(NP Core Patient Profile) | The patient or group related to this encounter
subjectStatus |  | 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.
episodeOfCare | Σ | 0..* | Reference(EpisodeOfCare) | Episode(s) of care that this encounter should be recorded against
basedOn |  | 0..* | Reference(CarePlan | DeviceRequest | MedicationRequest | ServiceRequest) | The request that initiated this encounter
careTeam |  | 0..* | Reference(CareTeam) | The group(s) that are allocated to participate in this encounter
partOf |  | 0..1 | Reference(Encounter) | Another Encounter this encounter is part of
serviceProvider |  | 0..1 | Reference(Organization) | The organization (facility) responsible for this encounter
participant | Σ C | 0..* | BackboneElement | List of participants involved in the encounter Constraints: enc-1, enc-2
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
type | Σ C | 0..* | CodeableConcept | Role of participant in encounter Binding: ParticipantType (extensible): Role of participant in encounter.
period |  | 0..1 | Period | Period of time during the encounter that the participant participated
actor | Σ C | 0..1 | Reference(Patient | Group | RelatedPerson | Practitioner | PractitionerRole | Device | HealthcareService) | The individual, device, or service participating in the encounter
appointment | Σ | 0..* | Reference(Appointment) | The appointment that scheduled this encounter
virtualService |  | 0..* | VirtualServiceDetail | Connection details of a virtual service (e.g. conference call)
actualPeriod |  | 1..1 | Period | The actual start and end time of the encounter
id |  | 0..1 | id | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
start | S Σ C | 1..1 | dateTime | Starting time with inclusive boundary
end | Σ C | 0..1 | dateTime | End time with inclusive boundary, if not ongoing
plannedStartDate |  | 0..1 | dateTime | The planned start date/time (or admission date) of the encounter
plannedEndDate |  | 0..1 | dateTime | The planned end date/time (or discharge date) of the encounter
length |  | 0..1 | Duration | Actual quantity of time the encounter lasted (less time absent)
reason | Σ | 0..* | BackboneElement | The list of medical reasons that are expected to be addressed during the episode of care
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
use | Σ | 0..* | CodeableConcept | What the reason value should be used for/as Binding: EncounterReasonUse (example)
value | Σ | 0..* | CodeableReference(Condition | DiagnosticReport | Observation | ImmunizationRecommendation | Procedure) | Reason the encounter takes place (core or reference) Binding: EncounterReasonCodes (preferred): Reason why the encounter takes place.
diagnosis | Σ | 0..* | BackboneElement | The list of diagnosis relevant to this encounter
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
condition | Σ | 0..* | CodeableReference(Condition) | The diagnosis relevant to the encounter Binding: ConditionProblemDiagnosisCodes (example)
use |  | 0..* | CodeableConcept | Role that this diagnosis has within the encounter (e.g. admission, billing, discharge …) Binding: EncounterDiagnosisUse (preferred): The type of diagnosis this condition represents.
account |  | 0..* | Reference(Account) | The set of accounts that may be used for billing for this Encounter
dietPreference |  | 0..* | CodeableConcept | Diet preferences reported by the patient Binding: EncounterDiet (example): Medical, cultural or ethical food preferences to help with catering requirements.
specialArrangement |  | 0..* | CodeableConcept | Wheelchair, translator, stretcher, etc Binding: SpecialArrangements (preferred): Special arrangements.
specialCourtesy |  | 0..* | CodeableConcept | Special courtesies (VIP, board member) Binding: SpecialCourtesy (preferred): Special courtesies.
admission |  | 0..1 | BackboneElement | Details about the admission to a healthcare service
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
preAdmissionIdentifier |  | 0..1 | Identifier | Pre-admission identifier
origin |  | 0..1 | Reference(Location | Organization) | The location/organization from which the patient came before admission
admitSource |  | 0..1 | CodeableConcept | From where patient was admitted (physician referral, transfer) Binding: AdmitSource (preferred): From where the patient was admitted.
reAdmission |  | 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.
destination |  | 0..1 | Reference(Location | Organization) | Location/organization to which the patient is discharged
dischargeDisposition |  | 0..1 | CodeableConcept | Category or kind of location after discharge Binding: DischargeDisposition (example): Discharge Disposition.
location |  | 0..* | BackboneElement | List of locations where the patient has been
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
location |  | 1..1 | Reference(Location) | Location the encounter takes place
status |  | 0..1 | code | planned | active | reserved | completed Binding: EncounterLocationStatus (required): The status of the location.
form |  | 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.
period |  | 0..1 | Period | Time period during which the patient was present at the location
Documentation for this format

#### Terminology Bindings

Path | Conformance | ValueSet | URI
Encounter.language | required | AllLanguages `http://hl7.org/fhir/ValueSet/all-languages|5.0.0` From the FHIR Standard
Encounter.status | required | EncounterStatus `http://hl7.org/fhir/ValueSet/encounter-status|5.0.0` From the FHIR Standard
Encounter.class | preferred | EncounterClass `http://terminology.hl7.org/ValueSet/encounter-class`
Encounter.priority | example | ActPriority `http://terminology.hl7.org/ValueSet/v3-ActPriority`
Encounter.type | example | EncounterType `http://hl7.org/fhir/ValueSet/encounter-type` From the FHIR Standard
Encounter.serviceType | required | ServiceTypeVS `https://fhir.hmis.gov.np/ValueSet/service-type` From this IG
Encounter.subjectStatus | example | EncounterSubjectStatus `http://hl7.org/fhir/ValueSet/encounter-subject-status` From the FHIR Standard
Encounter.participant.type | extensible | ParticipantType `http://hl7.org/fhir/ValueSet/encounter-participant-type` From the FHIR Standard
Encounter.reason.use | example | EncounterReasonUse `http://hl7.org/fhir/ValueSet/encounter-reason-use` From the FHIR Standard
Encounter.reason.value | preferred | EncounterReasonCodes `http://hl7.org/fhir/ValueSet/encounter-reason` From the FHIR Standard
Encounter.diagnosis.condition | example | ConditionProblemDiagnosisCodes `http://hl7.org/fhir/ValueSet/condition-code` From the FHIR Standard
Encounter.diagnosis.use | preferred | EncounterDiagnosisUse `http://hl7.org/fhir/ValueSet/encounter-diagnosis-use` From the FHIR Standard
Encounter.dietPreference | example | EncounterDiet `http://hl7.org/fhir/ValueSet/encounter-diet` From the FHIR Standard
Encounter.specialArrangement | preferred | SpecialArrangements `http://hl7.org/fhir/ValueSet/encounter-special-arrangements` From the FHIR Standard
Encounter.specialCourtesy | preferred | SpecialCourtesy `http://hl7.org/fhir/ValueSet/encounter-special-courtesy` From the FHIR Standard
Encounter.admission.admitSource | preferred | AdmitSource `http://hl7.org/fhir/ValueSet/encounter-admit-source` From the FHIR Standard
Encounter.admission.reAdmission | example | Hl7VSReAdmissionIndicator `http://terminology.hl7.org/ValueSet/v2-0092`
Encounter.admission.dischargeDisposition | example | DischargeDisposition `http://hl7.org/fhir/ValueSet/encounter-discharge-disposition` From the FHIR Standard
Encounter.location.status | required | EncounterLocationStatus `http://hl7.org/fhir/ValueSet/encounter-location-status|5.0.0` From the FHIR Standard
Encounter.location.form | example | LocationForm `http://hl7.org/fhir/ValueSet/location-form` From the FHIR Standard

#### Constraints

Id | Grade | Path(s) | Details | Requirements
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

Summary

Mandatory: 4 elements
Must-Support: 3 elements

Structures

This structure refers to these other structures:

- NP Core Patient Profile (https://fhir.hmis.gov.np/StructureDefinition/np-core-patient)

Other representations of profile: CSV, Excel, Schematron