{{ t.message }}

Loading...

Initialize Database

Set up the NAVKANMY database tables and seed comprehensive sample data including patients, caregivers, financial aid, medications, referrals, and treatment default tracking.

{{ initMessage }}

NAVKANMY

Navigasi Kanser Malaysia

UM Specialist Centre

{{ currentView === 'login' ? 'Welcome back' : 'Create your account' }}

{{ currentView === 'login' ? 'Sign in to continue' : 'Register to get started' }}

{{ authError }}

Demo accounts (password: Demo@1234)

{{ pageTitle }}

{{ greeting }}, {{ user.role === 'doctor' ? 'Dr.' : '' }} {{ user.first_name }}

Patient Cancer Risk Status
{{ p.first_name?.charAt(0) }}{{ p.last_name?.charAt(0) }}

{{ p.first_name }} {{ p.last_name }}

{{ p.mrn }}

{{ p.cancer_type || '-' }} {{ p.risk_level }} {{ p.navigation_status?.replace(/_/g, ' ') }}

No patients found.

{{ selectedPatient.patient.first_name?.charAt(0) }}{{ selectedPatient.patient.last_name?.charAt(0) }}

{{ selectedPatient.patient.first_name }} {{ selectedPatient.patient.last_name }}

{{ selectedPatient.patient.mrn }} {{ selectedPatient.patient.gender }} {{ calcAge(selectedPatient.patient.date_of_birth) }} years {{ selectedPatient.patient.ethnicity }} {{ selectedPatient.patient.religion }} {{ selectedPatient.patient.income_category }}
{{ selectedPatient.patient.risk_level }} Risk Acuity: {{ selectedPatient.patient.acuity_score }} {{ selectedPatient.patient.navigation_status?.replace(/_/g, ' ') }}

Phone

{{ selectedPatient.patient.phone || '-' }}

Doctor

{{ selectedPatient.patient.doctor_name || '-' }}

Navigator

{{ selectedPatient.patient.navigator_name || '-' }}

Social Worker

{{ selectedPatient.patient.social_worker_name || '-' }}

Insurance

{{ selectedPatient.patient.insurance_type?.replace(/_/g, ' ') || '-' }}

Contact Preference

{{ selectedPatient.patient.preferred_contact_method?.replace(/_/g, ' ') || '-' }}

AI is analyzing...

This may take a few seconds

{{ aiResultType==='care' ? 'AI Care Pathway Suggestions' : aiResultType==='barrier' ? 'AI Barrier Analysis' : aiResultType==='default_risk' ? 'AI Treatment Default Risk' : aiResultType==='appt_prep' ? 'AI Appointment Preparation' : aiResultType==='timeline' ? 'AI Treatment Timeline Analysis' : aiResultType==='education' ? 'AI Education Recommendations' : aiResultType==='symptom_trend' ? 'AI Symptom Trend Prediction' : aiResultType==='drug_interaction' ? 'AI Drug Interaction Analysis' : aiResultType==='letter' ? 'AI Patient Letter' : aiResultType==='caseload' ? 'AI Caseload Optimization' : aiResultType==='mdt_prep' ? 'AI MDT Case Preparation' : aiResultType==='qol_trend' ? 'AI Quality of Life Analysis' : aiResultType==='trial_match' ? 'AI Clinical Trial Matching' : aiResultType==='palliative_guide' ? 'AI Palliative Care Guide' : aiResultType==='cultural_coach' ? 'AI Cultural Communication Coach' : aiResultType==='outcome_predict' ? 'AI Navigation Outcome Predictor' : aiResultType==='quality_report' ? 'AI Quality Metrics Report' : aiResultType==='lab_vitals' ? 'AI Lab & Vitals Analysis' : aiResultType==='comm_insights' ? 'AI Communication Insights' : aiResultType==='insurance_optimizer' ? 'AI Insurance Optimizer' : aiResultType==='screening_advisor' ? 'AI Screening & Follow-up Advisor' : aiResultType==='diagnosis_analyzer' ? '🧬 AI Smart Diagnosis Analyzer' : aiResultType==='lab_interpreter' ? '🔬 AI Lab Report Interpreter' : aiResultType==='recurrence_monitor' ? '📊 AI Recurrence Risk Monitor' : aiResultType==='treatment_response' ? '💊 AI Treatment Response Evaluator' : aiResultType==='clinical_copilot' ? '🤖 AI Clinical Decision Support' : aiResultType==='case_report' ? '📋 AI Comprehensive Case Report' : aiResultType==='screening_intelligence' ? '🔍 AI Screening Intelligence' : 'AI Clinical Notes Summary' }}

