Physician Portal & Mobile App KPIs & Reporting
KPI Summary
| KPI ID | KPI Name | Formula (Conceptual) | Target | Data Source | Frequency |
|---|---|---|---|---|---|
| KPI-PHYSICIANPORTAL-001 | Physician Portal Adoption Rate | (Physicians with active portal account / Active medical staff) × 100 | ≥ 80% | physician_portal_accounts, providers |
Monthly |
| KPI-PHYSICIANPORTAL-002 | Mobile App Monthly Active Users (MAU) | Count of distinct accounts with ≥1 mobile login in last 30 days | Growing month-over-month | physician_portal_sessions |
Daily (rolling) |
| KPI-PHYSICIANPORTAL-003 | Critical Result Acknowledgment via Portal | (Critical results acknowledged via portal / Total critical acknowledgments) × 100 | ≥ 40% | physician_inbox_items, lab_results, radiology_reports, critical notification logs |
Monthly |
| KPI-PHYSICIANPORTAL-004 | Mobile Order Entry Rate | (Orders entered via mobile portal / Total orders) × 100 | ≥ 15% | cpoe_orders (external, with order_source) |
Monthly |
| KPI-PHYSICIANPORTAL-005 | Patient Message Response Time | Average (response_datetime − message_received_datetime) | ≤ 24 hours | portal_messages, physician_inbox_items |
Daily / Weekly |
| KPI-PHYSICIANPORTAL-006 | Handoff Completion Rate | (Shift transitions with electronic handoff / Total shift transitions) × 100 | ≥ 90% | handoff_communications, scheduling/on-call tables |
Monthly |
| KPI-PHYSICIANPORTAL-007 | Task Completion Rate | (Tasks completed within due date / Total tasks) × 100 | ≥ 85% | clinical_task_items, clinical_task_lists |
Weekly / Monthly |
| KPI-PHYSICIANPORTAL-008 | Mobile Documentation Rate | (Notes created via mobile / Total clinical notes) × 100 | ≥ 10% | clinical_notes (external, with source), physician_portal_sessions |
Monthly |
| KPI-PHYSICIANPORTAL-009 | Average Session Duration | Average (logout_datetime − login_datetime) | Monitored (shorter = efficient) | physician_portal_sessions |
Daily / Monthly |
Note: External tables such as
cpoe_orders,clinical_notes,lab_results,radiology_reports,portal_messagesare defined in their owning modules (see respective03-data-specificationsfiles).
KPI Definitions
KPI-PHYSICIANPORTAL-001: Physician Portal Adoption Rate
Definition
Measures the percentage of active medical staff who have an active, enabled physician portal account. Indicates overall adoption of the portal/mobile app across the medical staff, which is critical for realizing benefits of paperless workflows and remote access.
Calculation Formula
Assumptions:
- Active medical staff = providers with
provider_status = 'active'andprovider_type IN ('physician','consultant','resident','fellow'). - Active portal account =
physician_portal_accounts.is_active = TRUEandactivation_status = 'activated'.
SELECT
CAST(COUNT(DISTINCT ppa.provider_id) AS FLOAT) * 100.0
/ NULLIF(COUNT(DISTINCT p.provider_id), 0) AS physician_portal_adoption_rate_pct
FROM providers p
LEFT JOIN physician_portal_accounts ppa
ON ppa.provider_id = p.provider_id
AND ppa.is_active = TRUE
AND ppa.activation_status = 'activated'
WHERE p.provider_status = 'active'
AND p.provider_type IN ('physician','consultant','resident','fellow')
AND p.emirate IN ('Abu Dhabi','Dubai','Sharjah','Ajman','Umm Al Quwain','Ras Al Khaimah','Fujairah') -- optional
AND p.last_credential_review_date <= :as_of_date;
Target / Benchmark
| Metric | Target | Source / Rationale |
|---|---|---|
| Physician Portal Adoption Rate | ≥ 80% | Internal target aligned with UAE digital health strategies (DOH/DHA eHealth goals) |
Data Source
providers.provider_id,providers.provider_status,providers.provider_type,providers.department_id,providers.facility_idphysician_portal_accounts.account_id,physician_portal_accounts.provider_id,physician_portal_accounts.activation_status,physician_portal_accounts.is_active
Dimensions / Filters
- Time: snapshot as of date (monthly), trend by month
- Facility:
providers.facility_id - Department:
providers.department_id - Provider type: consultant, specialist, resident
- Emirate (for multi-emirate groups)
Visualization
- Primary: Gauge (current adoption vs 80% target)
- Secondary: Bar chart by department/facility
- Trend: Line chart (monthly adoption rate)
Alert Thresholds
- Warning: < 75% overall or any department < 60%
- Critical: < 65% overall
- Notifications:
- Warning: Portal Administrator, Department Heads
- Critical: CMO, Clinical Informatics Lead, Portal Administrator
KPI-PHYSICIANPORTAL-002: Mobile App Monthly Active Users (MAU)
Definition
Counts distinct physician portal accounts that have logged in from a mobile device (iOS/Android) at least once in the last 30 days. Indicates real usage of the mobile app beyond simple account activation.
Calculation Formula
Assumptions:
- Mobile device types:
device_type IN ('ios','android'). - Rolling 30-day window ending at
:as_of_date.
SELECT
COUNT(DISTINCT s.account_id) AS mobile_mau
FROM physician_portal_sessions s
JOIN physician_portal_accounts ppa
ON ppa.account_id = s.account_id
WHERE s.device_type IN ('ios','android')
AND s.login_datetime >= DATEADD(DAY, -30, :as_of_date)
AND s.login_datetime < DATEADD(DAY, 1, :as_of_date)
AND ppa.is_active = TRUE;
Target / Benchmark
| Metric | Target | Source / Rationale |
|---|---|---|
| MAU | Growing month-over-month | Internal adoption target; aim for ≥ 60–70% of active users |
Data Source
physician_portal_sessions.session_id,account_id,login_datetime,device_type,device_os,app_versionphysician_portal_accounts.account_id,provider_id,is_active
Dimensions / Filters
- Time: daily, weekly, monthly; rolling 30 days
- Facility, department (via join to
providers) - Device type: iOS vs Android
- App version (for rollout monitoring)
Visualization
- Line chart: MAU trend by month
- Stacked bar: MAU by device type
- Table: MAU by department
Alert Thresholds
- Warning: Month-over-month MAU growth ≤ 0% (flat or declining)
- Critical: ≥ 10% decline in MAU over 2 consecutive months
- Notifications:
- Warning: Portal Administrator, Clinical Informatics
- Critical: CMO, CIO/IT Director, Portal Administrator
KPI-PHYSICIANPORTAL-003: Critical Result Acknowledgment via Portal
Definition
Percentage of all critical result acknowledgments (lab and radiology) that are performed via the physician portal/mobile app. Reflects how effectively the portal supports time-sensitive clinical communication and documentation.
Calculation Formula
Assumptions:
physician_inbox_items.item_type = 'critical_result'.source_module IN ('lis','ris').- Portal acknowledgments:
action_taken = 'acknowledged'andactioned_via = 'physician_portal'. - Total critical acknowledgments may also be logged in LIS/RIS; here we assume all acknowledgments are mirrored into
physician_inbox_items.
SELECT
COUNT(CASE
WHEN pii.item_type = 'critical_result'
AND pii.action_taken = 'acknowledged'
AND pii.actioned_via = 'physician_portal'
THEN 1 END) * 100.0
/ NULLIF(COUNT(CASE
WHEN pii.item_type = 'critical_result'
AND pii.action_taken = 'acknowledged'
THEN 1 END), 0) AS critical_ack_via_portal_pct
FROM physician_inbox_items pii
WHERE pii.received_datetime >= :start_date
AND pii.received_datetime < :end_date;
Target / Benchmark
| Metric | Target | Source / Rationale |
|---|---|---|
| Critical Result Acknowledgment via Portal | ≥ 40% | Internal target; supports DOH/DHA expectations for timely review |
Data Source
physician_inbox_items.item_id,provider_id,item_type,source_module,source_id,patient_id,priority,status,received_datetime,actioned_datetime,action_taken,actioned_vialab_results.result_id,lab_results.critical_flag,lab_results.acknowledged_by,lab_results.acknowledged_datetime(external)radiology_reports.report_id,radiology_reports.critical_flag,radiology_reports.acknowledged_by,radiology_reports.acknowledged_datetime(external)
Dimensions / Filters
- Time: daily, weekly, monthly
- Facility, department
- Provider
- Result type: lab vs radiology
- Priority: critical vs high-priority abnormal
Visualization
- Gauge: overall percentage vs 40% target
- Stacked bar: acknowledgment channel (portal vs workstation vs phone) by department
- Trend line: monthly portal acknowledgment percentage
Alert Thresholds
- Warning: < 35% overall or any high-volume department < 30%
- Critical: < 25% overall
- Notifications:
- Warning: Department Heads, Clinical Informatics
- Critical: CMO, Quality & Patient Safety, Portal Administrator
KPI-PHYSICIANPORTAL-004: Mobile Order Entry Rate
Definition
Percentage of all CPOE orders that are entered via the physician portal/mobile app. Indicates how much ordering activity is being performed remotely or at point-of-care using mobile devices.
Calculation Formula
Assumptions:
cpoe_orders.source = 'physician_portal'for orders originating from this module.- Denominator includes all orders regardless of source.
SELECT
COUNT(CASE
WHEN co.source = 'physician_portal'
THEN 1 END) * 100.0
/ NULLIF(COUNT(*), 0) AS mobile_order_entry_rate_pct
FROM cpoe_orders co
WHERE co.order_datetime >= :start_date
AND co.order_datetime < :end_date;
Target / Benchmark
| Metric | Target | Source / Rationale |
|---|---|---|
| Mobile Order Entry Rate | ≥ 15% | Internal target; reflects meaningful mobile utilization |
Data Source
cpoe_orders.order_id,patient_id,encounter_id,provider_id,order_type,order_datetime,source,facility_id,department_id
Dimensions / Filters
- Time: daily, weekly, monthly
- Facility, department
- Provider
- Order type: medication, lab, imaging, consult, nursing
Visualization
- Stacked bar: orders by source (desktop vs mobile vs others)
- Line chart: mobile order rate trend by month
- Bar chart: mobile order rate by department
Alert Thresholds
- Warning: Overall mobile order rate < 12% or declining for 3 consecutive months
- Critical: Overall mobile order rate < 8%
- Notifications:
- Warning: Portal Administrator, Clinical Informatics
- Critical: CMO, CIO/IT Director, Department Heads
KPI-PHYSICIANPORTAL-005: Patient Message Response Time
Definition
Average time taken for providers to respond to patient messages received via the patient portal, when handled through the physician portal/mobile app. Supports patient engagement and responsiveness expectations in UAE private and governmental facilities.
Calculation Formula
Assumptions:
portal_messages.message_type = 'patient_to_provider'.- Response is a
portal_messagesrecord withparent_message_idreferencing the original. - Only messages where
responded_by_provider_idis not null. - Response time measured in hours.
SELECT
AVG(DATEDIFF(MINUTE, pm_received.message_received_datetime, pm_response.message_sent_datetime)) / 60.0
AS avg_response_time_hours
FROM portal_messages pm_received
JOIN portal_messages pm_response
ON pm_response.parent_message_id = pm_received.message_id
AND pm_response.direction = 'provider_to_patient'
WHERE pm_received.message_type = 'patient_to_provider'
AND pm_received.message_received_datetime >= :start_date
AND pm_received.message_received_datetime < :end_date;
If the implementation uses physician_inbox_items as the operational layer:
SELECT
AVG(DATEDIFF(MINUTE, pii.received_datetime, pii.actioned_datetime)) / 60.0
AS avg_response_time_hours
FROM physician_inbox_items pii
WHERE pii.item_type = 'patient_message'
AND pii.status = 'completed'
AND pii.received_datetime >= :start_date
AND pii.received_datetime < :end_date;
Target / Benchmark
| Metric | Target | Source / Rationale |
|---|---|---|
| Patient Message Response Time | ≤ 24 hours | Internal target; aligned with common UAE private sector SLAs |
Data Source
portal_messages.message_id,parent_message_id,patient_id,provider_id,direction,message_type,message_received_datetime,message_sent_datetime,facility_idphysician_inbox_items.item_id,item_type,received_datetime,actioned_datetime,status,provider_id
Dimensions / Filters
- Time: daily, weekly, monthly
- Facility, department
- Provider
- Message category: clinical question, administrative, prescription refill
Visualization
- Line chart: average response time trend
- Bar chart: percentage of messages answered within 24h, 48h, >48h
- Table: providers/departments with highest average response time
Alert Thresholds
- Warning: Average response time > 24 hours for 7-day rolling window
- Critical: Average response time > 36 hours or > 20% of messages > 48 hours
- Notifications:
- Warning: Department Heads, Portal Administrator
- Critical: CMO, Quality & Patient Experience, Portal Administrator
KPI-PHYSICIANPORTAL-006: Handoff Completion Rate
Definition
Percentage of shift transitions where an electronic handoff (I-PASS template) is completed and acknowledged via the physician portal. Supports continuity of care and reduces risk associated with verbal-only handoffs.
Calculation Formula
Assumptions:
handoff_communicationscontains one record per patient handoff.status IN ('sent','acknowledged')indicates an electronic handoff exists.- Shift transitions are derived from scheduling/on-call tables; for KPI we approximate using distinct combinations of
outgoing_provider_id,incoming_provider_id,handoff_date.
Example using handoff_communications only (proxy):
-- Numerator: distinct provider-to-provider handoffs with acknowledged status
WITH handoff_events AS (
SELECT
outgoing_provider_id,
incoming_provider_id,
CAST(handoff_datetime AS DATE) AS handoff_date,
MAX(status) AS max_status
FROM handoff_communications
WHERE handoff_datetime >= :start_date
AND handoff_datetime < :end_date
GROUP BY outgoing_provider_id, incoming_provider_id, CAST(handoff_datetime AS DATE)
)
SELECT
COUNT(CASE WHEN max_status = 'acknowledged' THEN 1 END) * 100.0
/ NULLIF(COUNT(*), 0) AS handoff_completion_rate_pct
FROM handoff_events;
If a separate shift_transitions table exists, denominator should be COUNT(shift_transitions).
Target / Benchmark
| Metric | Target | Source / Rationale |
|---|---|---|
| Handoff Completion Rate | ≥ 90% | Internal patient safety target (I-PASS best practice adoption) |
Data Source
handoff_communications.handoff_id,patient_id,encounter_id,outgoing_provider_id,incoming_provider_id,illness_severity,patient_summary,action_list,contingency_plan,handoff_datetime,acknowledged_datetime,status- Scheduling/on-call tables for total shift transitions (external)
Dimensions / Filters
- Time: weekly, monthly
- Facility, department/service
- Provider (outgoing and incoming)
- Patient type: inpatient vs ED vs ICU
Visualization
- Gauge: overall completion rate vs 90% target
- Bar chart: completion rate by department
- Line chart: monthly trend
Alert Thresholds
- Warning: Completion rate < 85% overall or any critical unit (ICU/ED) < 80%
- Critical: Completion rate < 75% overall
- Notifications:
- Warning: Department Heads, Patient Safety Officer
- Critical: CMO, Quality & Risk Management, Portal Administrator
KPI-PHYSICIANPORTAL-007: Task Completion Rate
Definition
Percentage of clinical tasks assigned to providers that are completed on or before their due date. Reflects effectiveness of the portal’s task management in supporting timely care.
Calculation Formula
Assumptions:
clinical_task_items.status = 'completed'indicates completion.- On-time completion:
completed_datetime <= due_datetime.
SELECT
COUNT(CASE
WHEN cti.status = 'completed'
AND cti.completed_datetime IS NOT NULL
AND cti.due_datetime IS NOT NULL
AND cti.completed_datetime <= cti.due_datetime
THEN 1 END) * 100.0
/ NULLIF(COUNT(*), 0) AS task_completion_rate_pct
FROM clinical_task_items cti
WHERE cti.created_datetime >= :start_date
AND cti.created_datetime < :end_date;
Target / Benchmark
| Metric | Target | Source / Rationale |
|---|---|---|
| Task Completion Rate | ≥ 85% | Internal operational target for timely tasks |
Data Source
clinical_task_items.task_item_id,list_id,patient_id,task_description,task_type,priority,due_datetime,status,completed_datetime,delegated_to,source_module,source_id,created_datetimeclinical_task_lists.list_id,provider_id,list_type
Dimensions / Filters
- Time: weekly, monthly
- Facility, department
- Provider
- Task type: result review, message response, follow-up, unsigned orders
- Priority: routine vs urgent
Visualization
- Bar chart: completion rate by department/provider
- Line chart: overall completion rate trend
- Table: top overdue task categories
Alert Thresholds
- Warning: Completion rate < 80% overall or < 75% for high-priority tasks
- Critical: Completion rate < 70% overall or < 60% for high-priority tasks
- Notifications:
- Warning: Department Heads, Portal Administrator
- Critical: CMO, Quality & Patient Safety, Clinical Informatics
KPI-PHYSICIANPORTAL-008: Mobile Documentation Rate
Definition
Percentage of clinical notes created via the physician portal/mobile app compared to all clinical notes. Indicates adoption of mobile documentation during rounds, on-call, and telehealth.
Calculation Formula
Assumptions:
clinical_notes.source = 'physician_portal'for notes created via this module.- Denominator: all clinical notes in the period.
SELECT
COUNT(CASE
WHEN cn.source = 'physician_portal'
THEN 1 END) * 100.0
/ NULLIF(COUNT(*), 0) AS mobile_documentation_rate_pct
FROM clinical_notes cn
WHERE cn.note_datetime >= :start_date
AND cn.note_datetime < :end_date;
Target / Benchmark
| Metric | Target | Source / Rationale |
|---|---|---|
| Mobile Documentation Rate | ≥ 10% | Internal target; early-stage mobile adoption |
Data Source
clinical_notes.note_id,patient_id,encounter_id,provider_id,note_type,note_datetime,source,facility_id,department_id
Dimensions / Filters
- Time: monthly
- Facility, department
- Provider
- Note type: progress, consult, telehealth, procedure
Visualization
- Stacked bar: notes by source (desktop vs mobile)
- Line chart: mobile documentation rate trend
- Bar chart: mobile documentation rate by department
Alert Thresholds
- Warning: Mobile documentation rate < 8% or flat for 3 months
- Critical: < 5% after 6 months of go-live
- Notifications:
- Warning: Portal Administrator, Clinical Informatics
- Critical: CMO, Department Heads, CIO/IT Director
KPI-PHYSICIANPORTAL-009: Average Session Duration
Definition
Average length of physician portal sessions (login to logout). For mobile workflows, excessively long sessions may indicate usability issues; very short sessions may indicate quick, efficient task completion or frequent disconnects.
Calculation Formula
Assumptions:
- Session duration in minutes:
DATEDIFF(MINUTE, login_datetime, COALESCE(logout_datetime, last_activity_datetime)). - Exclude sessions longer than a threshold (e.g., > 8 hours) as likely background/forgotten sessions.
SELECT
AVG(DATEDIFF(MINUTE, s.login_datetime,
COALESCE(s.logout_datetime, s.last_activity_datetime))) AS avg_session_duration_minutes
FROM physician_portal_sessions s
WHERE s.login_datetime >= :start_date
AND s.login_datetime < :end_date
AND DATEDIFF(HOUR, s.login_datetime,
COALESCE(s.logout_datetime, s.last_activity_datetime)) BETWEEN 1 AND 8;
(If last_activity_datetime is not available, use logout_datetime only.)
Target / Benchmark
| Metric | Target / Interpretation |
|---|---|
| Average Session Duration | Monitored; shorter mobile sessions (5–15 min) are typical |
Data Source
physician_portal_sessions.session_id,account_id,login_datetime,logout_datetime,device_type,device_os,app_version,ip_address,auth_method,last_activity_datetime(if implemented)
Dimensions / Filters
- Time: daily, weekly, monthly
- Device type: mobile vs web
- Facility, department (via provider mapping)
- Provider
Visualization
- Line chart: average session duration over time by device type
- Box plot: distribution of session durations
- Table: outlier sessions (very long or very short)
Alert Thresholds
- Warning: Sudden increase (> 30%) in average mobile session duration over 1 month (possible usability/performance issues)
- Critical: Sustained increase (> 50%) over 2 months or spike in sessions > 2 hours
- Notifications:
- Warning: Portal Administrator, IT Operations
- Critical: CIO/IT Director, Vendor Support, Portal Administrator
Standard Reports
| Report ID | Report Name | Purpose | Audience | Frequency | Format |
|---|---|---|---|---|---|
| RPT-PHY-001 | Physician Portal Adoption Dashboard | Monitor overall portal account activation and usage across facilities and departments | CMO, Department Heads, Portal Administrator | Monthly (real-time view) | Interactive HTML dashboard, PDF snapshot |
| RPT-PHY-002 | Mobile Usage & Session Analytics | Analyze mobile MAU, session duration, device mix, and app version adoption | CIO/IT, Clinical Informatics, Portal Admin | Weekly / Monthly | Interactive dashboard + CSV export |
| RPT-PHY-003 | Critical Result Acknowledgment via Portal | Track how critical results are acknowledged and via which channel | Quality & Patient Safety, DOH/DHA reporting team | Monthly | PDF, Excel |
| RPT-PHY-004 | Secure Messaging & Response Time | Monitor patient and provider messaging volumes and response times | Department Heads, Patient Experience, CMO | Weekly / Monthly | Dashboard + Excel |
| RPT-PHY-005 | Clinical Task Management Performance | Evaluate task completion rates, overdue tasks, and delegation patterns | Department Heads, Nursing Leadership, CMO | Weekly | Dashboard + CSV |
| RPT-PHY-006 | Handoff Compliance (I-PASS) | Monitor electronic handoff usage and completion rates | Patient Safety, Quality, CMO | Monthly | PDF, Excel |
| RPT-PHY-007 | Mobile Order Entry & Documentation | Track orders and notes created via mobile vs desktop | Clinical Informatics, CMO, Department Heads | Monthly | Dashboard + PDF |
| RPT-PHY-008 | Provider-Level Portal Utilization Profile | Detailed usage metrics per provider (logins, sessions, tasks, messages, handoffs) | Department Heads, Medical Staff Office | Quarterly | Excel, PDF |
| RPT-PHY-009 | PDPL Access & Activity Audit (Portal) | Provide audit trail of portal access and actions for UAE PDPL compliance | DPO, Compliance Officer, IT Security | On-demand / Monthly | PDF (signed), CSV |
| RPT-PHY-010 | NABIDH/Malaffi Integration Usage Summary | Summarize how often portal users access external HIE data via the portal | HIE Program Lead, CIO, Compliance | Quarterly | PDF, Excel |
Dashboard Wireframe
Below is an HTML wireframe mockup for the Physician Portal Management Dashboard, focusing on KPIs and filters.
Show HTML code
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Physician Portal Management Dashboard</title>
</head>
<body style="font-family: Arial, sans-serif; background-color:#f5f5f5; margin:0; padding:0;">
<header style="background-color:#004f7c; color:#fff; padding:16px 24px;">
<h1 style="margin:0; font-size:20px;">Physician Portal & Mobile App Dashboard</h1>
<div style="font-size:12px; margin-top:4px;">Gates Group — UAE Facilities</div>
</header>
<section style="padding:12px 24px; background-color:#ffffff; border-bottom:1px solid #ddd;">
<form style="display:flex; flex-wrap:wrap; gap:12px; align-items:flex-end;">
<div>
<label style="font-size:12px; display:block; margin-bottom:4px;">Date Range</label>
<select style="padding:4px 8px; font-size:12px;">
<option>Last 7 days</option>
<option selected>Last 30 days</option>
<option>Last 90 days</option>
<option>Custom...</option>
</select>
</div>
<div>
<label style="font-size:12px; display:block; margin-bottom:4px;">Facility</label>
<select style="padding:4px 8px; font-size:12px;">
<option>All Facilities</option>
<option>Dubai General Hospital</option>
<option>Abu Dhabi Medical Center</option>
</select>
</div>
<div>
<label style="font-size:12px; display:block; margin-bottom:4px;">Department</label>
<select style="padding:4px 8px; font-size:12px;">
<option>All Departments</option>
<option>Internal Medicine</option>
<option>Surgery</option>
<option>Pediatrics</option>
<option>Emergency</option>
</select>
</div>
<div>
<label style="font-size:12px; display:block; margin-bottom:4px;">Device Type</label>
<select style="padding:4px 8px; font-size:12px;">
<option>All</option>
<option>Mobile (iOS/Android)</option>
<option>Web</option>
</select>
</div>
<div>
<button type="button" style="padding:6px 12px; font-size:12px; background-color:#004f7c; color:#fff; border:none; border-radius:3px;">Apply</button>
</div>
</form>
</section>
<main style="padding:16px 24px;">
<!-- KPI Cards Row 1 -->
<section style="display:flex; flex-wrap:wrap; gap:12px; margin-bottom:16px;">
<div style="flex:1 1 180px; background-color:#ffffff; border-radius:4px; padding:12px; border-top:3px solid #2e7d32;">
<div style="font-size:11px; color:#666;">Portal Adoption Rate</div>
<div style="font-size:24px; font-weight:bold;">82%</div>
<div style="font-size:10px; color:#2e7d32;">Target ≥ 80%</div>
<div style="font-size:10px; color:#999; margin-top:4px;">▲ 3% vs last month</div>
</div>
<div style="flex:1 1 180px; background-color:#ffffff; border-radius:4px; padding:12px; border-top:3px solid #1976d2;">
<div style="font-size:11px; color:#666;">Mobile MAU (30 days)</div>
<div style="font-size:24px; font-weight:bold;">214</div>
<div style="font-size:10px; color:#1976d2;">All active providers: 320</div>
<div style="font-size:10px; color:#999; margin-top:4px;">▲ 12 vs last month</div>
</div>
<div style="flex:1 1 180px; background-color:#ffffff; border-radius:4px; padding:12px; border-top:3px solid #f9a825;">
<div style="font-size:11px; color:#666;">Critical Results Ack via Portal</div>
<div style="font-size:24px; font-weight:bold;">46%</div>
<div style="font-size:10px; color:#f9a825;">Target ≥ 40%</div>
<div style="font-size:10px; color:#999; margin-top:4px;">▲ 5% vs last month</div>
</div>
<div style="flex:1 1 180px; background-color:#ffffff; border-radius:4px; padding:12px; border-top:3px solid #c62828;">
<div style="font-size:11px; color:#666;">Avg Patient Msg Response Time</div>
<div style="font-size:24px; font-weight:bold;">18.4h</div>
<div style="font-size:10px; color:#c62828;">Target ≤ 24h</div>
<div style="font-size:10px; color:#999; margin-top:4px;">▼ 3.2h vs last month</div>
</div>
</section>
<!-- KPI Cards Row 2 -->
<section style="display:flex; flex-wrap:wrap; gap:12px; margin-bottom:16px;">
<div style="flex:1 1 180px; background-color:#ffffff; border-radius:4px; padding:12px; border-top:3px solid #7b1fa2;">
<div style="font-size:11px; color:#666;">Mobile Order Entry Rate</div>
<div style="font-size:24px; font-weight:bold;">17%</div>
<div style="font-size:10px; color:#7b1fa2;">Target ≥ 15%</div>
</div>
<div style="flex:1 1 180px; background-color:#ffffff; border-radius:4px; padding:12px; border-top:3px solid #00897b;">
<div style="font-size:11px; color:#666;">Handoff Completion Rate</div>
<div style="font-size:24px; font-weight:bold;">91%</div>
<div style="font-size:10px; color:#00897b;">Target ≥ 90%</div>
</div>
<div style="flex:1 1 180px; background-color:#ffffff; border-radius:4px; padding:12px; border-top:3px solid #5d4037;">
<div style="font-size:11px; color:#666;">Task Completion Rate</div>
<div style="font-size:24px; font-weight:bold;">87%</div>
<div style="font-size:10px; color:#5d4037;">Target ≥ 85%</div>
</div>
<div style="flex:1 1 180px; background-color:#ffffff; border-radius:4px; padding:12px; border-top:3px solid #455a64;">
<div style="font-size:11px; color:#666;">Mobile Documentation Rate</div>
<div style="font-size:24px; font-weight:bold;">12%</div>
<div style="font-size:10px; color:#455a64;">Target ≥ 10%</div>
</div>
</section>
<!-- Charts Row -->
<section style="display:flex; flex-wrap:wrap; gap:16px; margin-bottom:16px;">
<div style="flex:2 1 360px; background-color:#ffffff; border-radius:4px; padding:12px;">
<h2 style="font-size:13px; margin:0 0 8px;">Portal Adoption & Mobile Usage Trend</h2>
<div style="height:220px; border:1px dashed #ccc; font-size:11px; color:#777; display:flex; align-items:center; justify-content:center;">
Line chart placeholder: Adoption %, Mobile MAU by month
</div>
</div>
<div style="flex:1 1 260px; background-color:#ffffff; border-radius:4px; padding:12px;">
<h2 style="font-size:13px; margin:0 0 8px;">Critical Result Ack by Channel</h2>
<div style="height:220px; border:1px dashed #ccc; font-size:11px; color:#777; display:flex; align-items:center; justify-content:center;">
Stacked bar chart placeholder: Portal vs Desktop vs Phone
</div>
</div>
</section>
<!-- Bottom Row: Tables -->
<section style="display:flex; flex-wrap:wrap; gap:16px;">
<div style="flex:1 1 360px; background-color:#ffffff; border-radius:4px; padding:12px;">
<h2 style="font-size:13px; margin:0 0 8px;">Departments Below Target</h2>
<table style="width:100%; border-collapse:collapse; font-size:11px;">
<thead>
<tr>
<th style="border-bottom:1px solid #ddd; text-align:left; padding:4px;">Department</th>
<th style="border-bottom:1px solid #ddd; text-align:right; padding:4px;">Adoption</th>
<th style="border-bottom:1px solid #ddd; text-align:right; padding:4px;">Mobile Orders</th>
<th style="border-bottom:1px solid #ddd; text-align:right; padding:4px;">Msg Resp Time</th>
</tr>
</thead>
<tbody>
<tr>
<td style="border-bottom:1px solid #f0f0f0; padding:4px;">Surgery</td>
<td style="border-bottom:1px solid #f0f0f0; padding:4px; text-align:right;">68%</td>
<td style="border-bottom:1px solid #f0f0f0; padding:4px; text-align:right;">9%</td>
<td style="border-bottom:1px solid #f0f0f0; padding:4px; text-align:right;">27h</td>
</tr>
<tr>
<td style="border-bottom:1px solid #f0f0f0; padding:4px;">Pediatrics</td>
<td style="border-bottom:1px solid #f0f0f0; padding:4px; text-align:right;">72%</td>
<td style="border-bottom:1px solid #f0f0f0; padding:4px; text-align:right;">11%</td>
<td style="border-bottom:1px solid #f0f0f0; padding:4px; text-align:right;">25h</td>
</tr>
</tbody>
</table>
</div>
<div style="flex:1 1 260px; background-color:#ffffff; border-radius:4px; padding:12px;">
<h2 style="font-size:13px; margin:0 0 8px;">Alerts & Threshold Breaches</h2>
<ul style="font-size:11px; padding-left:16px; margin:0;">
<li style="margin-bottom:4px; color:#c62828;">Critical: ED patient message response time 31h (last 7 days)</li>
<li style="margin-bottom:4px; color:#f9a825;">Warning: Surgery mobile order entry rate 9% (target ≥ 15%)</li>
<li style="margin-bottom:4px; color:#f9a825;">Warning: Mobile MAU flat for 2 months in Abu Dhabi Medical Center</li>
</ul>
</div>
</section>
</main>
</body>
</html>
Regulatory Reports
All regulatory references are UAE-specific. The physician portal module primarily supports operational and compliance reporting by providing access logs, usage metrics, and evidence of timely review of clinical information.
1. MOH-Related Reports
While MOH (Ministry of Health and Prevention) does not currently mandate a specific “physician portal” report, the following data supports MOH expectations around clinical governance and telehealth:
- MOH-PP-001: Telehealth Consultation Activity via Portal
- Source: Telehealth workflows (e.g.,
encounterswithencounter_type = 'telehealth'initiated via physician portal),physician_portal_sessions. - Contents:
- Number of telehealth encounters by facility, specialty, and provider.
- Time from patient request to consultation.
- Documentation completeness (notes signed, orders placed).
-
Use: Supports MOH telemedicine licensing and service utilization reviews.
-
MOH-PP-002: Critical Result Review Timeliness (Supporting MOH Quality Indicators)
- Source:
physician_inbox_items,lab_results,radiology_reports. - Contents:
- Time from critical result availability to acknowledgment.
- Channel of acknowledgment (portal vs workstation).
- Use: Evidence for MOH quality and patient safety audits.
2. DOH (Abu Dhabi) / DHA (Dubai) Statistical Submissions
The portal module contributes to DOH/DHA reporting by providing:
- DOH-PP-001: Provider Digital Engagement Metrics (Abu Dhabi Facilities)
- For DOH-licensed facilities, aligned with Malaffi and ADHICS digital health maturity:
- Portal adoption rate by department.
- Mobile usage for result review and order entry.
- Handoff completion rates in critical units.
-
Data extracted from KPIs 001–008, filtered to Abu Dhabi facilities.
-
DHA-PP-001: Digital Interaction & Telehealth Utilization (Dubai Facilities)
- For DHA-licensed facilities and NABIDH integration:
- Volume of patient-provider messages handled via portal.
- Telehealth encounters initiated from portal.
- Result review and acknowledgment via portal for Dubai facilities.
These reports are typically aggregated and submitted as part of broader DOH/DHA digital health or quality reporting packages, not as standalone portal reports.
3. UAE PDPL (Federal Decree-Law No. 45/2021) Audit Reports
The physician portal is a major channel for accessing patient personal and health data; therefore, PDPL compliance requires robust audit and reporting:
- PDPL-PP-001: Access Log & Activity Audit
- Source:
physician_portal_sessions, application audit logs (viewed patient, opened note, downloaded document). - Contents:
- Who accessed which patient records, when, from which device/IP.
- Actions performed (view, edit, sign, message, handoff).
-
Use:
- Respond to data subject access requests (who accessed my data?).
- Support investigations of suspected unauthorized access.
-
PDPL-PP-002: Cross-Border Access & Remote Access Report
- If remote access from outside UAE is allowed:
- Sessions with non-UAE IP addresses.
- Associated providers and patients.
-
Use: Demonstrate compliance with PDPL cross-border transfer requirements and internal policies.
-
PDPL-PP-003: Access Control & Deactivation Compliance
- Metrics:
- Time from provider leaving facility to portal account deactivation.
- Number of active accounts with no login in last 6–12 months.
- Use: Show that access is limited to current staff and regularly reviewed.
4. NABIDH / Malaffi Compliance Metrics
The portal itself does not directly submit to NABIDH (Dubai) or Malaffi (Abu Dhabi), but it is a consumer of HIE data via the core EHR. Relevant reports:
- HIE-PP-001: HIE Data Access via Portal
- Source: Audit logs when portal users view data originating from NABIDH/Malaffi (e.g., external documents, summaries).
- Metrics:
- Number of HIE document views via portal.
- Providers and departments accessing HIE data.
-
Use: Demonstrate effective use of HIE data in clinical decision-making.
-
HIE-PP-002: HIE Consent & Access Respect
- Where consent flags are implemented:
- Attempts to access HIE data when consent is not present (blocked).
- Successful access where consent exists.
- Use: Evidence for NABIDH/Malaffi and PDPL compliance around consent-based access.
Ad-Hoc Reporting
Available Data Fields for Custom Queries
The physician portal module exposes the following key fields for ad-hoc analytics (in addition to shared entities referenced via foreign keys):
1. physician_portal_accounts
account_idprovider_id(FK →providers.provider_id)user_id(FK →users.user_id)activation_status(requested, pending_verification, activated, suspended, revoked)activation_datetimelast_loginmfa_method(sms, authenticator_app, biometric)device_tokens(for push notifications; typically not exposed in analytics)offline_access_enabled(boolean)is_active(boolean)created_by,created_datetime,updated_datetime
2. physician_portal_sessions
session_idaccount_id(FK →physician_portal_accounts.account_id)login_datetimelogout_datetimelast_activity_datetime(if implemented)device_type(ios, android, web)device_osapp_versionip_addressauth_method(password, biometric, SSO)facility_id(derived from provider mapping if needed)
3. physician_inbox_items
item_idprovider_id(FK →providers.provider_id)item_type(patient_message, provider_message, system_alert, result_notification, critical_result)source_module(lis, ris, patient_portal, scheduling, cpoe, system)source_id(FK to external table)patient_id(FK →patients.patient_id)subjectpriority(low, normal, high, critical)status(new, read, in_progress, completed, archived)received_datetimeread_datetimeactioned_datetimeaction_taken(acknowledged, replied, forwarded, dismissed)actioned_via(physician_portal, desktop_ehr, other)
4. physician_preferences
preference_idaccount_id- Notification flags:
notification_critical_resultsnotification_new_messagesnotification_schedule_changesnotification_abnormal_results- Display options:
display_themedefault_patient_listresult_sort_preferencecreated_datetime,updated_datetime
5. physician_favorites
favorite_idprovider_idfavorite_type(patient, order, order_set, note_template)item_id(FK to relevant table)item_namedisplay_ordercreated_datetimeis_active
6. clinical_task_lists
list_idprovider_idlist_namelist_type(personal, team, department)is_defaultcreated_datetime
7. clinical_task_items
task_item_idlist_id(FK →clinical_task_lists.list_id)patient_idtask_descriptiontask_type(result_review, message_response, follow_up, order_signoff, other)source_modulesource_idprioritydue_datetimestatus(new, in_progress, completed, cancelled, overdue)completed_datetimedelegated_to(provider_id or role)notescreated_datetime
8. handoff_communications
handoff_idpatient_idencounter_idoutgoing_provider_idincoming_provider_idillness_severity(stable, watcher, unstable)patient_summary(text)action_list(text)situation_awareness(text)contingency_plan(text)handoff_datetimeacknowledged_datetimestatus(draft, sent, acknowledged, cancelled)created_by,created_datetime
Export Formats
The reporting layer should support:
- CSV:
- For detailed data extracts and ad-hoc analysis in external tools.
- UTF-8 encoding to support Arabic names and text.
- Excel (XLSX):
- For management reports with filters, pivot tables, and charts.
- Used commonly by UAE hospital administrators.
- PDF:
- For official reports, sign-off, and archival (e.g., PDPL audit reports, quality committee packs).
- Interactive HTML / Dashboard:
- For real-time monitoring and drill-down (internal web-based analytics).
All exports must:
- Respect UAE PDPL:
- Role-based access to patient-identifiable data.
- Ability to generate de-identified/aggregated reports where needed.
- Log export events in an audit log (who exported what, when, and in which format).
Scheduled Report Delivery
The system should support scheduling of recurring reports with the following capabilities:
- Scheduling Options
- Frequencies: daily, weekly, monthly, quarterly.
- Execution time: configurable (e.g., 02:00 UAE time).
-
Time zone awareness (Gulf Standard Time, UTC+4).
-
Delivery Channels
- Secure email with link to report (no PHI in email body; access controlled via login).
- Internal notification in the physician portal admin interface.
-
Secure file drop (e.g., SFTP) for integration with enterprise data warehouse.
-
Access Control
- Only authorized roles (e.g., Portal Administrator, CMO, Department Head, DPO) can subscribe to or receive reports containing patient-level data.
-
Department-level reports restricted to that department’s leadership.
-
Monitoring & Audit
- Log of scheduled report runs (success/failure, duration).
- Audit of report access and downloads for PDPL compliance.
This specification provides developer-ready definitions for KPIs, reports, dashboard layout, and regulatory reporting expectations for the Physician Portal & Mobile App module in the UAE context.