iappointmentmanager.dart 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. import 'package:fis_jsonrpc/rpc.dart';
  2. import 'package:flyinsonolite/consultation/records/models/appointmentinformation.dart';
  3. abstract class IAppointmentManager {
  4. ///分页查询会诊记录
  5. Future<PageResult<ConsultationPageDTO>> findConsultationsByPageAsync(
  6. ConsultationQueryTypeEnum consultationQueryType,
  7. int pageIndex,
  8. int pageSize, {
  9. String? keyword,
  10. DateTime? startDate,
  11. DateTime? endDate,
  12. QueryConsultationStatusEnum? consultationStatus,
  13. QueryEvaluateGradeEnum? evaluateGrade,
  14. String? language,
  15. List<String>? expertCodes,
  16. List<String>? applyOrganizationCodes,
  17. List<String>? expertOrganizationCodes,
  18. String? patientSex,
  19. String? patientDiseases,
  20. String? patientPrimaryDiagnosis,
  21. QueryPatientAgeLimitDTO? patientAgeLimit,
  22. });
  23. Future<ConsultationDetailDTO?> findConsultationDetailAsync(
  24. String consultationCode);
  25. ///获取随访信息
  26. Future<List<FollowUpVisitDTO>> getFollowUpVisitInfo(
  27. String currentConsultationCode);
  28. ///分页查询病人信息
  29. Future<PageResult<ClientPatientInfoBaseDTO>> findConsultationPatientAsync(
  30. String? keyword, int pageIndex, int pageSize);
  31. ///没有此病人时创建病人
  32. Future<ClientPatientInfoBaseDTO?> createPatientByUnregisteredAsync(
  33. String patientName);
  34. ///获取用户名下所有设备
  35. Future<PageCollection<DeviceInfoDTO>> getDeviceListByPersonRoleAsync();
  36. ///获取所有扫查医生
  37. Future<List<UserExtendDTO>> getScanDoctorsAsync();
  38. ///获取扫查部位
  39. Future<List<String>> getScanPositionsAsync();
  40. /// 获取会诊机构
  41. Future<List<OrganizationBaseDTO>> findParentOrganizationsAsync();
  42. ///获取会诊专家
  43. Future<PageResult<OrganizationExpertDTO>> findOrganizationExpertsAsync(
  44. String organizationCode);
  45. ///获取申请人列表
  46. Future<List<OrganizationExpertDTO>> findAssistantExpertsAsync();
  47. //创建会诊
  48. Future<String> applyConsultationAsync(
  49. String? patientCode,
  50. AppointmentInformation appointmentInformation,
  51. List<DataItemDTO>? patientDatas);
  52. //修改会诊
  53. Future<bool> updateConsultationAsync(
  54. String? consultationCode, AppointmentInformation appointmentInformation);
  55. //完善会诊, 急诊创建的会诊单需要完善,其他不需要
  56. Future<bool> improveConsultationInfoAsync(
  57. String? patientCode,
  58. String? consultationCode,
  59. AppointmentInformation appointmentInformation,
  60. List<DataItemDTO>? patientDatas);
  61. //撤回会诊
  62. Future<bool> withdrawConsultationAsync(String? consultationCode);
  63. //拒绝会诊
  64. Future<bool> refuseConsultationAsync(
  65. String? consultationCode, String? reason);
  66. ///接受/拒绝加入会诊
  67. Future<bool> acceptInvitationAsync(
  68. String? consultationCode, bool isAgree, String? reason);
  69. ///获取用户信息,用于获取助理医师信息
  70. Future<UserInfoByCodeDTO> getUserByCodeAsync(String? userCode);
  71. ///审批同意会诊申请
  72. Future<bool> approveConsultationAsync(
  73. ApproveConsultationInfo approveConsultationInfo);
  74. //会诊中添加时排除已存在的用户
  75. Future<List<UserExtendDTO>> getInviteableUserListAsyn(
  76. String consultationCode, String organizationCode);
  77. //获取会诊图像
  78. Future<List<ConsultationImagesDTO>> getConsultationImagesAsync(
  79. String consultationCode);
  80. ///获取病人数据
  81. List<DataItemDTO> getPatientDatas(Map<String, String> patient);
  82. }