> ## 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.

# Telehealth

> View and manage telehealth sessions linked to scheduled appointments at /pm/telehealth.

The Telehealth page at `/pm/telehealth` lists all telehealth sessions for the current organization, showing platform, modality, status, and a direct link to the session URL when available.

## Overview

The Telehealth page fetches records from `pm_telehealth_sessions` scoped to the current organization (soft-deleted records are excluded). Each card shows the platform name, telehealth modality, session status badge, relative creation time, and duration in minutes when recorded. A direct external-link icon opens the session URL in a new tab when a URL is present. Sessions are created through the scheduling flow, not directly from this page.

## Who it's for

Requires permission `pm.telehealth_sessions.view` (`PM_PERMISSIONS.TELEHEALTH_SESSIONS_VIEW`). Users with `pm.telehealth_sessions.create` additionally see the "New Session" button (currently disabled in the UI).

## Before you start

* You must hold the `pm.telehealth_sessions.view` permission.
* At least one telehealth appointment must exist and have been processed by the session-creation flow before any sessions appear here.

## Steps

<Steps>
  <Step title="Navigate to Telehealth">
    Go to `/pm/telehealth`. The page loads and displays all non-deleted telehealth sessions for your organization, ordered newest first.
  </Step>

  <Step title="Review session status">
    Each card shows the platform name, modality (e.g., "audio video"), and a status badge. Badge variants are: default (active), secondary (completed), destructive (no show), outline (all other statuses).
  </Step>

  <Step title="Join a session">
    If the session has a URL, click the external-link icon on the card to open it in a new browser tab.
  </Step>
</Steps>

## Key concepts

<AccordionGroup>
  <Accordion title="Telehealth modality">
    The modality field records how the session was conducted. Observable values from the mutation hook: `audio_video`, `audio_only`, `store_forward`, `remote_monitoring`. The UI renders the modality by replacing underscores with spaces.
  </Accordion>

  <Accordion title="Session statuses">
    Observable status values: `active`, `completed`, `no_show`. Any other value renders with an outline badge. The page displays the raw status string from the database.
  </Accordion>

  <Accordion title="Empty state">
    When no sessions exist, a card with the message "No telehealth sessions found. Sessions are created when scheduling a telehealth appointment." is shown.
  </Accordion>

  <Accordion title="Error state">
    A red destructive text message "Failed to load sessions." appears inline above the list if the query returns an error.
  </Accordion>
</AccordionGroup>

## Related

<Columns cols={2}>
  <Card title="Practice Management" icon="briefcase" href="/pm/overview">
    Overview of the Practice Management 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/pm.tsx
  * src/cores/pm/pages/TelehealthSessionListPage.tsx
  * src/cores/pm/hooks/useTelehealthSessions.ts
  * src/platform/permissions/constants.ts
</Accordion>
