/cl/loc-assessments.
Overview
The LoC Assessments list page renders all records fromcl_loc_assessments scoped to the current organization, using the LocAssessmentListTable component. Records are filtered to non-deleted rows and ordered by assessed_at descending. An instrument filter dropdown allows narrowing the list to ASAM or LOCUS assessments, or showing all instruments. Users see a New Assessment button that navigates to /cl/loc-assessments/new. Clicking a row in the table navigates to the detail page at /cl/loc-assessments/:assessmentId. The signing flow requires a final_loc_code; when this differs from recommended_loc_code, an override_reason_code and a rationale of at least 20 characters are required (enforced client-side and by a DB trigger).
Who it’s for
Requires permission:cl.loc_assessment.view
Creating new assessments additionally requires: cl.loc_assessment.create
Before you start
You must holdcl.loc_assessment.view to access this page. Assessments are scoped to your current organization.
Steps
Open LoC Assessments
/cl/loc-assessments. All non-deleted assessments for your organization load, ordered most recent first.Filter by instrument (optional)
Review the assessments table
LocAssessmentListTable. Click any row to open the detail page at /cl/loc-assessments/:assessmentId.Create a new assessment (if permitted)
cl.loc_assessment.create) to navigate to /cl/loc-assessments/new.Key concepts
Instrument filter values
Instrument filter values
instrument_type column values: asam and locus. Selecting “All Instruments” removes the filter.Assessment statuses
Assessment statuses
status field progresses to signed upon finalization. The signing mutation sets signed_at and signed_by. An override (where final_loc_code !== recommended_loc_code) requires a reason code and rationale.Loading state
Loading state
LocAssessmentListTable) receives an isLoading prop and handles the skeleton/loading state internally.Creating a LoC assessment
The New LoC Assessment page at/cl/loc-assessments/new allows a clinician to create a new level-of-care assessment. Requires cl.loc_assessment.create.
The page accepts optional patientId and priorId URL search params for pre-population. The user selects an instrument type (asam or locus) and enters (or confirms) a patient ID. When a prior assessment ID is supplied via priorId, a LocTransitionRecommendationCard and a LocReassessmentDeltaTable are displayed above the form, showing the prior recommended LoC code, the current preview recommendation, and a dimensional delta table. The LocAssessmentForm component captures dimensional scores and emits a recommended_loc_code on change. On save, useCreateLocAssessment creates the record in cl_loc_assessments with status: 'draft' and navigates to the detail page at /cl/loc-assessments/:id. The new record links to the prior assessment via supersedes_id when reassessing.
Before you start: have the patient’s chart ID available (the page accepts a patientId query param, or you can type it into the Patient ID field). To reassess from a prior assessment, include a priorId query param with the prior assessment’s ID.
Navigate to New LoC Assessment
/cl/loc-assessments/new. Optional: append ?patientId=<id> and/or ?priorId=<priorAssessmentId> to pre-populate the form.Enter the patient ID
Select the instrument type
asam.Review prior assessment delta (reassessment only)
priorId, the LocTransitionRecommendationCard shows the prior final LoC code vs. the current preview recommendation. The LocReassessmentDeltaTable shows per-dimension score changes.Complete dimensional scoring
recommended_loc_code preview as scores change.Save the assessment
status: 'draft' and you are redirected to the detail page at /cl/loc-assessments/:id to review and sign.Instrument types
Instrument types
instrument_type field accepts asam or locus. Labels rendered in the UI are “ASAM Criteria (Substance Use)” and “LOCUS (Mental Health)”. Clinical scoring rules for each instrument are not implemented in this component.Reassessment flow
Reassessment flow
priorId is provided, useLocAssessmentReassess loads the prior record and seeds the form with its dimension_scores. computeDirection compares the new total score to the prior total: step_up (new > prior), step_down (new < prior), or lateral (equal). The new record is linked via supersedes_id.Assessment status lifecycle
Assessment status lifecycle
status: 'draft'. Signing (via useSignLocAssessment on the detail page) sets status: 'signed' and records signed_at and signed_by. If final_loc_code !== recommended_loc_code, an override_reason_code and override_rationale (minimum 20 characters) are required.Detail view
This screen displays the detail of a single Level-of-Care assessment record at route/cl/loc-assessments/:assessmentId.
Overview
The LoC Assessment detail page loads a single assessment from thecl_loc_assessments table using the assessmentId URL parameter. It displays the instrument type (ASAM or LOCUS), the date and time of the assessment, and a status badge (draft, finalized, or amended). The Summary tab shows a dimensional profile radar chart and a recommendation card. When a prior assessment exists for the same patient and instrument type, a Comparison tab appears showing side-by-side dimension scores. For draft assessments, action buttons allow the clinician to accept the computed recommendation or open an override dialog to record a different Level-of-Care with a reason category and rationale.
Who it’s for
Requires thecl.loc_assessment.view permission. The Override button additionally requires cl.loc_assessment.override. The Accept Recommendation button additionally requires cl.loc_assessment.sign.
Before you start
- You must hold the
cl.loc_assessment.viewpermission for your organization. - The assessment must exist in the system; navigating to an unknown
assessmentIdrenders an “Assessment not found” message with a link back to the list. - To finalize with an override, you must also hold
cl.loc_assessment.overrideandcl.loc_assessment.sign.
Steps
Open an assessment from the list
/cl/loc-assessments and select a record, or follow a direct link to /cl/loc-assessments/:assessmentId.Review the Dimensional Profile
Review the recommendation card
recommended_loc value derived from computeLocRecommendation. If a final LoC has been set and differs from the recommendation, the card indicates the assessment is overridden.Compare with a prior assessment (if available)
LocAssessmentComparisonView side-by-side display.Accept the recommendation or override (draft only)
draft assessments, either click Accept Recommendation to finalize with the computed LoC, or click Override (requires cl.loc_assessment.override) to open the LocOverrideDialog. In the dialog, select a reason category and enter a rationale of at least 20 characters, then confirm.Key concepts
Instrument types
Instrument types
instrument_type field is either asam or locus. ASAM assessments use six dimensions (acute_intoxication, biomedical_conditions, emotional_behavioral_cognitive, readiness_to_change, relapse_continued_use, recovery_environment). LOCUS assessments use six dimensions (risk_of_harm, functional_status, medical_comorbidity, recovery_environment, treatment_history, engagement).Assessment status
Assessment status
status field follows the values draft, finalized, and amended. Action buttons for accepting a recommendation or overriding are only visible when status === 'draft'.Override
Override
final_loc set on the assessment differs from recommended_loc. An override requires a OverrideReasonCategory selection and a rationale string; the database enforces a minimum rationale length of 20 characters.Empty / not-found state
Empty / not-found state
Related
Clinical
Governance & parity
Documentation sources
Documentation sources
- src/routes/cl.tsx
- src/cores/cl/pages/LocAssessmentListPage.tsx
- src/cores/cl/hooks/useLocAssessments.ts
- src/cores/cl/pages/LocAssessmentNewPage.tsx
- src/cores/cl/pages/LocAssessmentDetailPage.tsx
- src/cores/cl/types/loc-assessment.ts