Generated by NAVKANMY AI - for clinical reference only

AI-generated analysis for clinical reference only. Always validate with clinical judgment.

Cancer Type

{{ diag.cancer_type }}

Subtype

{{ diag.cancer_subtype || '-' }}

Stage

{{ diag.stage }}

Grade

{{ diag.grade || '-' }}

TNM

{{ diag.tnm_t }}{{ diag.tnm_n }}{{ diag.tnm_m }}

Receptors

ER:{{ diag.er_status }} PR:{{ diag.pr_status }} HER2:{{ diag.her2_status }}

Ki-67

{{ diag.ki67_percent }}%

BRCA

{{ diag.brca_status }}

Diagnosis Date

{{ formatDate(diag.diagnosis_date) }}

Facility

{{ diag.diagnosis_facility }}

Referred From

{{ diag.referring_facility }} (public)

Care Pathway

{{ idx + 1 }}

{{ step.step_name }}

{{ step.step_type?.replace(/_/g, ' ') }}
Scheduled: {{ formatDate(step.scheduled_date) }} Completed: {{ formatDate(step.completed_date) }} {{ step.facility }} Delay: {{ step.delay_reason }} Default: {{ step.default_reason }}

{{ step.notes }}

{{ formatDate(sr.report_date) }} Severity: {{ sr.ai_severity_score }}% {{ sr.alert_type }} ALT THERAPY
Reviewed

{{ sr.pain_level }}

Pain

{{ sr.fatigue_level }}

Fatigue

{{ sr.nausea_level }}

Nausea

{{ sr.mood_level }}

Low Mood

{{ sr.breathing_difficulty }}

Breathing

{{ sr.numbness_tingling }}

Numbness

Alternative Therapy Use:

{{ sr.alternative_therapy_details }}

AI Recommendation:

{{ sr.ai_recommendation }}

{{ formatDate(b.screening_date) }} Score: {{ b.overall_barrier_score }} Resolved
by {{ b.screener_name }}

{{ field.label }}

{{ b[field.key] || 'none' }}

Gender-Specific Needs:

{{ b.gender_specific_needs }}

Cultural Considerations:

{{ b.cultural_considerations }}

Religious Considerations:

{{ b.religious_considerations }}

{{ t.title }}

{{ t.priority }} {{ t.task_type?.replace(/_/g, ' ') }}

{{ t.description }}

Due: {{ formatDate(t.due_date) }} Assigned: {{ t.assignee_name }}
{{ n.note_type?.replace(/_/g, ' ') }} {{ n.title }}
{{ formatDate(n.created_at) }}

{{ n.content }}

{{ n.author_name }} ({{ n.author_role }})
{{ tag.trim() }}

{{ med.medication_name }}

{{ med.dosage }} - {{ med.frequency }} ({{ med.route }})

Prescribed by {{ med.prescriber_name }}

{{ med.is_active ? 'Active' : 'Inactive' }}

{{ med.purpose?.replace(/_/g, ' ') }}

RM {{ Number(med.monthly_cost).toLocaleString() }}/mo (subsidized)

{{ fa.program_name }}

{{ fa.program_type }} {{ fa.coverage_type?.replace(/_/g, ' ') }}
{{ fa.status?.replace(/_/g, ' ') }}

Requested

{{ fa.amount_requested ? 'RM ' + Number(fa.amount_requested).toLocaleString() : '-' }}

Approved

{{ fa.amount_approved ? 'RM ' + Number(fa.amount_approved).toLocaleString() : '-' }}

Disbursed

{{ fa.amount_disbursed ? 'RM ' + Number(fa.amount_disbursed).toLocaleString() : '-' }}

Managed by {{ fa.manager_name }}

{{ ref.to_facility }} - {{ ref.to_department }}

