import type { PageQueryMethodArgs } from '#/request/schema'; import { httpClient } from '#/request'; import { pageQueryArgsTransform, paginateTransform } from '#/request/schema'; import { mockListTherapyMethod, USE_TREATMENT_PLAN_MOCK, } from '../outcome/treatment-plan.mock'; import { decodeDisease, decodeICD10, decodeSymptom, encodeIllnessQuery, } from './illness.schema'; export type { IllnessVO } from './illness.schema'; export function listICD10Method(...args: PageQueryMethodArgs) { const { params, data } = pageQueryArgsTransform(args, encodeIllnessQuery); return httpClient.Post( `/wis-pc/knowledge/pageDiagnoseDiseaseWestern`, { ...params, ...data }, { params, transform: paginateTransform(decodeICD10), }, ); } export function listDiseaseMethod(...args: PageQueryMethodArgs) { const { params, data } = pageQueryArgsTransform(args, encodeIllnessQuery); return httpClient.Post( `/wis-pc/knowledge/pageDiagnoseDisease`, { ...params, ...data }, { params, transform: paginateTransform(decodeDisease), }, ); } export function listSymptomMethod(...args: PageQueryMethodArgs) { const { params, data } = pageQueryArgsTransform(args, encodeIllnessQuery); return httpClient.Post( `/wis-pc/knowledge/pageDiagnoseSyndrome`, { ...params, ...data }, { params, transform: paginateTransform(decodeSymptom), }, ); } export function listTherapyMethod(...args: PageQueryMethodArgs) { if (USE_TREATMENT_PLAN_MOCK) { return mockListTherapyMethod(...args) as any; } const { params, data } = pageQueryArgsTransform(args, encodeIllnessQuery); return httpClient.Post( `/wis-pc/knowledge/pageDiagnoseTherapy`, { ...params, ...data }, { params, transform: paginateTransform(decodeSymptom), }, ); }