Encounter

An interaction between a patient and healthcare provider for the purpose of providing healthcare services. Encompasses ambulatory visits, emergency care, inpatient admissions, and telemedicine sessions, supporting care coordination, billing, and clinical documentation.

Overview

Encounter is the central entity for documenting patient visits and healthcare interactions. It captures the context (class, type), timing (period), participants, reasons, and outcomes of any healthcare interaction - from a routine office visit to a multi-week hospitalization. Encounters form the foundation for clinical documentation, billing, quality measurement, and care coordination. Related entities track admission details, discharge planning, diagnoses, locations, and participating providers.

Key Concepts

Encounter Class

The class field defines the care setting and intensity:

ClassDescriptionTypical Duration
ambulatoryOutpatient office/clinic visitMinutes to hours
emergencyEmergency department visitHours
inpatientHospital admissionDays to weeks
observationShort-stay observationUp to 48 hours
virtualTelehealth/video visitMinutes
home-healthCare delivered at homeVariable
fieldCare outside facility (EMS, mobile)Variable

Encounter Status Lifecycle

Encounters progress through states:

planned → arrived → triaged → in-progress → finished
                                    ↓
                                 onleave
StatusDescription
plannedScheduled but not yet started
arrivedPatient has arrived at location
triagedPatient assessed for priority (emergency)
in-progressActive care being provided
onleavePatient temporarily away (day pass, procedure)
finishedEncounter completed
cancelledEncounter cancelled before starting
entered-in-errorRecord created in error

Encounter Priority

Urgency level for resource allocation:

PriorityResponse TimeExample
routineNormal schedulingAnnual physical
urgentSame day/next dayAcute infection
asapWithin hoursWorsening symptoms
statImmediateLife-threatening

Encounter Types

More granular classification via EncounterType:

  • AMB - Ambulatory visit
  • EMER - Emergency visit
  • IMP - Inpatient admission
  • VR - Virtual/telehealth

Reason for Visit

Two fields capture why the patient is being seen:

  • reasonCode - Coded reasons using Coding (SNOMED-CT)
  • reasonText - Free-text chief complaint

Encounter Hierarchy

The partOf field links related encounters:

  • Emergency visit → leads to → Inpatient admission
  • Outpatient surgery → part of → Surgical episode

Use Cases

Patient Check-In

When patient arrives:

  1. Update status from planned to arrived
  2. Record arrival time in period.start
  3. Create EncounterLocation record
  4. Assign to provider via EncounterParticipant

Emergency Triage

In emergency department:

  1. Create encounter with class emergency
  2. Record chief complaint in reasonText
  3. Update status to triaged
  4. Set priority based on assessment
  5. Assign to treatment area

Inpatient Admission

When admitting patient:

  1. Create encounter with class inpatient
  2. Create Admission record with details
  3. Assign bed via EncounterLocation
  4. Link to originating encounter if transferred from ED

Visit Documentation

During the encounter:

  1. Add diagnoses via EncounterDiagnosis
  2. Track providers via EncounterParticipant
  3. Update locations if patient moves
  4. Document reason via EncounterReason

Discharge

When visit concludes:

  1. Update status to finished
  2. Set period.end to departure time
  3. Create Discharge record for inpatients
  4. Finalize encounter diagnoses for billing

Related Entities

EntityRelationshipDescription
PatientReferencesPatient receiving care
EncounterTypeReferencesSpecific type classification
FacilityReferencesService provider facility
AdmissionHas oneInpatient admission details
DischargeHas oneDischarge details
EncounterDiagnosisHas manyDiagnoses during encounter
EncounterLocationHas manyLocation history
EncounterParticipantHas manyParticipating providers
EncounterReasonHas manyReasons for visit
ClinicalIdentifierContainsBusiness identifiers
PeriodContainsStart/end times

Calculated Fields

FieldTypeDescription
isActivebooleanTrue when status is in-progress or onleave
isCompletedbooleanTrue when status is finished
durationMinutesnumberDuration calculated from period start/end

Enums

status

ValueDescription
plannedEncounter is scheduled but has not yet started
arrivedPatient has arrived and check-in is complete
triagedPatient has been assessed for urgency (emergency)
in-progressEncounter is actively occurring, care being provided
onleavePatient temporarily away from facility during encounter
finishedEncounter has ended, patient departed
cancelledEncounter was cancelled before it started
entered-in-errorRecord was created in error and should be ignored
unknownStatus cannot be determined