To: {{ ref.to_provider }}

{{ ref.referral_type?.replace(/_/g, ' ') }} {{ ref.status }} {{ ref.urgency }}

{{ ref.reason }}

{{ formatDate(ref.referral_date) }} by {{ ref.referrer_name }}

{{ mh.assessment_type?.replace(/_/g, ' ') }} {{ mh.score }} {{ mh.severity?.replace(/_/g, ' ') }}
{{ formatDate(mh.assessment_date) }}

{{ mh.recommendation }}

Referral: {{ mh.referral_to }} by {{ mh.assessor_name }}
{{ td.default_type?.replace(/_/g, ' ') }} {{ td.intervention_outcome?.replace(/_/g, ' ') || 'Unresolved' }}
{{ formatDate(td.default_date) }}

Reason: {{ td.reason?.replace(/_/g, ' ') }} - {{ td.reason_detail }}

Intervention: {{ td.intervention_type }}

{{ formatDateShort(a.appointment_date).month }} {{ formatDateShort(a.appointment_date).day }}

{{ a.title }}

{{ formatTime(a.appointment_time) }} - {{ a.location || a.appointment_type }}

Dr. {{ a.provider_name_full }}

Transport {{ a.status?.replace(/_/g, ' ') }}
{{ cg.first_name?.charAt(0) }}{{ cg.last_name?.charAt(0) }}

{{ cg.first_name }} {{ cg.last_name }}

{{ cg.relationship }} Primary

{{ cg.phone }}

View Records Updates

{{ el.resource_title }}

{{ el.category?.replace(/_/g, ' ') }} {{ el.method?.replace(/_/g, ' ') }} {{ formatDate(el.provided_date) }}
{{ el.patient_understanding }}

No consents recorded yet.

{{ c.consent_type?.replace(/_/g, ' ') }} {{ c.consent_status }}
{{ formatDate(c.consent_date) }}

{{ c.consent_details }}

Witness: {{ c.witness_name }} By: {{ c.recorded_by_name }} Expires: {{ formatDate(c.expiry_date) }}

No survivorship plan created yet.

Survivorship Care Plan

{{ survivorshipPlan.graduation_status?.replace(/_/g, ' ') }}
Graduated: {{ formatDate(survivorshipPlan.graduation_date) }}

Treatment Summary

{{ survivorshipPlan.treatment_summary }}

Follow-up Schedule

{{ survivorshipPlan.follow_up_schedule }}

Screening Plan

{{ survivorshipPlan.screening_plan }}

Wellness Goals

{{ survivorshipPlan.wellness_goals }}

Emergency Signs

{{ survivorshipPlan.emergency_signs }}

Late Effects Monitoring

{{ survivorshipPlan.late_effects_monitoring }}

Psychosocial Plan

{{ survivorshipPlan.psychosocial_plan }}

Return to Work/Daily Life Plan

{{ survivorshipPlan.return_to_work_plan }}

Created by: {{ survivorshipPlan.created_by_name }} on {{ formatDate(survivorshipPlan.created_at) }}

MDT / Tumor Board Discussions

No MDT discussions for this patient yet.

{{ mdt.meeting_type?.replace(/_/g, ' ') }} {{ formatDate(mdt.meeting_date) }}
{{ mdt.recommendation_status?.replace(/_/g, ' ') }}
Presented by: {{ mdt.presenting_doctor }}

Clinical Summary

{{ mdt.clinical_summary }}

MDT Recommendation

{{ mdt.mdt_recommendation }}

Follow-up Actions

{{ mdt.follow_up_actions }}

Consensus: {{ mdt.consensus_reached ? 'Yes' : 'No' }}

Quality of Life Assessments

No QoL assessments recorded yet.

{{ qol.instrument?.replace(/_/g, ' ').toUpperCase() }} {{ formatDate(qol.assessment_date) }}
{{ qol.assessment_context?.replace(/_/g, ' ') }}

Global Health

{{ qol.global_health_score }}

Physical

{{ qol.physical_functioning }}

Emotional

{{ qol.emotional_functioning }}

Social

{{ qol.social_functioning }}

Pain

{{ qol.pain_score }}

Fatigue

{{ qol.fatigue_score }}

