feat(health): Phase 1 业务改进 — 诊断编码/统计API/体征表合并/积分修复
1.1 Dashboard 统计: 新增 3 个统计端点 (patient/consultation/follow-up) 1.2 事件发布: follow_up.overdue + health_data.critical_alert 事件 1.3 体征表合并: vital_signs 添加 source 列, daily_monitoring 委托写入 1.4 实时预警: 创建体征时检测血压/心率/血糖异常并发布事件 1.5 诊断编码: 新建 diagnosis entity/service/handler + ICD-10 支持 1.6 积分过期: expire_points 定时任务 + 修复 r#type 列名问题 修复: points_transaction.r#type → transaction_type 列重命名 修复: consultation_message.sender_type → sender_role SQL 列名 前端: 3 个统计 API 从伪实现改为真实调用
This commit is contained in:
@@ -242,32 +242,29 @@ export const pointsApi = {
|
||||
return data.data;
|
||||
},
|
||||
|
||||
// --- Dashboard Statistics (hybrid: aggregate from list endpoints) ---
|
||||
// --- Dashboard Statistics ---
|
||||
|
||||
getPatientStats: async (): Promise<PatientStatistics> => {
|
||||
const { data } = await client.get<{
|
||||
success: boolean;
|
||||
data: PaginatedResponse<{ id: string }>;
|
||||
}>('/health/patients', { params: { page: 1, page_size: 1 } });
|
||||
const total = data.data?.total || 0;
|
||||
return { total_patients: total, new_this_month: 0, new_this_week: 0, active_this_month: 0 };
|
||||
data: PatientStatistics;
|
||||
}>('/health/admin/statistics/patients');
|
||||
return data.data;
|
||||
},
|
||||
|
||||
getConsultationStats: async (): Promise<ConsultationStatistics> => {
|
||||
const { data } = await client.get<{
|
||||
success: boolean;
|
||||
data: PaginatedResponse<{ id: string }>;
|
||||
}>('/health/consultation-sessions', { params: { page: 1, page_size: 1 } });
|
||||
const total = data.data?.total || 0;
|
||||
return { total_sessions: total, pending_reply: 0, avg_response_time_minutes: null, this_month: 0 };
|
||||
data: ConsultationStatistics;
|
||||
}>('/health/admin/statistics/consultations');
|
||||
return data.data;
|
||||
},
|
||||
|
||||
getFollowUpStats: async (): Promise<FollowUpStatistics> => {
|
||||
const { data } = await client.get<{
|
||||
success: boolean;
|
||||
data: PaginatedResponse<{ id: string }>;
|
||||
}>('/health/follow-up-tasks', { params: { page: 1, page_size: 1 } });
|
||||
const total = data.data?.total || 0;
|
||||
return { total_tasks: total, completed: 0, pending: 0, overdue: 0, completion_rate: 0 };
|
||||
data: FollowUpStatistics;
|
||||
}>('/health/admin/statistics/follow-ups');
|
||||
return data.data;
|
||||
},
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user