class

ValueDescription
ambulatoryOutpatient visit at clinic or office
emergencyEmergency department visit
fieldCare provided outside a facility (EMS, mobile health)
home-healthHealthcare services delivered in patient's home
inpatientHospital admission for overnight stay
virtualTelehealth or video visit
observationShort-stay observation status (typically < 48 hours)

priority

ValueDescription
routineNormal scheduling, no urgency
urgentRequires attention same day or next day
asapAs soon as possible, within hours
statImmediate attention required, life-threatening
15 properties
Schema

Properties

PropertyTypeModeDescriptionRequired
identifierClinicalIdentifier[]
stored

Unique business identifiers assigned to this encounter by healthcare facilities, organizations, or systems for tracking and reference purposes across multiple systems

Example: [{"@type":"ClinicalIdentifier","value":"ENC-2024-789012","clinicalSystem":"custom"}]

Optional
statusstring
stored

Current state of the encounter in its lifecycle from planning through completion or cancellation

Values: planned, arrived, triaged, in-progress, onleave, finished, cancelled, entered-in-error, unknown

Example: "in-progress"

Required
classstring
stored

Classification of the encounter setting that distinguishes the care delivery context, intensity level, and expected duration - fundamental for resource allocation, billing, and care pathway determination

Values: ambulatory, emergency, field, home-health, inpatient, virtual, observation

Example: "ambulatory"

Required
typeEncounterType[]
stored

Specific categorization of the encounter that provides more granular detail than class - references standardized encounter type codes for scheduling, documentation, and reporting purposes

Example: [{"@type":"EncounterType","code":"AMB","label":"Ambulatory","class":"ambulatory"}]

Optional
prioritystring
stored

Urgency level of the encounter that drives resource allocation, triage decisions, and expected response times in clinical workflow management

Values: routine, urgent, asap, stat

Example: "routine"

Optional
patientPatient
stored

Reference to the patient who is the subject of this encounter and recipient of healthcare services

Required
periodPeriod
stored

Temporal boundaries defining when the encounter occurred or is scheduled to occur - start time marks patient arrival or admission, end time marks departure or discharge

Example: {"@type":"Period","start":"2024-11-30T09:00:00Z","end":"2024-11-30T09:30:00Z"}

Optional
lengthnumber
stored

Actual or estimated duration of the encounter in minutes - can be recorded explicitly or calculated from period start and end times

Example: 30

Optional
reasonCodeCoding[]
stored

Coded clinical reasons or chief complaints that motivated the encounter - supports clinical decision support, quality measurement, and population health analytics using standardized terminology

Example: [{"@type":"Coding","code":"386661006","system":"SNOMED-CT","display":"Fever"}]

Optional
reasonTextstring
stored

Free-text narrative description of why the encounter occurred - captures patient-reported chief complaints or clinical indications that may not have standardized codes

Example: "Patient presents with persistent cough and fever for 3 days"

Optional
serviceProviderFacility
stored

Reference to the healthcare organization or facility responsible for providing services during this encounter - the legal entity accountable for care delivery and documentation

Example: {"@type":"Facility","name":"City General Hospital"}

Optional
partOfEncounter
stored

Reference to a parent or containing encounter when this encounter is a component of a larger care episode - enables hierarchical modeling of complex encounters like emergency visits leading to admissions

Optional
isActiveboolean
calculated

Whether the encounter is currently active and ongoing - true when status is in-progress or onleave, indicating the patient is currently receiving care or temporarily away but not discharged

Optional
isCompletedboolean
calculated

Whether the encounter has been completed - true when status is finished, indicating all care activities have concluded and the patient has been discharged or visit has ended

Optional
durationMinutesnumber
calculated

Calculated duration in minutes derived from the difference between period start and end times - automatically computed when explicit length is not provided

Optional

Examples

Example 1