{{ qol.notes }}
Assessed by: {{ qol.assessed_by_name }}

Clinical Trial Participation

No clinical trial participation recorded.

{{ trial.short_title || trial.trial_name }}

{{ trial.enrollment_status?.replace(/_/g, ' ') }}
Phase {{ trial.phase?.replace(/_/g, '/') }} | Trial Status: {{ trial.trial_status?.replace(/_/g, ' ') }}
Referred: {{ formatDate(trial.referral_date) }} by {{ trial.referred_by_name }}
Enrolled: {{ formatDate(trial.enrollment_date) }}
Arm: {{ trial.randomization_arm }}
{{ trial.navigator_notes }}

Support Groups & Peer Mentors

Support Groups

{{ g.group_name }}
{{ g.membership_status }}
Type: {{ g.group_type?.replace(/_/g, ' ') }} | Format: {{ g.meeting_format?.replace(/_/g, ' ') }}
Joined: {{ formatDate(g.joined_date) }} | Sessions attended: {{ g.sessions_attended }}

Peer Mentors

{{ m.mentor_name }}
{{ m.match_status }}
Cancer experience: {{ m.cancer_type_experience }} | Languages: {{ m.languages_spoken }}
Matched: {{ formatDate(m.match_date) }} | Contacts: {{ m.total_contacts }} | Frequency: {{ m.contact_frequency?.replace(/_/g, ' ') }}
Satisfaction: {{ m.patient_satisfaction?.replace(/_/g, ' ') }}

No support group or peer mentor connections yet.

Palliative Care & Advance Care Planning

Palliative Care Plan

{{ palliativeData.palliative_plan.referral_status?.replace(/_/g, ' ') }}
Care Intent: {{ palliativeData.palliative_plan.care_intent?.replace(/_/g, ' ') }}
Provider: {{ palliativeData.palliative_plan.palliative_care_provider || 'Not assigned' }} ({{ palliativeData.palliative_plan.provider_type?.replace(/_/g, ' ') }})
Pain Control: {{ palliativeData.palliative_plan.pain_adequacy?.replace(/_/g, ' ') }}
PPS: {{ palliativeData.palliative_plan.palliative_performance_scale || 'N/A' }}%
Home Care: {{ palliativeData.palliative_plan.home_care_active ? 'Active' : 'No' }}

Pain Regimen

{{ palliativeData.palliative_plan.current_pain_regimen }}

Advance Care Plan

Status: {{ palliativeData.advance_care_plan.acp_status?.replace(/_/g, ' ') }}
Place of Care: {{ palliativeData.advance_care_plan.preferred_place_of_care }}
Resuscitation: {{ palliativeData.advance_care_plan.resuscitation_preference?.replace(/_/g, ' ') }}
Proxy: {{ palliativeData.advance_care_plan.healthcare_proxy_name }} ({{ palliativeData.advance_care_plan.healthcare_proxy_relationship }})

Spiritual Care

{{ palliativeData.advance_care_plan.spiritual_care_needs }}

Cultural Wishes

{{ palliativeData.advance_care_plan.cultural_wishes }}

ESAS Assessments

{{ formatDate(a.assessment_date) }}
PPS: {{ a.palliative_performance_scale }}% ESAS: {{ a.esas_total_score }}/90
Functional: {{ a.functional_status_change?.replace(/_/g, ' ') }}

Telehealth Sessions

No telehealth sessions recorded.

{{ ts.session_type?.replace(/_/g, ' ') }} {{ formatDate(ts.scheduled_date) }} {{ ts.scheduled_time ? ts.scheduled_time.substring(0,5) : '' }}
{{ ts.status?.replace(/_/g, ' ') }}
Provider: {{ ts.provider_name }} | Platform: {{ ts.platform?.replace(/_/g, ' ') }} | {{ ts.duration_minutes }}min
Complaint: {{ ts.chief_complaint }}

Session Notes

{{ ts.session_notes }}

Follow-up Actions

{{ ts.follow_up_actions }}

Satisfaction: {{ ts.patient_satisfaction }}/5

Communication Log

No communications logged.

