import 'package:fis_jsonrpc/rpc.dart'; import 'package:fis_common/event/event_type.dart'; import 'package:vitalapp/managers/simple_Info.dart'; import 'package:vitalapp/pages/patient/create/widgets/patient_info.dart'; import 'models/process_arg.dart'; abstract class IRemedicalManager { final processChange = FEventHandler(); ///查找病人列表 Future> findPatients({ int pageIndex = 1, int pageSize = 20, String keyWord = '', DateTime? startDateTime, DateTime? endDateTime, PatientValidStatusEnum isValid = PatientValidStatusEnum.All, }); ///实体转换为可提交至接口的病人信息 List? convertPatientInfoToPatientDatas(PatientInfo? patientInfo); /// 根据后端接口的key值取到对应的value /// /// [patientData] 后端数据 /// /// [keys] 对应的Key值 String getKeyValue( List patientData, List keys, ); ///创建病人 Future createPatientByUnregisteredAsync(String patientName, {String? code}); ///查找病人列表 Future> findSimpleInfoPatients({ int pageIndex = 1, int pageSize = 20, String keyWord = '', DateTime? startDateTime, DateTime? endDateTime, PatientValidStatusEnum isValid = PatientValidStatusEnum.All, bool isCounsultationPatient = false, }); ///查找病人详情 Future findPatientByCode( String patientCode, ); ///未登记关联创建病人(返回病人code) Future createUnregisteredPatient(String patientName, {String? code}); /// 获取检查部位 //Future> findScanPositions(); ///查找测量图像 Future> findRemedicalMeasuredInfoAsync( String recordCode, {BusinessTypeEnum businessType = BusinessTypeEnum.RemoteDiagnosis}); ///查找AI图像 Future> findAIImages( String recordCode, String patientId); ///打开图像测量页面 void openImageMeasurePage( String imageUrl, int imageindex, String remedicalCode, String recordCode, String? remedicalAISelectedInfoCode, String patientCode, ); ///查找检查报告 Future> findExamReports(String recordCode); Future queryRecordInfoAsync(String recordCode); ///检查是否有颈动脉图像 bool checkCarotidList( RemedicalItemList remedicalItem, CarotidScanTypeEnum scanTypeEnum); ///查找检查记录页面 Future> findRecordPages({ List? organizationCodes, List? deviceCodes, RecordQueryStateEnum recordQueryState = RecordQueryStateEnum.All, RecordProcessStateEnum recordProcessState = RecordProcessStateEnum.All, String? keyWord, DateTime? startTime, DateTime? endTime, String patientCode, int pageIndex = 1, int pageSize = 20, }); Future findRemedicalByCode(String remedicalCode); }