illness.api.ts 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. import type { PageQueryMethodArgs } from '#/request/schema';
  2. import { httpClient } from '#/request';
  3. import { pageQueryArgsTransform, paginateTransform } from '#/request/schema';
  4. import {
  5. mockListTherapyMethod,
  6. USE_TREATMENT_PLAN_MOCK,
  7. } from '../outcome/treatment-plan.mock';
  8. import {
  9. decodeDisease,
  10. decodeICD10,
  11. decodeSymptom,
  12. encodeIllnessQuery,
  13. } from './illness.schema';
  14. export type { IllnessVO } from './illness.schema';
  15. export function listICD10Method(...args: PageQueryMethodArgs) {
  16. const { params, data } = pageQueryArgsTransform(args, encodeIllnessQuery);
  17. return httpClient.Post(
  18. `/wis-pc/knowledge/pageDiagnoseDiseaseWestern`,
  19. { ...params, ...data },
  20. {
  21. params,
  22. transform: paginateTransform(decodeICD10),
  23. },
  24. );
  25. }
  26. export function listDiseaseMethod(...args: PageQueryMethodArgs) {
  27. const { params, data } = pageQueryArgsTransform(args, encodeIllnessQuery);
  28. return httpClient.Post(
  29. `/wis-pc/knowledge/pageDiagnoseDisease`,
  30. { ...params, ...data },
  31. {
  32. params,
  33. transform: paginateTransform(decodeDisease),
  34. },
  35. );
  36. }
  37. export function listSymptomMethod(...args: PageQueryMethodArgs) {
  38. const { params, data } = pageQueryArgsTransform(args, encodeIllnessQuery);
  39. return httpClient.Post(
  40. `/wis-pc/knowledge/pageDiagnoseSyndrome`,
  41. { ...params, ...data },
  42. {
  43. params,
  44. transform: paginateTransform(decodeSymptom),
  45. },
  46. );
  47. }
  48. export function listTherapyMethod(...args: PageQueryMethodArgs) {
  49. if (USE_TREATMENT_PLAN_MOCK) {
  50. return mockListTherapyMethod(...args) as any;
  51. }
  52. const { params, data } = pageQueryArgsTransform(args, encodeIllnessQuery);
  53. return httpClient.Post(
  54. `/wis-pc/knowledge/pageDiagnoseTherapy`,
  55. { ...params, ...data },
  56. {
  57. params,
  58. transform: paginateTransform(decodeSymptom),
  59. },
  60. );
  61. }