import axiosClient from "."; export interface PatientItem { id: string; patientCode: string; identificationNumber: string; fullName: string; dateOfBirth: string; gender: string; phone: string; email: string; address: string; emergencyContactName?: string; emergencyContactPhone?: string; allergyNotes?: string; chronicDiseaseNotes?: string; insuranceNumber?: string; notes?: string; isActive: boolean; } export interface PatientDetail { id: string; patientCode: string; identificationNumber: string; fullName: string; dateOfBirth: string; gender: string; phone: string; email: string; address: string; emergencyContactName: string | null; emergencyContactPhone: string | null; allergyNotes: string | null; chronicDiseaseNotes: string | null; insuranceNumber: string | null; notes: string | null; isActive: boolean; } export interface GetPatientParams { Page?: number; PageSize?: number; Search?: string; IdentificationNumber?: string; SortBy?: string; Desc?: boolean; } export interface PatientResponse { items: PatientItem[]; page: number; pageSize: number; total: number; totalPages: number; } const patientServices = { getPatient: (params?: GetPatientParams, tokenAxios?: any) => { return axiosClient.get(`/Patient/list`, { params, cancelToken: tokenAxios, }); }, createPatient: ( data: { identificationNumber: string; fullName: string; dateOfBirth: string; gender: string; phone: string; email: string; address: string; }, tokenAxios?: any, ) => { return axiosClient.post(`/Patient`, data, { cancelToken: tokenAxios, }); }, putPatient: ( id: string, data: { fullName: string; gender: string; phone: string; email: string; address: string; emergencyContactName: string; emergencyContactPhone: string; allergyNotes: string; chronicDiseaseNotes: string; insuranceNumber: string; notes: string; }, tokenAxios?: any, ) => { return axiosClient.put(`/Patient/${id}`, data, { cancelToken: tokenAxios, }); }, detailPatient: (id: string, tokenAxios?: any) => { return axiosClient.get(`/Patient/${id}`, { cancelToken: tokenAxios, }); }, deletePatient: (id: string, tokenAxios?: any) => { return axiosClient.delete(`/Patient/${id}`, { cancelToken: tokenAxios, }); }, }; export default patientServices;