/cl/intake-assessments.
Overview
The Intake Assessments page renders a table of records fromcl_intake_assessments, joined to pm_patients for patient name display. Records are sorted by created_at descending and filtered to the current organization. A collapsible filter row (toggled by the Filters button) allows narrowing by status. The table shows five columns: Patient (last, first name), Type (assessment type), Status (badge), AHCCCS (a checkmark or X icon driven by the intake_element_complete boolean), and Updated date. Clicking any row navigates to the detail page at /cl/intake-assessments/:assessmentId. Users with clinical.intake.create permission see a New Intake button that links to /cl/intake-assessments/new.
Who it’s for
Requires permission:clinical.intake.read
Creating new intake assessments additionally requires: clinical.intake.create
Before you start
You must holdclinical.intake.read to access this page. Assessments are scoped to your current organization.
Steps
Open Intake Assessments
/cl/intake-assessments. The work queue loads all non-deleted assessments for your organization, newest first.Filter by status (optional)
Review the table
intake_element_complete is true.Open an assessment
/cl/intake-assessments/:assessmentId.Create a new intake (if permitted)
clinical.intake.create) to navigate to /cl/intake-assessments/new.Key concepts
Status badge variants
Status badge variants
draft → secondary, pending_cosign → outline, finalized → default, amended → outline, addended → outline. Labels come from the INTAKE_STATUS_LABELS constant.Empty and error states
Empty and error states
Creating an intake assessment
The New Intake Assessment page at/cl/intake-assessments/new operates in two modes. When accessed with no assessmentId URL param, it renders a patient search form (IntakeCreateMode): the clinician searches for a patient by name (minimum 2 characters, searches pm_patients), selects the patient, and clicks “Create Intake Assessment”. On success, the page redirects to the detail view at /cl/intake-assessments/:assessmentId.
The detail view (IntakeAssessmentDetailView) shows a sticky subheader with the patient name, status badge, and intake completion badge, followed by a tabbed form on desktop or accordion on mobile. Tabs are: Demographics & Chief Complaint, Clinical History, SDOH, Diagnoses, and Review & Sign. A destructive banner appears when the linked appointment is fewer than 120 minutes away and the assessment is not finalized. The form supports Save Draft and Finalize actions; finalized assessments become read-only.
Before you start: you must hold clinical.intake.create to access /cl/intake-assessments/new. The patient must already exist in pm_patients for the current organization. If the patient has a SUD indication, a 42 CFR Part 2 consent check (useConsentCheck) gates access to the substance use history section in the Clinical History tab.
Navigate to New Intake Assessment
/cl/intake-assessments/new. The patient search form is displayed.Search for the patient
Select the patient
Create the assessment
/cl/intake-assessments/:assessmentId.Complete the intake sections
Save a draft
Finalize the assessment
Assessment status
Assessment status
INTAKE_STATUS_LABELS. Statuses finalized, amended, and addended set the form to read-only. Other statuses allow editing.SUD consent gate
SUD consent gate
isSudIndicated is true and hasConsent is not true (via useConsentCheck for context intake_assessment), the hasSudConsent flag is false and the Clinical History section passes hasSudConsent={false} to IntakeClinicalHistorySection. The clinical effect on the rendered fields is implemented in that child component.Error and not-found states
Error and not-found states
Detail view
The Intake Assessment screen at/cl/intake-assessments/:assessmentId is a full-page form for viewing and completing a clinical intake assessment for a patient.
Overview
WhenassessmentId is absent (create mode via /cl/intake-assessments/new), the page shows a patient-search form (minimum 2 characters, searches pm_patients by first/last name) and a “Create Intake Assessment” button that calls useCreateIntakeAssessment then redirects to the new assessment’s detail URL. When assessmentId is present, the page loads the assessment via useIntakeAssessmentDetail and resolves the linked chart ID for a 42 CFR Part 2 consent check. The form has five sections rendered as tabs on desktop and as an accordion on mobile: Demographics & Chief Complaint, Clinical History, SDOH, Diagnoses, and Review & Sign. A sticky subheader shows the patient name, status badge, and an Intake Complete / Incomplete badge. An urgent banner appears when the assessment is not finalized and the linked appointment starts within 120 minutes. The form auto-saves sections via useUpdateIntakeAssessment; useFinalizeIntakeAssessment handles finalization. When status is finalized, amended, or addended, the form is read-only.
Who it’s for
Requires permission:clinical.intake.read (view existing assessment)
Creating a new assessment requires: clinical.intake.create
Before you start
- Must hold
clinical.intake.readto view an existing assessment. - Must hold
clinical.intake.createto start a new assessment. - Navigate here from the Intake Assessments list at
/cl/intake-assessmentsor via a direct link.
Steps
Open an intake assessment
/cl/intake-assessments and click an assessment row, or follow a direct link to /cl/intake-assessments/:assessmentId. The sticky subheader shows the patient name and current status.Review the urgent banner (if shown)
Complete the Demographics & Chief Complaint tab
pm_patients.Complete Clinical History
Complete SDOH
IntakeSdohSection shows an SDOH screening-completed indicator when sdoh_screening_id is set.Complete Diagnoses
IntakeDiagnosesSection.Review and finalize
useFinalizeIntakeAssessment and move the assessment to a finalized state.Key concepts
Assessment status lifecycle
Assessment status lifecycle
draft, finalized, amended, addended. The form is read-only (readOnly = isFinalized) when status is finalized, amended, or addended. INTAKE_STATUS_LABELS maps each status to a human-readable label.SUD consent gating
SUD consent gating
useConsentCheck is called with the resolved chart ID and context intake_assessment. When isSudIndicated === true and hasConsent !== true, hasSudConsent is false and the substance-use history section inside IntakeClinicalHistorySection is conditionally hidden or restricted.Create mode (no assessmentId)
Create mode (no assessmentId)
/cl/intake-assessments/new, a patient-search form is shown. After selecting a patient and clicking “Create Intake Assessment”, a new assessment record is created and the user is redirected to its detail URL. appointment_id is set to a placeholder UUID in the current implementation.Error and empty states
Error and empty states
DetailSkeleton with stacked skeletons.Related
Clinical
Governance & parity
Documentation sources
Documentation sources
- src/routes/cl.tsx
- src/cores/cl/pages/IntakeAssessmentListPage.tsx
- src/cores/cl/hooks/useIntakeAssessments.ts
- src/cores/cl/pages/IntakeAssessmentDetailPage.tsx
- src/cores/cl/hooks/useIntakeAssessmentDetail.ts