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

# CE Pipeline — Tile Customization & Dashboard Embeds (User Guide)

> The CE lead pipeline (/ce/leads) now adapts to how your organization works admissions:

# CE Pipeline — Tile Customization & Dashboard Embeds (User Guide)

**Feature:** CE-65\
**Audience:** CE pipeline users (admissions, intake coordinators, lead owners)\
**Last Updated:** 2026-05-16

***

## What changed

The CE lead pipeline (`/ce/leads`) now adapts to how your organization
works admissions:

1. **Configurable tile metadata.** Each lead tile shows up to **4 rows**
   of metadata. Which rows appear is controlled by your org admin in CE
   Settings (see the [admin guide](/ce/pipeline-settings-admin-guide)).
   If more than 4 are configured, the remaining rows collapse into a
   keyboard-focusable **"+N more"** chip in deterministic priority order
   (FR-1.5).
2. **Scheduled leads panel.** A collapsible card below the board lists
   open leads with a future *expected admission date*, ordered by the
   soonest. You can collapse it for the session; a **Restore** control is
   always visible so you never end up in a dead-end state (FR-2.3).
3. **Bed-availability widget.** When you have the *View Pipeline Bed Board*
   permission, a read-only capacity widget sits **above** the pipeline
   board with five tiles: **Total beds**, **Filled**, **Available**,
   **Reserved**, and **Upcoming discharges (14 days)**. Bed counts come
   straight from Recovery Housing; CE never stores them. **Reserved** is
   derived from CE itself — it counts leads in any pipeline stage whose
   behavior is *Scheduled*. Moving a lead into a Scheduled stage updates
   Reserved immediately, even if Recovery Housing data is temporarily
   unavailable. Org admins can optionally turn on a sixth **Auth risk**
   tile (see the [admin guide](/ce/pipeline-settings-admin-guide)). If
   the platform bed surface is unavailable, the bed-sourced tiles are
   replaced by a *"RH data unavailable"* notice and the Reserved tile
   still renders.

## Insurance fields on contacts

* **Carrier** is always visible to anyone who can see the contact.
* **Member ID** is **masked by default** (e.g. `••••6789`).
* A **Reveal** button only appears for users with the
  *View Unmasked Insurance Member ID* permission. Each reveal is
  recorded in an audit log; the audit row records *who* and *when* —
  never the cleartext member ID (CAC-006).
* Edits require the *Edit Contact Insurance Fields* permission and are
  audited the same way.

## What you will see if a permission is missing

| Surface                 | Without permission                         |
| ----------------------- | ------------------------------------------ |
| Bed-availability widget | Surface is hidden, no error toast          |
| Reveal Member ID        | Button is not rendered; value stays masked |
| Edit Insurance          | Fields render read-only                    |

## Tips

* The "+N more" chip is fully keyboard accessible — tab into the tile,
  then `Enter`/`Space` to expand the overflow list.
* The Scheduled panel respects `prefers-reduced-motion`; collapse /
  restore is instant when reduced motion is enabled.
* No insurance member identifier ever appears in a toast, error
  message, telemetry event, or analytics payload (FR-4.5).

## Related

* Admin: [Pipeline Settings — Admin Guide](/ce/pipeline-settings-admin-guide)
* Integration: [`CE-65 Integration Contract`](https://github.com/Encore-OS/encoreos/blob/development/docs/architecture/integrations/CE-65-pipeline-tile-customization-dashboard-embeds-INTEGRATION.md)
* Spec: [`CE-65`](https://github.com/Encore-OS/encoreos/blob/development/specs/ce/specs/CE-65-pipeline-tile-customization-dashboard-embeds.md)
