> ## Documentation Index
> Fetch the complete documentation index at: https://docs.encoreos.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Host Session

> Pre-session host waiting room for virtual and hybrid group sessions: technology check, recording consent, and session lifecycle controls.

The Host Session screen is the clinician-facing waiting room for a virtual or hybrid group session, accessed at `/cl/virtual-groups/:sessionId/host`.

## Overview

The page loads session metadata via `useGroupSessionDetail`, the attendance list via `useGroupAttendanceBySession`, and telehealth metadata via `useTelehealthMetadata`. Two controls, **Start session** and **End session**, manage the session lifecycle. Start is blocked unless a technology contingency plan is present on the session record and, if recording is enabled, all attendees have recording consent captured. A Vendor card shows the `vendor_session_ref` from telehealth metadata. A Recording Consent summary card indicates whether all participant consents have been captured (`All captured`) or are still pending. The Waiting Room table lists each enrolled participant with their attendance status, consent status, a **Capture**/**View** consent button, and a **Tech check** button per row. `TechnologyCheckSheet` and `RecordingConsentDialog` are opened inline.

## Who it's for

Requires permission `cl.group.virtual.host`.

## Before you start

* You must have `cl.group.virtual.host`.
* The session must exist and its `modality` must be `virtual` or `hybrid`.
* A technology contingency plan must be documented on the session before **Start session** becomes active.
* If `recording_enabled` is true, all attendees must have `recording_consent_captured_at` set before **Start session** becomes active.

## Steps

<Steps>
  <Step title="Open the host view">
    Navigate to `/cl/virtual-groups/:sessionId/host`. The waiting room loads session metadata, the participant table, and telehealth vendor information.
  </Step>

  <Step title="Run a technology check (host-level)">
    Click **Run Tech Check** in the Technology card to open `TechnologyCheckSheet` for a general host-level check without a specific participant.
  </Step>

  <Step title="Run per-participant technology checks">
    In the Waiting Room table, click **Tech check** next to a participant row to open `TechnologyCheckSheet` scoped to that attendance record.
  </Step>

  <Step title="Capture recording consent per participant">
    If `recording_enabled` is true, click **Capture** (or **View** if already captured) in the Consent column to open `RecordingConsentDialog` for that participant. The dialog captures `recording_consent_captured_at` and `recording_consent_modality`.
  </Step>

  <Step title="Start the session">
    Once the contingency plan is present and all required consents are captured, click **Start session**. This calls `useUpdateGroupSession` to transition status to `in_progress`.
  </Step>

  <Step title="End the session">
    When the session is `in_progress`, click **End session** to call `completeSession`, which transitions status to `completed` and records the count of participants with `present` attendance status.
  </Step>
</Steps>

## Key concepts

<AccordionGroup>
  <Accordion title="Session start preconditions">
    Two conditions block **Start session**: (1) no technology contingency plan text on the session, and (2) `recording_enabled` is true but one or more attendees lack `recording_consent_captured_at`. The card description shows the blocking reason when present.
  </Accordion>

  <Accordion title="Recording consent modalities">
    Consent can be captured as `written`, `verbal_recorded`, or `verbal_attested`. The consent modality is stored on the attendance record alongside a timestamp.
  </Accordion>

  <Accordion title="Vendor reference">
    The Vendor card displays `vendor_session_ref` from `cl_group_session_telehealth_metadata`. When the table migration is pending, this field shows "Not yet linked".
  </Accordion>

  <Accordion title="Empty and error states">
    * No participants: "No participants enrolled." in the Waiting Room card.
    * Session not found: `EmptyState` with title "Session Not Found".
    * Loading: skeleton placeholders for the header, stat cards, and table.
  </Accordion>
</AccordionGroup>

## Related

<Columns cols={2}>
  <Card title="Clinical" icon="stethoscope" href="/cl/overview">
    Overview of the Clinical core.
  </Card>

  <Card title="Governance & parity" icon="scale-balanced" href="/governance/index">
    Documentation coverage and governance.
  </Card>
</Columns>

<Note>
  This page documents shipped product behavior. It is not medical, legal, or
  billing advice. Verify against your organization's policies and applicable
  regulations before using it for clinical, compliance, or billing decisions.
  Protected health information (PHI) shown in the product is governed by your
  tenant's access controls and is never exposed in this documentation.
</Note>

<Accordion title="Documentation sources">
  * src/routes/cl.tsx
  * src/cores/cl/pages/VirtualGroupHostPage.tsx
  * src/cores/cl/hooks/useGroupSessions.ts
  * src/cores/cl/hooks/useGroupAttendance.ts
  * src/cores/cl/hooks/useVirtualGroupSessions.ts
  * src/cores/cl/types/virtual-group.ts
</Accordion>