{{ comm.direction }} {{ comm.communication_type?.replace(/_/g, ' ') }} {{ formatDateTime(comm.communication_date) }}
{{ comm.purpose?.replace(/_/g, ' ') }}
With: {{ comm.contact_person }} ({{ comm.contact_relationship }}) | By: {{ comm.communicated_by_name }} | {{ comm.duration_minutes ? comm.duration_minutes + 'min' : '' }} | {{ comm.language_used }}

{{ comm.summary }}

{{ comm.outcome?.replace(/_/g, ' ') }} Follow-up: {{ formatDate(comm.follow_up_date) }}

Laboratory Results

No lab results recorded.

{{ formatDate(date) }}

{{ lab.test_name }} {{ lab.test_category?.replace(/_/g, ' ') }} CRITICAL ABNORMAL
{{ lab.notes }}

{{ lab.result_value }} {{ lab.result_unit }}

Ref: {{ lab.reference_range }}

Vital Signs

No vital signs recorded.

{{ formatDateTime(v.recorded_date) }} By: {{ v.recorded_by_name }}

Blood Pressure

{{ v.systolic_bp }}/{{ v.diastolic_bp }}

Heart Rate

{{ v.heart_rate }}

Temp °C

{{ v.temperature }}

SpO2 %

{{ v.oxygen_saturation }}

Weight kg

{{ v.weight_kg }}

BMI

{{ v.bmi }}

Pain

{{ v.pain_score }}/10

{{ v.notes }}

Insurance & Claims

Total Claimed

RM{{ Number(insuranceData.summary.total_claimed || 0).toLocaleString() }}

Approved

RM{{ Number(insuranceData.summary.total_approved || 0).toLocaleString() }}

Paid

RM{{ Number(insuranceData.summary.total_paid || 0).toLocaleString() }}

Patient Cost

RM{{ Number(insuranceData.summary.total_patient_cost || 0).toLocaleString() }}

Insurance Policies

No insurance policies recorded.

{{ pol.insurer_name }} {{ pol.policy_type?.replace(/_/g, ' ') }}
{{ pol.status }}
Policy #{{ pol.policy_number }} | Coverage: {{ pol.coverage_type?.replace(/_/g, ' ') }} | Co-pay: {{ pol.co_pay_percentage }}%
Period: {{ formatDate(pol.coverage_start_date) }} - {{ formatDate(pol.coverage_end_date) }}
Remaining: RM{{ Number(pol.remaining_limit || 0).toLocaleString() }}Limit: RM{{ Number(pol.annual_limit).toLocaleString() }}
{{ pol.notes }}

Claims

No claims recorded.

{{ clm.claim_type?.replace(/_/g, ' ') }} {{ clm.claim_number }}
{{ clm.status?.replace(/_/g, ' ') }}
{{ clm.insurer_name }} | Service: {{ formatDate(clm.service_date) }} | Provider: {{ clm.provider_name }}

Claimed

RM{{ Number(clm.amount_claimed || 0).toLocaleString() }}

Approved

{{ clm.amount_approved ? 'RM' + Number(clm.amount_approved).toLocaleString() : '-' }}

Paid

{{ clm.amount_paid ? 'RM' + Number(clm.amount_paid).toLocaleString() : '-' }}

Patient

{{ clm.patient_responsibility ? 'RM' + Number(clm.patient_responsibility).toLocaleString() : '-' }}

Denial: {{ clm.denial_reason }}
{{ clm.notes }}

Pre-authorizations

No pre-authorizations.

{{ pa.service_requested }} {{ pa.status }}
{{ pa.insurer_name }} | Auth#: {{ pa.auth_number }} | {{ pa.service_type?.replace(/_/g, ' ') }}
Requested: {{ formatDate(pa.requested_date) }} | Est: RM{{ Number(pa.estimated_cost || 0).toLocaleString() }}{{ pa.approved_amount ? ' | Approved: RM' + Number(pa.approved_amount).toLocaleString() : '' }}
Expires: {{ formatDate(pa.expiry_date) }}
{{ pa.denial_reason }}

Screening & Follow-up Protocols

No screening protocols configured.

