import { api } from './request'; export interface FollowUpTask { id: string; patient_id?: string; patient_name?: string; follow_up_type: string; content_template?: string; assigned_to?: string; assigned_to_name?: string; status: string; planned_date: string; completed_at?: string; notes?: string; version: number; } export interface FollowUpRecord { id: string; task_id: string; executed_by?: string; executed_date: string; result?: string; patient_condition?: string; medical_advice?: string; next_follow_up_date?: string; created_at: string; } export async function listTasks(patientId?: string, status?: string) { return api.get<{ data: FollowUpTask[]; total: number }>('/health/follow-up-tasks', { page: 1, page_size: 50, ...(patientId && { patient_id: patientId }), ...(status && { status }), }); } export async function getTaskDetail(id: string) { return api.get(`/health/follow-up-tasks/${id}`); } export async function submitRecord(taskId: string, data: { result?: string; patient_condition?: string; medical_advice?: string; next_follow_up_date?: string; }) { return api.post(`/health/follow-up-tasks/${taskId}/records`, { task_id: taskId, ...data, executed_date: new Date().toISOString().slice(0, 10), }); } export async function listRecords(taskId?: string) { return api.get<{ data: FollowUpRecord[]; total: number }>('/health/follow-up-records', { page: 1, page_size: 50, ...(taskId && { task_id: taskId }), }); }