{
  "@type": "Encounter",
  "identifier": [
    {
      "@type": "ClinicalIdentifier",
      "value": "ENC-2024-001234",
      "clinicalSystem": "custom",
      "assigner": {
        "@type": "Organization",
        "name": "City General Hospital"
      }
    }
  ],
  "status": "finished",
  "class": "ambulatory",
  "type": [
    {
      "@type": "EncounterType",
      "code": "AMB",
      "label": "Ambulatory",
      "class": "ambulatory",
      "typicalDurationMinutes": 30
    }
  ],
  "priority": "routine",
  "patient": {
    "@type": "Patient",
    "givenName": "John",
    "familyName": "Smith",
    "birthDate": "1975-05-15"
  },
  "period": {
    "@type": "Period",
    "start": "2024-11-30T09:00:00Z",
    "end": "2024-11-30T09:30:00Z"
  },
  "length": 30,
  "reasonCode": [
    {
      "@type": "Coding",
      "code": "444814009",
      "system": "SNOMED-CT",
      "display": "Viral upper respiratory tract infection"
    }
  ],
  "reasonText": "Annual check-up and vaccination",
  "serviceProvider": {
    "@type": "Facility",
    "name": "Downtown Medical Clinic"
  }
}

Example 2

{
  "@type": "Encounter",
  "identifier": [
    {
      "@type": "ClinicalIdentifier",
      "value": "ER-2024-567890",
      "clinicalSystem": "custom"
    }
  ],
  "status": "in-progress",
  "class": "emergency",
  "type": [
    {
      "@type": "EncounterType",
      "code": "EMER",
      "label": "Emergency",
      "class": "emergency",
      "typicalDurationMinutes": 180
    }
  ],
  "priority": "urgent",
  "patient": {
    "@type": "Patient",
    "givenName": "Sarah",
    "familyName": "Johnson",
    "birthDate": "1989-11-22"
  },
  "period": {
    "@type": "Period",
    "start": "2024-11-30T14:30:00Z"
  },
  "reasonCode": [
    {
      "@type": "Coding",
      "code": "29857009",
      "system": "SNOMED-CT",
      "display": "Chest pain"
    }
  ],
  "reasonText": "Severe chest pain radiating to left arm",
  "serviceProvider": {
    "@type": "Facility",
    "name": "City General Hospital Emergency Department"
  }
}

Example 3

{
  "@type": "Encounter",
  "identifier": [
    {
      "@type": "ClinicalIdentifier",
      "value": "IP-2024-987654",
      "clinicalSystem": "custom"
    }
  ],
  "status": "in-progress",
  "class": "inpatient",
  "type": [
    {
      "@type": "EncounterType",
      "code": "IMP",
      "label": "Inpatient",
      "class": "inpatient"
    }
  ],
  "priority": "routine",
  "patient": {
    "@type": "Patient",
    "givenName": "Robert",
    "familyName": "Williams",
    "birthDate": "1942-03-10"
  },
  "period": {
    "@type": "Period",
    "start": "2024-11-28T08:00:00Z"
  },
  "reasonCode": [
    {
      "@type": "Coding",
      "code": "195967001",
      "system": "SNOMED-CT",
      "display": "Asthma"
    }
  ],
  "reasonText": "Acute asthma exacerbation requiring hospitalization",
  "serviceProvider": {
    "@type": "Facility",
    "name": "City General Hospital"
  },
  "partOf": {
    "@type": "Encounter",
    "identifier": [
      {
        "@type": "ClinicalIdentifier",
        "value": "ER-2024-555123"
      }
    ]
  }
}

Example 4

{
  "@type": "Encounter",
  "identifier": [
    {
      "@type": "ClinicalIdentifier",
      "value": "VR-2024-445566",
      "clinicalSystem": "custom"
    }
  ],
  "status": "finished",
  "class": "virtual",
  "type": [
    {
      "@type": "EncounterType",
      "code": "VR",
      "label": "Virtual",
      "class": "virtual",
      "typicalDurationMinutes": 20
    }
  ],
  "priority": "routine",
  "patient": {
    "@type": "Patient",
    "givenName": "Emily",
    "familyName": "Chen",
    "birthDate": "1995-07-08"
  },
  "period": {
    "@type": "Period",
    "start": "2024-11-29T15:00:00Z",
    "end": "2024-11-29T15:20:00Z"
  },
  "length": 20,
  "reasonCode": [
    {
      "@type": "Coding",
      "code": "162339002",
      "system": "SNOMED-CT",
      "display": "Hearing problem"
    }
  ],
  "reasonText": "Follow-up consultation for medication management via telemedicine",
  "serviceProvider": {
    "@type": "Facility",
    "name": "Virtual Health Services"
  }
}