{{ prot.protocol_name }} {{ prot.protocol_type?.replace(/_/g, ' ') }}
{{ prot.status }}
{{ prot.cancer_type }} | Frequency: {{ prot.frequency?.replace(/_/g, ' ') }} | Tests: {{ prot.tests_required }}
Next Due: {{ formatDate(prot.next_due_date) }} Last: {{ prot.last_completed_date ? formatDate(prot.last_completed_date) : 'Never' }}
Adherence{{ prot.adherence_rate }}%
{{ prot.total_completed }}/{{ prot.total_scheduled }} done{{ prot.total_missed > 0 ? ', ' + prot.total_missed + ' missed' : '' }}
{{ prot.notes }}

Recent Screening Results

{{ res.test_name }} {{ res.protocol_name }}
{{ res.result_status }} {{ formatDate(res.screening_date) }}

{{ res.result_summary }}

Action: {{ res.action_required?.replace(/_/g, ' ') }} — {{ res.action_details }}
By: {{ res.performed_by }}{{ res.next_action_date ? ' | Next: ' + formatDate(res.next_action_date) : '' }}

Staff Performance & KPIs

Navigator workload, task completion, and program metrics

{{ staffPerformance.program_metrics?.total_active_patients || 0 }}

Active Patients

{{ staffPerformance.program_metrics?.total_graduated || 0 }}

Graduated

{{ Math.round(staffPerformance.program_metrics?.avg_navigation_days || 0) }}

Avg Navigation Days

{{ staffPerformance.program_metrics?.default_recovery_rate || 0 }}%

Default Recovery

{{ staffPerformance.program_metrics?.barrier_resolution_rate || 0 }}%

Barrier Resolution

{{ staffPerformance.program_metrics?.financial_aid_approval_rate || 0 }}%

Aid Approval Rate

{{ nav.name }}

{{ nav.navigator_type?.replace(/_/g, ' ') || nav.role }}

{{ nav.active_patients }}/{{ nav.max_caseload }} patients

{{ nav.tasks_completed_30d || 0 }}

Tasks/30d

{{ nav.overdue_tasks || 0 }}

Overdue

{{ nav.open_tasks || 0 }}

Open Tasks

{{ nav.notes_written_30d || 0 }}

Notes/30d

{{ nav.graduated_patients || 0 }}

Graduated

{{ nav.defaults_recovered || 0 }}

Defaults Recovered

Caseload: {{ Math.round((nav.active_patients / Math.max(1, nav.max_caseload)) * 100) }}% capacity

{{ t.title }}

{{ t.priority }} {{ t.task_type?.replace(/_/g, ' ') }}

{{ t.description }}

{{ t.patient_name }} {{ t.mrn }} {{ t.risk_level }} Due: {{ formatDate(t.due_date) }}{{ isOverdue(t.due_date) && t.status!=='completed' ? ' (OVERDUE)' : '' }} {{ t.assignee_name }}

No tasks found.

{{ formatDateShort(a.appointment_date).month }} {{ formatDateShort(a.appointment_date).day }}

{{ a.title }}

{{ a.patient_name }} {{ a.mrn }} {{ a.risk_level }}

{{ formatTime(a.appointment_time) }} - {{ a.location || a.appointment_type }}

Transport {{ a.status?.replace(/_/g, ' ') }}

No upcoming appointments.

How are you feeling today?

Rate each symptom from 0 (none) to 10 (worst). This helps your care team monitor your wellbeing.

{{ symptomForm[s.key] }}
NoneMildModerateSevereWorst
I am using traditional or alternative therapy

Your care team will not judge you. We want to make sure everything works safely together.

{{ symptomResult.severity_score }}%

Symptom Report Submitted

{{ symptomResult.alert ? 'Your care team has been notified.' : 'Your care team will review this report.' }}

{{ symptomResult.recommendation }}

If you feel very unwell, please contact your navigator or go to UMSC Emergency (03-7949 4422).

{{ n.title }}

{{ n.content }}

{{ formatDateTime(n.created_at) }}

No notifications.

New Message

{{ m.sender_id == user.id ? 'You' : m.sender_name }} {{ m.receiver_id == user.id ? 'You' : m.receiver_name }} URGENT
{{ formatDateTime(m.created_at) }}

{{ m.subject }}

{{ m.content }}

NAVKANMY AI Assistant

Your intelligent healthcare companion — ask me anything

