Case Management Screen Requirements
Screen Inventory
Screen ID
Screen Name
Primary Actor(s)
Workflow(s)
Access Level
SCR-CASEMANAGEMENT-001
Case Management Worklist
Case Manager, UM Nurse, Case Management Director
WF-CSM-001, WF-CSM-002, WF-CSM-003, WF-CSM-004, WF-CSM-005, WF-CSM-006
Case management & UM roles
SCR-CASEMANAGEMENT-002
UM Review Form
Case Manager, UM Nurse, Physician Advisor
WF-CSM-001, WF-CSM-002, WF-CSM-006
Case management & UM roles
SCR-CASEMANAGEMENT-003
Discharge Planning
Case Manager, Discharge Planner, Social Worker
WF-CSM-003, WF-CSM-005
Discharge planning & social work
SCR-CASEMANAGEMENT-004
Care Coordination Dashboard
Care Coordinator, Case Manager
WF-CSM-004, WF-CSM-005
Care coordination & case management
SCR-CASEMANAGEMENT-005
Authorization Tracking
UM Nurse, Case Manager, Physician Advisor
WF-CSM-002, WF-CSM-006
Case management & UM roles
SCR-CASEMANAGEMENT-006
Readmission Risk Dashboard
Case Manager, Care Coordinator, Case Management Director
WF-CSM-004, WF-CSM-005
Case management & leadership
SCR-CASEMANAGEMENT-007
Case Management Analytics
Case Management Director, Physician Advisor
All WF-CSM-001–006 (reporting only)
Management / analytics roles
Navigation Flow
flowchart LR
H["HIS Home / RCM Home"] --> A["SCR-CASEMANAGEMENT-001<br/>Case Management Worklist"]
A --> B["SCR-CASEMANAGEMENT-002<br/>UM Review Form"]
A --> C["SCR-CASEMANAGEMENT-003<br/>Discharge Planning"]
A --> D["SCR-CASEMANAGEMENT-004<br/>Care Coordination Dashboard"]
A --> E["SCR-CASEMANAGEMENT-005<br/>Authorization Tracking"]
A --> F["SCR-CASEMANAGEMENT-006<br/>Readmission Risk Dashboard"]
B --> A
C --> A
D --> A
E --> A
H --> F
H --> G["SCR-CASEMANAGEMENT-007<br/>Case Management Analytics"]
F --> C
F --> D
B --> E
E --> B
click A "#scr-casemanagement-001-case-management-worklist"
click B "#scr-casemanagement-002-um-review-form"
click C "#scr-casemanagement-003-discharge-planning"
click D "#scr-casemanagement-004-care-coordination-dashboard"
click E "#scr-casemanagement-005-authorization-tracking"
click F "#scr-casemanagement-006-readmission-risk-dashboard"
click G "#scr-casemanagement-007-case-management-analytics"
Screen Specifications
SCR-CASEMANAGEMENT-001: Case Management Worklist
Purpose
Central work queue for all active cases, showing admitted patients requiring UM review, discharge planning, care coordination, and payer follow-up. Supports prioritisation by LOS, review due date, and risk.
Layout Overview
Header : Module title, filters, date range, quick stats (active cases, overdue reviews).
Patient Banner Row (per case) : Key patient/encounter info.
Worklist Table : One row per case_reviews record.
Right Panel (optional) : Quick preview of selected case (next review, auth status).
Footer : Pagination, export, refresh.
Field Specifications
Field
Type
Required
Validation
Default
Notes
Facility Filter
Dropdown
No
Must match logged-in user’s facility permissions
User’s primary facility
Options from facilities
Department Filter
Multi-select dropdown
No
Values from departments
All
Used with case assignment rules
Case Manager Filter
Dropdown (searchable)
No
Must be active case manager
Current user
From case_management_assignments / users
Case Status Filter
Multi-select chips
No
IN (Open, Pending Review, Discharge Planning, Closed)
Open, Pending Review
Maps to case_reviews.case_status
Priority Filter
Multi-select chips
No
IN (High, Medium, Low)
All
From case_reviews.priority
Review Due Filter
Dropdown
No
IN (All, Due Today, Overdue, Next 48h)
Due Today + Overdue
Derived from utilization_reviews.next_review_date
Search Box
Text
No
Min 2 chars
—
Searches patient name, MRN, Emirates ID
Sort By
Dropdown
No
IN (LOS, Review Due, Priority, Admission Date)
Review Due
Applies to table sort
patient_name
Text (column)
Display
—
—
From patients
mrn
Text (column)
Display
—
—
From patient identifiers
encounter
Text (column)
Display
—
—
Encounter number + location
admission_date
DateTime (column)
Display
—
—
From encounters.admit_datetime
los
Integer (column)
Display
≥ 0
—
Calculated: current date − admission date
expected_discharge
Date (column)
Display
—
—
From case_reviews.expected_discharge_date
review_due
Date (column)
Display
—
—
From latest utilization_reviews.next_review_date
case_status
Badge (column)
Display
IN (Open, Pending Review, Discharge Planning, Closed)
—
Colour-coded + text
priority
Badge (column)
Display
IN (High, Medium, Low)
—
High = red, Medium = amber, Low = green (with text)
risk_flag
Icon + text
Display
IN (High Risk, Moderate, Low)
—
From case_reviews.readmission_risk_score or latest assessment
Overdue Indicator
Icon
Display
Shown if review_due < today and case open
—
Tooltip: “UM review overdue by X days”
Row Action: Open Case
Button/link
Yes
Requires permission to view case
—
Navigates to context-specific screen (UM, discharge, etc.)
Validation Messages
Condition
Message
Severity
User selects facility without access
"You do not have access to this facility’s cases."
Error
Search returns no results
"No cases match your search and filter criteria."
Info
Backend error loading worklist
"Unable to load worklist. Please try again or contact IT support."
Error
Filter combination too broad (performance)
"Too many results. Please narrow your filters (e.g., facility, department)."
Warning
Row: Open Case : Opens last-used screen for that case (UM Review, Discharge Planning, etc.).
Row: UM Review : Shortcut to SCR-CASEMANAGEMENT-002 for that case.
Row: Discharge Plan : Shortcut to SCR-CASEMANAGEMENT-003.
Row: Auth Tracking : Shortcut to SCR-CASEMANAGEMENT-005.
Refresh : Reloads worklist with current filters.
Export : Exports current view to CSV (excluding PHI not allowed by UAE PDPL export policies).
Save View : Saves current filter/sort as named view per user.
HTML Wireframe Mockup
Show HTML code HTML <div style="font-family: Arial, sans-serif; max-width: 1100px; margin: 0 auto; border: 1px solid #ccc; border-radius: 8px; overflow: hidden;">
<div style="background: #1a73e8; color: white; padding: 12px 20px; display:flex; justify-content:space-between; align-items:center;">
<h3 style="margin: 0;">Case Management Worklist</h3>
<div style="font-size: 12px;">Active: 42 | Overdue Reviews: 7</div>
</div>
<div style="padding: 16px;">
<!-- Filters -->
<div style="display:flex; flex-wrap:wrap; gap:8px; margin-bottom:12px;">
<select aria-label="Facility" style="padding:4px 8px;">
<option>All Facilities</option>
<option>Dubai General Hospital</option>
<option>Sheikh Khalifa Medical City</option>
</select>
<select aria-label="Department" style="padding:4px 8px;">
<option>All Departments</option>
<option>Medicine</option>
<option>Surgery</option>
</select>
<select aria-label="Case Manager" style="padding:4px 8px;">
<option>My Cases</option>
<option>All Case Managers</option>
</select>
<select aria-label="Status" style="padding:4px 8px;">
<option>Open & Pending Review</option>
<option>All Statuses</option>
</select>
<select aria-label="Priority" style="padding:4px 8px;">
<option>All Priorities</option>
<option>High</option>
<option>Medium</option>
<option>Low</option>
</select>
<select aria-label="Review Due" style="padding:4px 8px;">
<option>Due Today & Overdue</option>
<option>All</option>
<option>Next 48 hours</option>
</select>
<input type="text" placeholder="Search by name, MRN, Emirates ID" style="flex:1; min-width:200px; padding:4px 8px;" />
<button type="button" style="padding:4px 10px;">Refresh</button>
</div>
<!-- Worklist Table -->
<div style="border:1px solid #ddd; border-radius:4px; overflow:auto; max-height:480px;">
<table style="width:100%; border-collapse:collapse; font-size:13px;">
<thead style="background:#f5f5f5;">
<tr>
<th style="text-align:left; padding:8px; border-bottom:1px solid #ddd;">Patient</th>
<th style="text-align:left; padding:8px; border-bottom:1px solid #ddd;">MRN</th>
<th style="text-align:left; padding:8px; border-bottom:1px solid #ddd;">Encounter / Location</th>
<th style="text-align:left; padding:8px; border-bottom:1px solid #ddd;">Admit</th>
<th style="text-align:right; padding:8px; border-bottom:1px solid #ddd;">LOS</th>
<th style="text-align:left; padding:8px; border-bottom:1px solid #ddd;">Expected Discharge</th>
<th style="text-align:left; padding:8px; border-bottom:1px solid #ddd;">Review Due</th>
<th style="text-align:left; padding:8px; border-bottom:1px solid #ddd;">Status</th>
<th style="text-align:left; padding:8px; border-bottom:1px solid #ddd;">Priority</th>
<th style="text-align:left; padding:8px; border-bottom:1px solid #ddd;">Risk</th>
<th style="text-align:center; padding:8px; border-bottom:1px solid #ddd;">Actions</th>
</tr>
</thead>
<tbody>
<tr>
<td style="padding:6px 8px; border-bottom:1px solid #eee;">Ahmed Al-Maktoum</td>
<td style="padding:6px 8px; border-bottom:1px solid #eee;">MRN-001234</td>
<td style="padding:6px 8px; border-bottom:1px solid #eee;">IP-2026-00045 / Med Ward 3B</td>
<td style="padding:6px 8px; border-bottom:1px solid #eee;">07-Feb-2026 09:15</td>
<td style="padding:6px 8px; border-bottom:1px solid #eee; text-align:right;">4</td>
<td style="padding:6px 8px; border-bottom:1px solid #eee;">10-Feb-2026</td>
<td style="padding:6px 8px; border-bottom:1px solid #eee; color:#c00; font-weight:bold;">Due Yesterday</td>
<td style="padding:6px 8px; border-bottom:1px solid #eee;"><span style="background:#fff3cd; padding:2px 6px; border-radius:10px;">Pending Review</span></td>
<td style="padding:6px 8px; border-bottom:1px solid #eee;"><span style="background:#f8d7da; padding:2px 6px; border-radius:10px;">High</span></td>
<td style="padding:6px 8px; border-bottom:1px solid #eee;"><span style="background:#f8d7da; padding:2px 6px; border-radius:10px;">High Risk</span></td>
<td style="padding:6px 8px; border-bottom:1px solid #eee; text-align:center;">
<button type="button" style="padding:2px 6px; margin-right:4px;">Open</button>
<button type="button" style="padding:2px 6px; margin-right:4px;">UM</button>
<button type="button" style="padding:2px 6px;">DC Plan</button>
</td>
</tr>
<!-- More rows -->
</tbody>
</table>
</div>
<!-- Pagination -->
<div style="margin-top:8px; display:flex; justify-content:space-between; align-items:center; font-size:12px;">
<div>Showing 1–25 of 42</div>
<div>
<button type="button" style="padding:2px 6px; margin-right:4px;">Prev</button>
<button type="button" style="padding:2px 6px;">Next</button>
</div>
</div>
</div>
</div>
Accessibility (WCAG 2.1 AA)
All filters and buttons have explicit <label> or aria-label.
Table headers use <th scope="col">; row selection uses clear focus styles.
Priority and risk badges include text labels; colour is not the only indicator.
Overdue status announced via aria-label (e.g., “Review overdue by 1 day”).
Keyboard: Tab order flows filters → table; arrow keys to move within table rows if enhanced grid is used.
Responsive / Mobile
Filters stack vertically; search box becomes full-width.
Table collapses to card layout: each case shown as a card with key fields; actions as bottom buttons.
Sticky header with quick filters (My Cases, Overdue, High Risk).
Touch targets minimum 44x44 px.
Purpose
Structured interface for performing admission and continued-stay utilization reviews, applying clinical criteria, documenting medical necessity, and triggering payer notifications.
Layout Overview
Patient Banner : Demographics, MRN, Emirates ID, payer, current LOS.
Case Summary Panel : Level of care, expected LOS, last review outcome.
Clinical Snapshot : Key vitals, labs, diagnoses (read-only from EHR).
Criteria Checklist : UM criteria items with met/not met and evidence.
Review Details : Review type, reviewer, date/time, recommendation.
Payer Notification Panel : Authorization status, next review date, communication log.
Footer : Save Draft, Complete Review, Cancel.
Field Specifications
Field
Type
Required
Validation
Default
Notes
review_id
Hidden
System
UUID
—
PK in utilization_reviews
case_id
Hidden
System
Must reference open case_reviews
—
FK
review_type
Dropdown
Yes
IN (Admission, Continued Stay, Retrospective)
Derived from workflow
Stored in utilization_reviews.review_type
review_date
DateTime picker
Yes
Cannot be future > 24h; cannot be before admission
Now
utilization_reviews.review_date
reviewer_id
Hidden / dropdown
Yes
Must be active UM user
Current user
utilization_reviews.reviewer_id
criteria_tool
Dropdown
Yes
IN (InterQual-equivalent, Local Criteria, Other)
From payer rules
utilization_reviews.criteria_tool
criteria_checklist
Repeating group
Yes (per item)
Each item must have Met/Not Met/Not Applicable
—
Writes to um_criteria_evaluations
criteria_category
Text (per row)
Yes
—
From master data
e.g., “Respiratory”, “Cardiac”
criteria_item
Text (per row)
Yes
—
From master data
Human-readable criterion
met
Radio (Met / Not Met / N/A)
Yes
One selection required
—
um_criteria_evaluations.met (Y/N/NA)
evidence
Textarea
Conditional
Required if Met or Not Met
—
Clinical evidence (labs, vitals, notes)
level_of_care
Dropdown
Yes
IN (Inpatient, Observation, Outpatient, ICU, Step-down)
Current encounter level
utilization_reviews.level_of_care
criteria_met
Checkbox
Yes
Must reflect checklist summary
Auto-calculated, editable with warning
utilization_reviews.criteria_met
clinical_justification
Textarea
Yes
50–2000 chars
—
utilization_reviews.clinical_justification
recommended_action
Dropdown
Yes
IN (Continue Inpatient, Downgrade Level of Care, Discharge Planning, Peer Review)
—
utilization_reviews.recommended_action
next_review_date
Date picker
Conditional
Required if patient remains admitted
Based on payer schedule
utilization_reviews.next_review_date
payer_notification_required
Checkbox
Yes
—
From payer rules
utilization_reviews.payer_notification_required
payer_notification_method
Dropdown
Conditional
Required if notification required
—
IN (Portal, Phone, eClaimLink, DOH eClaims)
payer_notified_datetime
DateTime
Conditional
Must be ≥ review_date
—
For audit trail
payer_reference_number
Text
Conditional
Max 50 chars
—
Reference from payer
physician_advisor_required
Checkbox
No
—
Auto-checked if criteria not met
For escalation
reviewer_notes
Textarea
No
Max 2000 chars
—
Additional comments
Validation Messages
Condition
Message
Severity
Missing review_type
"Select review type (admission, continued stay, or retrospective)."
Error
No criteria items marked
"At least one criteria item must be evaluated."
Error
criteria_met checked but majority Not Met
"Overall criteria status conflicts with item-level evaluation. Please review."
Warning
Missing clinical_justification
"Clinical justification is required to support UM decision."
Error
next_review_date missing while patient remains admitted
"Next review date is required for ongoing admissions."
Error
payer_notification_required = Yes but method not selected
"Select payer notification method."
Error
payer_notification_required = Yes but payer_notified_datetime empty on completion
"Enter payer notification date/time or uncheck 'Payer notification required'."
Error
User not authorized for UM
"You do not have permission to complete UM reviews."
Error
Save Draft : Saves partial review; does not update next review date or payer tracking.
Complete Review : Validates all required fields, writes to utilization_reviews and um_criteria_evaluations, updates case status and next review date, triggers integration INT-CSM-004 to Billing & Claims.
Cancel : Discards unsaved changes and returns to worklist.
Copy Previous Review : Pre-populates fields from last review for same case (excluding date/time and criteria decisions).
Mark Payer Notified : Opens mini-dialog to capture notification method, datetime, and reference number.
HTML Wireframe Mockup
Show HTML code HTML <div style="font-family: Arial, sans-serif; max-width: 950px; margin: 0 auto; border: 1px solid #ccc; border-radius: 8px; overflow: hidden;">
<div style="background: #0b8043; color: white; padding: 12px 20px;">
<h3 style="margin: 0;">UM Review – Continued Stay</h3>
</div>
<div style="padding: 16px;">
<!-- Patient Banner -->
<div style="background:#f0f4f8; padding:10px; border-radius:4px; margin-bottom:12px; font-size:13px; display:flex; justify-content:space-between;">
<div>
<strong>Ahmed Al-Maktoum</strong> (MRN-001234) • Emirates ID: 784-1990-1234567-1<br/>
Payer: Daman Enhanced • Plan: Inpatient
</div>
<div style="text-align:right;">
Admit: 07-Feb-2026 09:15 • LOS: 4 days<br/>
Level of Care: Inpatient • Next Review: 09-Feb-2026
</div>
</div>
<!-- Review Header -->
<div style="display:flex; gap:12px; margin-bottom:12px; font-size:13px;">
<div>
<label>Review Type<br/>
<select style="padding:4px 6px; min-width:140px;">
<option>Continued Stay</option>
<option>Admission</option>
<option>Retrospective</option>
</select>
</label>
</div>
<div>
<label>Review Date/Time<br/>
<input type="datetime-local" style="padding:4px 6px;" />
</label>
</div>
<div>
<label>Criteria Tool<br/>
<select style="padding:4px 6px; min-width:160px;">
<option>InterQual-equivalent</option>
<option>Local Criteria</option>
</select>
</label>
</div>
<div>
<label>Reviewer<br/>
<input type="text" value="Fatima Al-Nahyan, UM RN" readonly style="padding:4px 6px; background:#eee;" />
</label>
</div>
</div>
<!-- Clinical Snapshot -->
<div style="border:1px solid #ddd; border-radius:4px; padding:10px; margin-bottom:12px; font-size:12px;">
<strong>Clinical Snapshot</strong>
<div style="display:flex; gap:16px; margin-top:6px;">
<div>Dx: Pneumonia (ICD-10-AM J18.9)</div>
<div>Latest Vitals: T 38.2°C, RR 22, SpO2 93% RA</div>
<div>Key Labs: WBC 14.2, CRP 120</div>
</div>
</div>
<!-- Criteria Checklist -->
<div style="border:1px solid #ddd; border-radius:4px; margin-bottom:12px;">
<div style="background:#f5f5f5; padding:8px 10px; font-weight:bold; font-size:13px;">Criteria Checklist</div>
<div style="max-height:220px; overflow:auto;">
<table style="width:100%; border-collapse:collapse; font-size:12px;">
<thead>
<tr>
<th style="text-align:left; padding:6px; border-bottom:1px solid #ddd;">Category</th>
<th style="text-align:left; padding:6px; border-bottom:1px solid #ddd;">Criterion</th>
<th style="text-align:center; padding:6px; border-bottom:1px solid #ddd;">Met</th>
<th style="text-align:center; padding:6px; border-bottom:1px solid #ddd;">Not Met</th>
<th style="text-align:center; padding:6px; border-bottom:1px solid #ddd;">N/A</th>
<th style="text-align:left; padding:6px; border-bottom:1px solid #ddd;">Evidence</th>
</tr>
</thead>
<tbody>
<tr>
<td style="padding:6px; border-bottom:1px solid #eee;">Respiratory</td>
<td style="padding:6px; border-bottom:1px solid #eee;">O2 saturation < 92% on room air</td>
<td style="text-align:center; padding:6px; border-bottom:1px solid #eee;"><input type="radio" name="crit1" /></td>
<td style="text-align:center; padding:6px; border-bottom:1px solid #eee;"><input type="radio" name="crit1" /></td>
<td style="text-align:center; padding:6px; border-bottom:1px solid #eee;"><input type="radio" name="crit1" /></td>
<td style="padding:6px; border-bottom:1px solid #eee;"><input type="text" placeholder="e.g., SpO2 90% RA at 08:00" style="width:100%; padding:2px 4px;" /></td>
</tr>
<!-- More criteria rows -->
</tbody>
</table>
</div>
</div>
<!-- Review Decision -->
<div style="display:flex; gap:16px; margin-bottom:12px; font-size:13px;">
<div style="flex:1;">
<label>Level of Care<br/>
<select style="padding:4px 6px; width:100%;">
<option>Inpatient</option>
<option>Observation</option>
<option>Outpatient</option>
<option>ICU</option>
</select>
</label>
</div>
<div style="flex:1;">
<label>Recommended Action<br/>
<select style="padding:4px 6px; width:100%;">
<option>Continue Inpatient</option>
<option>Downgrade Level of Care</option>
<option>Discharge Planning</option>
<option>Peer Review</option>
</select>
</label>
</div>
<div style="flex:1;">
<label>Next Review Date<br/>
<input type="date" style="padding:4px 6px; width:100%;" />
</label>
</div>
<div style="flex:0 0 160px; margin-top:18px;">
<label><input type="checkbox" /> Criteria Met Overall</label><br/>
<label><input type="checkbox" /> Payer Notification Required</label>
</div>
</div>
<div style="margin-bottom:12px;">
<label>Clinical Justification<br/>
<textarea rows="4" style="width:100%; padding:6px 8px; font-size:13px;" placeholder="Summarise clinical status and rationale for continued stay or level-of-care change."></textarea>
</label>
</div>
<!-- Footer -->
<div style="display:flex; justify-content:flex-end; gap:8px;">
<button type="button" style="padding:6px 12px;">Cancel</button>
<button type="button" style="padding:6px 12px;">Save Draft</button>
<button type="button" style="padding:6px 12px; background:#0b8043; color:white; border:1px solid #0b8043;">Complete Review</button>
</div>
</div>
</div>
Accessibility
Criteria table uses radio groups with aria-labelledby for each criterion.
Clinical justification textarea linked to error message via aria-describedby when invalid.
Payer notification requirement announced via aria-live="polite" when auto-checked.
All interactive elements reachable via keyboard; no keyboard trap in scrollable criteria area.
Responsive / Mobile
Criteria checklist collapses into accordion sections by category.
Clinical snapshot collapses into a summary card; long text truncated with “More” link.
Footer buttons become full-width stacked buttons.
Date/time pickers use mobile-native controls where available.
SCR-CASEMANAGEMENT-003: Discharge Planning
Purpose
Support structured discharge planning, barrier assessment, task assignment, and documentation of patient/family education and agreement.
Layout Overview
Patient Banner .
Plan Header : Planned disposition, target discharge date, plan status.
Barriers & Assessment : Social, financial, clinical, caregiver barriers.
Services Needed : Post-acute services, equipment, transport.
Task Checklist : discharge_plan_tasks grid with assignment and status.
Patient Education & Agreement .
Footer : Save, Mark Plan Complete, Print/Export Summary.
Field Specifications
Field
Type
Required
Validation
Default
Notes
plan_id
Hidden
System
UUID
—
PK in discharge_plans
case_id
Hidden
System
Must reference open case
—
FK
patient_id
Hidden
System
Must match case
—
FK
encounter_id
Hidden
System
Must match case
—
FK
planned_disposition
Dropdown
Yes
From Discharge Disposition master
—
discharge_plans.planned_disposition
target_discharge_date
Date picker
Yes
≥ today; ≤ admission + 60 days (configurable)
—
discharge_plans.target_discharge_date
barriers_identified
Multi-select checklist
No
Values from master (social, financial, clinical, home environment, transport)
—
Stored as coded list or JSON
barriers_assessment_notes
Textarea
Conditional
Required if any barrier selected
—
discharge_plans.barriers_identified + notes
services_needed
Multi-select checklist
No
From Post-Acute Service Types master
—
discharge_plans.services_needed
post_acute_arrangements
Textarea
Conditional
Required if services_needed not empty
—
Details of facility, agency, contact
transport_required
Checkbox
No
—
Unchecked
If checked, show transport_type
transport_type
Dropdown
Conditional
Required if transport_required
—
IN (Ambulance, Wheelchair, Private car, Other)
plan_status
Dropdown
Yes
IN (Draft, In Progress, Ready for Discharge, Completed, Cancelled)
Draft
discharge_plans.plan_status
patient_family_agreed
Radio (Yes/No/Pending)
Yes
—
Pending
discharge_plans.patient_family_agreed
education_topics
Multi-select checklist
No
—
—
e.g., medications, wound care, follow-up
education_completed_datetime
DateTime
Conditional
Required if patient_family_agreed = Yes
—
For audit
education_notes
Textarea
No
Max 2000 chars
—
Content of education provided
created_by
Hidden
System
Must be active user
Current user
discharge_plans.created_by
created_datetime
Hidden
System
Auto timestamp
Now
discharge_plans.created_datetime
Task Checklist (discharge_plan_tasks)
Field
Type
Required
Validation
Notes
task_id
Hidden
System
UUID
PK
task_description
Text
Yes
5–500 chars
Description of task
assigned_to
Dropdown
No
Must be active user
From users
due_date
Date
No
≥ today
—
status
Dropdown
Yes
IN (Not Started, In Progress, Completed, Cancelled)
Default Not Started
completed_datetime
DateTime
Conditional
Required if status = Completed
—
notes
Textarea
No
Max 1000 chars
—
Validation Messages
Condition
Message
Severity
planned_disposition missing
"Select planned discharge disposition."
Error
target_discharge_date in past
"Target discharge date cannot be in the past."
Error
barriers selected but no notes
"Provide assessment notes for identified barriers."
Error
services_needed selected but no arrangements
"Document post-acute arrangements for selected services."
Error
patient_family_agreed = Yes but no education_completed_datetime
"Record when discharge education was completed."
Error
Task status Completed but no completed_datetime
"Enter completion date/time for completed task."
Error
Attempt to mark plan Completed with open tasks
"All required tasks must be completed or explicitly cancelled before completing the plan."
Error
Save Plan : Saves changes without changing status.
Mark Ready for Discharge : Sets plan_status to “Ready for Discharge” if all critical tasks completed.
Mark Plan Completed : Validates tasks and education, sets status to “Completed”.
Add Task : Adds new row to discharge_plan_tasks.
Copy Template : Loads predefined discharge plan template based on diagnosis or service line.
Print / Export Summary : Generates patient-friendly discharge summary (English/Arabic) for printing or portal.
HTML Wireframe Mockup
Show HTML code HTML <div style="font-family: Arial, sans-serif; max-width: 950px; margin: 0 auto; border: 1px solid #ccc; border-radius: 8px; overflow: hidden;">
<div style="background: #1a73e8; color: white; padding: 12px 20px;">
<h3 style="margin: 0;">Discharge Planning</h3>
</div>
<div style="padding: 16px;">
<!-- Patient Banner -->
<div style="background:#f0f4f8; padding:10px; border-radius:4px; margin-bottom:12px; font-size:13px;">
<strong>Fatima Al-Nahyan</strong> (MRN-009876) • Emirates ID: 784-1985-7654321-3<br/>
Admit: 05-Feb-2026 • LOS: 6 days • Payer: THIQA
</div>
<!-- Plan Header -->
<div style="display:flex; gap:16px; margin-bottom:12px; font-size:13px;">
<div style="flex:1;">
<label>Planned Disposition<br/>
<select style="padding:4px 6px; width:100%;">
<option>Home (self-care)</option>
<option>Home with home health</option>
<option>Rehabilitation facility</option>
<option>Skilled nursing facility</option>
</select>
</label>
</div>
<div style="flex:1;">
<label>Target Discharge Date<br/>
<input type="date" style="padding:4px 6px; width:100%;" />
</label>
</div>
<div style="flex:1;">
<label>Plan Status<br/>
<select style="padding:4px 6px; width:100%;">
<option>Draft</option>
<option>In Progress</option>
<option>Ready for Discharge</option>
<option>Completed</option>
</select>
</label>
</div>
</div>
<!-- Barriers -->
<div style="border:1px solid #ddd; border-radius:4px; padding:10px; margin-bottom:12px; font-size:13px;">
<strong>Barriers to Discharge</strong>
<div style="display:flex; flex-wrap:wrap; gap:12px; margin-top:6px;">
<label><input type="checkbox" /> Social support</label>
<label><input type="checkbox" /> Financial / insurance</label>
<label><input type="checkbox" /> Clinical stability</label>
<label><input type="checkbox" /> Home environment</label>
<label><input type="checkbox" /> Transport</label>
</div>
<div style="margin-top:8px;">
<textarea rows="3" style="width:100%; padding:6px 8px;" placeholder="Describe identified barriers and mitigation plan."></textarea>
</div>
</div>
<!-- Services & Tasks -->
<div style="display:flex; gap:16px; margin-bottom:12px; font-size:13px;">
<div style="flex:1;">
<strong>Services Needed</strong><br/>
<label><input type="checkbox" /> Home health nursing</label><br/>
<label><input type="checkbox" /> Physiotherapy</label><br/>
<label><input type="checkbox" /> DME (e.g., wheelchair)</label><br/>
<label><input type="checkbox" /> Community social services</label><br/>
<textarea rows="3" style="width:100%; margin-top:6px; padding:6px 8px;" placeholder="Document post-acute arrangements (agency, contact, dates)."></textarea>
</div>
<div style="flex:1;">
<strong>Transport</strong><br/>
<label><input type="checkbox" /> Transport required</label><br/>
<select style="padding:4px 6px; width:100%; margin-top:4px;">
<option>Select transport type</option>
<option>Ambulance</option>
<option>Wheelchair transport</option>
<option>Private car</option>
</select>
</div>
</div>
<!-- Task Checklist -->
<div style="border:1px solid #ddd; border-radius:4px; margin-bottom:12px;">
<div style="background:#f5f5f5; padding:8px 10px; font-weight:bold; font-size:13px; display:flex; justify-content:space-between;">
<span>Discharge Tasks</span>
<button type="button" style="padding:2px 8px; font-size:12px;">Add Task</button>
</div>
<div style="max-height:200px; overflow:auto;">
<table style="width:100%; border-collapse:collapse; font-size:12px;">
<thead>
<tr>
<th style="text-align:left; padding:6px; border-bottom:1px solid #ddd;">Task</th>
<th style="text-align:left; padding:6px; border-bottom:1px solid #ddd;">Assigned To</th>
<th style="text-align:left; padding:6px; border-bottom:1px solid #ddd;">Due Date</th>
<th style="text-align:left; padding:6px; border-bottom:1px solid #ddd;">Status</th>
<th style="text-align:left; padding:6px; border-bottom:1px solid #ddd;">Completed</th>
</tr>
</thead>
<tbody>
<tr>
<td style="padding:6px; border-bottom:1px solid #eee;">Book follow-up with respiratory clinic</td>
<td style="padding:6px; border-bottom:1px solid #eee;">Discharge Planner</td>
<td style="padding:6px; border-bottom:1px solid #eee;">09-Feb-2026</td>
<td style="padding:6px; border-bottom:1px solid #eee;">
<select style="padding:2px 4px;">
<option>Not Started</option>
<option>In Progress</option>
<option>Completed</option>
</select>
</td>
<td style="padding:6px; border-bottom:1px solid #eee;"><input type="datetime-local" style="padding:2px 4px;" /></td>
</tr>
<!-- More tasks -->
</tbody>
</table>
</div>
</div>
<!-- Education -->
<div style="border:1px solid #ddd; border-radius:4px; padding:10px; margin-bottom:12px; font-size:13px;">
<strong>Patient / Family Education</strong>
<div style="margin-top:6px;">
<label><input type="checkbox" /> Medications</label>
<label style="margin-left:12px;"><input type="checkbox" /> Follow-up appointments</label>
<label style="margin-left:12px;"><input type="checkbox" /> Warning signs</label>
</div>
<div style="margin-top:6px;">
<label>Education Completed On<br/>
<input type="datetime-local" style="padding:4px 6px;" />
</label>
</div>
<div style="margin-top:6px;">
<label>Agreement<br/>
<select style="padding:4px 6px;">
<option>Pending</option>
<option>Yes</option>
<option>No</option>
</select>
</label>
</div>
<textarea rows="3" style="width:100%; margin-top:6px; padding:6px 8px;" placeholder="Notes on education provided and patient/family feedback."></textarea>
</div>
<!-- Footer -->
<div style="display:flex; justify-content:flex-end; gap:8px;">
<button type="button" style="padding:6px 12px;">Cancel</button>
<button type="button" style="padding:6px 12px;">Save Plan</button>
<button type="button" style="padding:6px 12px;">Mark Ready for Discharge</button>
<button type="button" style="padding:6px 12px; background:#1a73e8; color:white; border:1px solid #1a73e8;">Mark Plan Completed</button>
</div>
</div>
</div>
Accessibility
Checkboxes and selects have visible labels; group labels for barrier and education sections.
Task table uses proper headers; screen readers can navigate tasks row by row.
Error messages for required fields are displayed inline and associated via aria-describedby.
For bilingual content, ensure logical reading order in both languages.
Responsive / Mobile
Sections (Barriers, Services, Tasks, Education) become collapsible accordions.
Task table becomes vertical list of task cards with key fields.
Buttons become full-width at bottom; sticky footer for Save/Complete actions.
SCR-CASEMANAGEMENT-004: Care Coordination Dashboard
Purpose
Panel management view for ongoing care coordination across encounters, focusing on high-risk patients, upcoming touchpoints, and adherence indicators.
Field Specifications (key)
Field
Type
Required
Validation
Default
Notes
patient_panel
List / table
Display
—
Filtered by coordinator
Shows enrolled patients
care_plan_summary
Text
Display
—
—
Goals and key interventions
recent_activities
Timeline
Display
—
Last 30 days
From care_coordination_notes
upcoming_touchpoints
List
Display
—
Next 14 days
Scheduled calls, visits, portal messages
adherence_indicators
Badges
Display
—
—
e.g., missed appointments, medication gaps
risk_flags
Badge
Display
—
—
From readmission_risk_assessments
Additional filters: program type, risk level, coordinator.
Validation Messages
Condition
Message
Severity
No patients in panel
"No patients currently enrolled in your care coordination panel."
Info
Attempt to edit without permission
"You do not have permission to modify this care coordination plan."
Error
Open Patient Coordination Record.
Add Coordination Note.
Schedule Touchpoint (integrates with Scheduling).
Enrol / Disenrol from program.
Responsive / Mobile
Dashboard cards stack vertically.
Activity timeline becomes simple chronological list.
Quick actions shown as icon buttons with text labels.
SCR-CASEMANAGEMENT-005: Authorization Tracking
Purpose
Track open and historical continued-stay authorizations, days approved vs. used, expiry alerts, and payer communication logs.
Field Specifications
Field
Type
Required
Validation
Default
Notes
open_authorizations
Table
Display
—
Filter: Open
From continued_stay_authorizations
payer
Text / dropdown
Display/filter
Must match payer master
—
payers.name
auth_number
Text (column)
Display
—
—
continued_stay_authorizations.auth_number
approved_days
Integer
Display
≥ 0
—
continued_stay_authorizations.approved_days
requested_days
Integer
Display
≥ 0
—
continued_stay_authorizations.requested_days
remaining_days
Integer
Display
≥ 0
Calculated
Approved − used
request_date
Date
Display
—
—
continued_stay_authorizations.request_date
response_date
Date
Display
—
—
continued_stay_authorizations.response_date
next_review
Date
Display
—
—
Derived from payer schedule
expiry_alert
Badge
Display
—
—
e.g., “Expires in 1 day”
status
Dropdown (filter)
No
IN (Pending, Approved, Denied, Expired)
Open statuses
continued_stay_authorizations.status
denial_reason
Text
Display
—
—
If status = Denied
appeal_status
Text
Display
—
—
continued_stay_authorizations.appeal_status
renewal_button
Button
Yes
Enabled only for open cases
—
Opens renewal request form
Validation Messages
Condition
Message
Severity
Attempt to renew expired auth without new review
"A current UM review is required before requesting renewal."
Error
Missing auth_number on approved status
"Authorization number is required for approved authorizations."
Error
Renew Authorization : Launches UM review + payer submission workflow.
Log Payer Communication : Opens dialog to add communication entry.
Filter by Expiry : Quick filters (≤ 24h, ≤ 72h, > 72h).
Responsive / Mobile
Table becomes list of cards grouped by expiry urgency.
Renewal button prominent on each card.
SCR-CASEMANAGEMENT-006: Readmission Risk Dashboard
Purpose
Display risk-stratified patient list, risk factors, planned interventions, follow-up status, and 30-day readmission metrics.
Field Specifications
Field
Type
Required
Validation
Default
Notes
patient_list
Table
Display
—
Filter: Inpatients & recent discharges
From readmission_risk_assessments + encounters
risk_score
Numeric (column)
Display
0–100 or algorithm-specific
—
readmission_risk_assessments.risk_score
risk_level
Badge
Display
IN (High, Medium, Low)
—
Derived from score
risk_factors
Text
Display
—
—
From score_components_json
intervention_plan
Text
Display
—
—
Summary of planned interventions
follow_up_status
Badge
Display
—
—
e.g., “Call scheduled”, “Call completed”
30_day_readmission_rate
KPI tile
Display
0–100%
—
Calculated from encounters
Validation Messages
Condition
Message
Severity
No risk assessments available
"No readmission risk assessments found for the selected period."
Info
Open Readmission Risk Detail (per patient).
Add / Update Intervention Plan.
Mark Follow-up Completed.
Responsive / Mobile
KPI tiles at top; list of high-risk patients as cards.
Filters accessible via slide-out panel.
SCR-CASEMANAGEMENT-007: Case Management Analytics
Purpose
Management dashboard for LOS benchmarking, avoidable days, discharge disposition mix, readmission rate, UM review compliance, and UM-related denial rate.
Field Specifications (high level)
Field
Type
Required
Validation
Default
Notes
alos_by_drg
Chart (bar)
Display
—
Last 3–6 months
From encounters, grouped by DRG
avoidable_days
Chart / table
Display
—
—
From utilization_reviews
discharge_disposition_mix
Pie chart
Display
—
—
From discharge_plans / encounters
readmission_rate
KPI + trend chart
Display
—
—
From encounters
um_review_compliance
KPI
Display
—
—
From utilization_reviews vs. schedules
auth_denial_rate
KPI
Display
—
—
From continued_stay_authorizations & claims
Filter by facility, department, date range, payer.
Export charts/data (subject to PDPL and facility policy).
Drill-down to patient-level lists (role-restricted).
Responsive / Mobile
Charts stack vertically; KPIs shown as tiles.
Complex charts may switch to simplified numeric summaries.
Common UI Patterns
Patient Banner
Displayed on all case-related screens (SCR-CASEMANAGEMENT-001–006).
Fields:
Patient full name (Arabic + English where available).
MRN.
Emirates ID (masked by default, e.g., 784-1990-******7-1 for non-clinical viewers, per UAE PDPL role-based access).
Date of birth, age, gender.
Primary facility and current location.
Payer and plan.
Key alerts (allergies, isolation, fall risk) from EHR.
Behaviour:
Clickable to open full patient summary (read-only).
Supports left-to-right and right-to-left layout; in Arabic UI, banner content order mirrors appropriately.
Search Components
Global Case Search :
Text input with debounce; searches patient name (Arabic/English), MRN, Emirates ID, encounter number.
Minimum 2–3 characters; PDPL-compliant logging of search activity.
Filter Chips :
Used for status, priority, risk level.
Toggleable; include text and icon; high contrast colours.
Autocomplete Dropdowns :
For users, departments, services.
Keyboard accessible (arrow keys, Enter to select).
Alert / Notification Patterns
Overdue Review Alerts :
Badge + tooltip in worklist and UM form.
Optional banner at top of UM Review Form: “UM review overdue by X days”.
Authorization Expiry Alerts :
Colour-coded badges (with text) in Authorization Tracking.
Optional notification centre for upcoming expiries (24/48/72h).
Readmission Risk Alerts :
High-risk badge in worklist and dashboards.
Technical:
Use aria-live="polite" for non-critical alerts; assertive for blocking errors.
All alerts include clear text; no reliance on colour alone.
Loading States
Skeleton loaders for tables and dashboards.
Spinner with text “Loading case data…” for UM and discharge screens.
Timeouts with retry option and support contact message.
For long-running analytics queries, show progress indicator and allow user to cancel.
Arabic / English Bilingual UI
All labels, buttons, and messages must support both English and Arabic text from localisation resources.
Support full RTL layout when Arabic is selected:
Alignment of text and icons reversed.
Tables maintain logical column order; numeric fields remain LTR.
Date/time formats:
Configurable; default DD-MMM-YYYY with 24-hour time (common in UAE).
Validation messages:
Provided in both languages; language follows user preference.
Patient names:
Display Arabic name first when available, then English in parentheses.
Accessibility (WCAG 2.1 AA) – Global Notes
Colour contrast ratio ≥ 4.5:1 for text; ≥ 3:1 for large text and UI components.
Keyboard navigation:
All interactive elements reachable via Tab.
Visible focus indicator.
No reliance on hover-only interactions.
Screen reader support:
Landmarks (role="main", role="navigation") for major areas.
Descriptive aria-label for icons and buttons (e.g., “Renew authorization”).
Error handling:
Errors summarised at top of form and inline next to fields.
Programmatic association between fields and error text.
Responsive / Mobile – Global Notes
Breakpoints:
≥ 1024px: desktop multi-column layouts.
768–1023px: tablet, two-column where possible.
< 768px: single-column stacked layout.
Tables:
Convert to card-based layouts on small screens.
Preserve key fields at top of card; secondary fields collapsible.
Buttons:
Minimum 44x44 px touch targets.
Primary action clearly distinguished (colour + label).
```
content/rcm/case-management/04-screen-requirements.md
Generated 2026-02-20 22:54