Hi, I'm your AI Assistant!

{{ user.role === 'patient' ? 'I can help you understand your treatment, manage symptoms, find support resources, and answer any health questions.' : user.role === 'caregiver' ? 'I can help you support your loved one, manage caregiver stress, and navigate the healthcare system.' : 'I can analyze patients, generate reports, predict risks, check drug interactions, and assist with 26+ AI-powered clinical tools.' }}

Try asking me

{{ msg.message }}

{{ formatTime(msg.created_at) }}

{{ msg.message }}

{{ formatTime(msg.created_at) }}

! Confirm Action

{{ msg.message }}

{{ msg.action_summary.label }}

{{ d.key }}: {{ d.value }}

Action was processed

{{ formatTime(msg.created_at) }}

Data Retrieved

{{ msg.message }}

{{ formatTime(msg.created_at) }}

Action Completed

{{ msg.message }}

{{ formatTime(msg.created_at) }}

Action Failed

{{ msg.message }}

{{ formatTime(msg.created_at) }}

What would you like to do next?

{{ f.name }} {{ f.sizeLabel }}

Attach images or PDFs (max 4MB) · Press Enter to send

{{ r.category?.replace(/_/g, ' ') }} {{ r.cancer_type }} {{ r.difficulty_level }}

{{ user?.preferred_language === 'ms' && r.title_ms ? r.title_ms : r.title }}

{{ user?.preferred_language === 'ms' && r.content_ms ? r.content_ms : r.content }}

Avg Time to Treatment

{{ analyticsData.avg_time_to_treatment_days || '-' }}

days (median: {{ analyticsData.median_time_to_treatment_days || '-' }})

Appointment Adherence

{{ analyticsData.appointment_adherence }}%

No-show: {{ analyticsData.no_show_rate }}%

Task Completion

{{ analyticsData.task_completion_rate }}%

{{ analyticsData.overdue_tasks }} overdue

Barrier Resolution

{{ analyticsData.barrier_resolution_rate }}%

Alert review: {{ analyticsData.alert_review_rate }}%

Treatment Defaults

{{ analyticsData.total_defaults }}

{{ analyticsData.active_defaults }} active

Default Recovery Rate

{{ analyticsData.default_recovery_rate }}%

{{ analyticsData.recovered_defaults }} recovered

Alt Therapy Patients

{{ analyticsData.alt_therapy_patients }}

{{ analyticsData.alt_therapy_barrier_count }} with barrier

Rural Patients

{{ analyticsData.rural_patient_count }}

{{ analyticsData.public_referral_count }} from public hospitals

Financial Aid Summary

Total RequestedRM {{ Number(analyticsData.total_aid_requested).toLocaleString() }}
Total ApprovedRM {{ Number(analyticsData.total_aid_approved).toLocaleString() }}
Total DisbursedRM {{ Number(analyticsData.total_aid_disbursed).toLocaleString() }}

Aid by Program Type

{{ ap.program_type }}
{{ ap.count }} RM {{ Number(ap.total_approved).toLocaleString() }}

Default Reasons

{{ dr.reason?.replace(/_/g, ' ') }} {{ dr.count }}

Ethnicity

{{ e.ethnicity }} {{ e.count }}

Income Category

{{ ic.income_category }} {{ ic.count }}

Stage Distribution

{{ s.stage }} {{ s.count }}

Mental Health Summary

{{ mh.assessment_type?.replace(/_/g, ' ') }}
Avg: {{ Number(mh.avg_score).toFixed(1) }} {{ mh.concerning_count }} concerning

Navigator Caseload

{{ nc.navigator_name }}

{{ nc.navigator_type?.replace(/_/g, ' ') }}

Active Patients

{{ nc.active_patients }}/{{ nc.max_caseload }}

Open Tasks

{{ nc.open_tasks }}

Referrals

Total

{{ analyticsData.total_referrals }}

Completed

{{ analyticsData.completed_referrals }}

Completion Rate

{{ analyticsData.total_referrals > 0 ? ((analyticsData.completed_referrals/analyticsData.total_referrals)*100).toFixed(0) : 0 }}%

{{ rt.referral_type?.replace(/_/g, ' ') }} {{ rt.count }}

Loading analytics...