import 'notification.m.dart'; import 'package:fis_jsonrpc/utils.dart'; import 'package:fis_common/json_convert.dart'; class OrganizationBaseDTO extends BaseDTO{ String? organizationCode; String? organizationName; String? shortCode; OrganizationBaseDTO({ this.organizationCode, this.organizationName, this.shortCode, DateTime? createTime, DateTime? updateTime, }) : super( createTime: createTime, updateTime: updateTime, ); factory OrganizationBaseDTO.fromJson(Map map) { return OrganizationBaseDTO( organizationCode: map['OrganizationCode'], organizationName: map['OrganizationName'], shortCode: map['ShortCode'], createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null, updateTime: map['UpdateTime'] != null ? DateTime.parse(map['UpdateTime']) : null, ); } Map toJson() { final map = super.toJson(); if (organizationCode != null) map['OrganizationCode'] = organizationCode; if (organizationName != null) map['OrganizationName'] = organizationName; if (shortCode != null) map['ShortCode'] = shortCode; return map; } } class BaseRequest { BaseRequest(); factory BaseRequest.fromJson(Map map) { return BaseRequest( ); } Map toJson() { final map = Map(); return map; } } class TokenRequest extends BaseRequest{ String? token; TokenRequest({ this.token, }) : super( ); factory TokenRequest.fromJson(Map map) { return TokenRequest( token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (token != null) map['Token'] = token; return map; } } class FindHigherOrganizationsRequest extends TokenRequest{ String? organizationName; FindHigherOrganizationsRequest({ this.organizationName, String? token, }) : super( token: token, ); factory FindHigherOrganizationsRequest.fromJson(Map map) { return FindHigherOrganizationsRequest( organizationName: map['OrganizationName'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (organizationName != null) map['OrganizationName'] = organizationName; return map; } } class FindGrassRootsOrganizationsRequest extends TokenRequest{ String? organizationName; FindGrassRootsOrganizationsRequest({ this.organizationName, String? token, }) : super( token: token, ); factory FindGrassRootsOrganizationsRequest.fromJson(Map map) { return FindGrassRootsOrganizationsRequest( organizationName: map['OrganizationName'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (organizationName != null) map['OrganizationName'] = organizationName; return map; } } class UserBaseDTO extends BaseDTO{ String? phone; String? email; String? userCode; String? userName; String? fullName; String? headImageUrl; String? displayName; UserBaseDTO({ this.phone, this.email, this.userCode, this.userName, this.fullName, this.headImageUrl, this.displayName, DateTime? createTime, DateTime? updateTime, }) : super( createTime: createTime, updateTime: updateTime, ); factory UserBaseDTO.fromJson(Map map) { return UserBaseDTO( phone: map['Phone'], email: map['Email'], userCode: map['UserCode'], userName: map['UserName'], fullName: map['FullName'], headImageUrl: map['HeadImageUrl'], displayName: map['DisplayName'], createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null, updateTime: map['UpdateTime'] != null ? DateTime.parse(map['UpdateTime']) : null, ); } Map toJson() { final map = super.toJson(); if (phone != null) map['Phone'] = phone; if (email != null) map['Email'] = email; if (userCode != null) map['UserCode'] = userCode; if (userName != null) map['UserName'] = userName; if (fullName != null) map['FullName'] = fullName; if (headImageUrl != null) map['HeadImageUrl'] = headImageUrl; if (displayName != null) map['DisplayName'] = displayName; return map; } } class OrganizationExpertDTO extends UserBaseDTO{ List? fieldList; UserStatusEnum userStatus; OrganizationExpertDTO({ this.fieldList, this.userStatus = UserStatusEnum.NotOnline, String? phone, String? email, String? userCode, String? userName, String? fullName, String? headImageUrl, String? displayName, DateTime? createTime, DateTime? updateTime, }) : super( phone: phone, email: email, userCode: userCode, userName: userName, fullName: fullName, headImageUrl: headImageUrl, displayName: displayName, createTime: createTime, updateTime: updateTime, ); factory OrganizationExpertDTO.fromJson(Map map) { return OrganizationExpertDTO( fieldList: map['FieldList']?.cast().toList(), userStatus: UserStatusEnum.values.firstWhere((e) => e.index == map['UserStatus']), phone: map['Phone'], email: map['Email'], userCode: map['UserCode'], userName: map['UserName'], fullName: map['FullName'], headImageUrl: map['HeadImageUrl'], displayName: map['DisplayName'], createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null, updateTime: map['UpdateTime'] != null ? DateTime.parse(map['UpdateTime']) : null, ); } Map toJson() { final map = super.toJson(); if (fieldList != null) map['FieldList'] = fieldList; map['UserStatus'] = userStatus.index; return map; } } class PageResult { int pageIndex; int pageSize; int totalCount; List? pageData; PageResult({ this.pageIndex = 0, this.pageSize = 0, this.totalCount = 0, this.pageData, }); factory PageResult.fromJson(Map map) { List pageDataList = []; if (map['PageData'] != null) { pageDataList.addAll( (map['PageData'] as List).map((e) => FJsonConvert.fromJson(e)!)); } return PageResult( pageIndex: map['PageIndex'], pageSize: map['PageSize'], totalCount: map['TotalCount'], pageData: pageDataList, ); } Map toJson() { final map = Map(); map['PageIndex'] = pageIndex; map['PageSize'] = pageSize; map['TotalCount'] = totalCount; if (pageData != null) { map['PageData'] = pageData; } return map; } } class PageRequest extends TokenRequest{ int pageIndex; int pageSize; PageRequest({ this.pageIndex = 0, this.pageSize = 0, String? token, }) : super( token: token, ); factory PageRequest.fromJson(Map map) { return PageRequest( pageIndex: map['PageIndex'], pageSize: map['PageSize'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); map['PageIndex'] = pageIndex; map['PageSize'] = pageSize; return map; } } class FindOrganizationExpertsRequest extends PageRequest{ String? organizationCode; String? keyword; FindOrganizationExpertsRequest({ this.organizationCode, this.keyword, int pageIndex = 0, int pageSize = 0, String? token, }) : super( pageIndex: pageIndex, pageSize: pageSize, token: token, ); factory FindOrganizationExpertsRequest.fromJson(Map map) { return FindOrganizationExpertsRequest( organizationCode: map['OrganizationCode'], keyword: map['Keyword'], pageIndex: map['PageIndex'], pageSize: map['PageSize'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (organizationCode != null) map['OrganizationCode'] = organizationCode; if (keyword != null) map['Keyword'] = keyword; return map; } } class DataItemDTO { String? key; String? value; DataItemDTO({ this.key, this.value, }); factory DataItemDTO.fromJson(Map map) { return DataItemDTO( key: map['Key'], value: map['Value'], ); } Map toJson() { final map = Map(); if (key != null) { map['Key'] = key; } if (value != null) { map['Value'] = value; } return map; } } class ApplyConsultationRequest extends TokenRequest{ String? expertUserCode; String? deviceCode; List? scanPositions; DateTime? consultationTime; List? patientDatas; String? patientCode; String? diseases; String? scanUserCode; String? expertOrganizationCode; String? applyUserCode; String? primaryDiagnosis; ApplyConsultationRequest({ this.expertUserCode, this.deviceCode, this.scanPositions, this.consultationTime, this.patientDatas, this.patientCode, this.diseases, this.scanUserCode, this.expertOrganizationCode, this.applyUserCode, this.primaryDiagnosis, String? token, }) : super( token: token, ); factory ApplyConsultationRequest.fromJson(Map map) { return ApplyConsultationRequest( expertUserCode: map['ExpertUserCode'], deviceCode: map['DeviceCode'], scanPositions: map['ScanPositions']?.cast().toList(), consultationTime: map['ConsultationTime'] != null ? DateTime.parse(map['ConsultationTime']) : null, patientDatas: map['PatientDatas'] != null ? (map['PatientDatas'] as List).map((e)=>DataItemDTO.fromJson(e as Map)).toList() : null, patientCode: map['PatientCode'], diseases: map['Diseases'], scanUserCode: map['ScanUserCode'], expertOrganizationCode: map['ExpertOrganizationCode'], applyUserCode: map['ApplyUserCode'], primaryDiagnosis: map['PrimaryDiagnosis'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (expertUserCode != null) map['ExpertUserCode'] = expertUserCode; if (deviceCode != null) map['DeviceCode'] = deviceCode; if (scanPositions != null) map['ScanPositions'] = scanPositions; if (consultationTime != null) map['ConsultationTime'] = JsonRpcUtils.dateFormat(consultationTime!); if (patientDatas != null) map['PatientDatas'] = patientDatas; if (patientCode != null) map['PatientCode'] = patientCode; if (diseases != null) map['Diseases'] = diseases; if (scanUserCode != null) map['ScanUserCode'] = scanUserCode; if (expertOrganizationCode != null) map['ExpertOrganizationCode'] = expertOrganizationCode; if (applyUserCode != null) map['ApplyUserCode'] = applyUserCode; if (primaryDiagnosis != null) map['PrimaryDiagnosis'] = primaryDiagnosis; return map; } } class UpdateConsultationRequest extends TokenRequest{ String? consultationCode; String? expertUserCode; String? deviceCode; List? scanPositions; DateTime? consultationTime; String? diseases; String? scanUserCode; String? expertOrganizationCode; String? applyUserCode; String? primaryDiagnosis; UpdateConsultationRequest({ this.consultationCode, this.expertUserCode, this.deviceCode, this.scanPositions, this.consultationTime, this.diseases, this.scanUserCode, this.expertOrganizationCode, this.applyUserCode, this.primaryDiagnosis, String? token, }) : super( token: token, ); factory UpdateConsultationRequest.fromJson(Map map) { return UpdateConsultationRequest( consultationCode: map['ConsultationCode'], expertUserCode: map['ExpertUserCode'], deviceCode: map['DeviceCode'], scanPositions: map['ScanPositions']?.cast().toList(), consultationTime: map['ConsultationTime'] != null ? DateTime.parse(map['ConsultationTime']) : null, diseases: map['Diseases'], scanUserCode: map['ScanUserCode'], expertOrganizationCode: map['ExpertOrganizationCode'], applyUserCode: map['ApplyUserCode'], primaryDiagnosis: map['PrimaryDiagnosis'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (consultationCode != null) map['ConsultationCode'] = consultationCode; if (expertUserCode != null) map['ExpertUserCode'] = expertUserCode; if (deviceCode != null) map['DeviceCode'] = deviceCode; if (scanPositions != null) map['ScanPositions'] = scanPositions; if (consultationTime != null) map['ConsultationTime'] = JsonRpcUtils.dateFormat(consultationTime!); if (diseases != null) map['Diseases'] = diseases; if (scanUserCode != null) map['ScanUserCode'] = scanUserCode; if (expertOrganizationCode != null) map['ExpertOrganizationCode'] = expertOrganizationCode; if (applyUserCode != null) map['ApplyUserCode'] = applyUserCode; if (primaryDiagnosis != null) map['PrimaryDiagnosis'] = primaryDiagnosis; return map; } } class ImproveConsultationInfoRequest extends TokenRequest{ String? consultationCode; String? patientCode; List? patientDatas; List? scanPositions; String? diseases; String? primaryDiagnosis; ImproveConsultationInfoRequest({ this.consultationCode, this.patientCode, this.patientDatas, this.scanPositions, this.diseases, this.primaryDiagnosis, String? token, }) : super( token: token, ); factory ImproveConsultationInfoRequest.fromJson(Map map) { return ImproveConsultationInfoRequest( consultationCode: map['ConsultationCode'], patientCode: map['PatientCode'], patientDatas: map['PatientDatas'] != null ? (map['PatientDatas'] as List).map((e)=>DataItemDTO.fromJson(e as Map)).toList() : null, scanPositions: map['ScanPositions']?.cast().toList(), diseases: map['Diseases'], primaryDiagnosis: map['PrimaryDiagnosis'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (consultationCode != null) map['ConsultationCode'] = consultationCode; if (patientCode != null) map['PatientCode'] = patientCode; if (patientDatas != null) map['PatientDatas'] = patientDatas; if (scanPositions != null) map['ScanPositions'] = scanPositions; if (diseases != null) map['Diseases'] = diseases; if (primaryDiagnosis != null) map['PrimaryDiagnosis'] = primaryDiagnosis; return map; } } class FindAssistantExpertsRequest extends TokenRequest{ String? expertName; FindAssistantExpertsRequest({ this.expertName, String? token, }) : super( token: token, ); factory FindAssistantExpertsRequest.fromJson(Map map) { return FindAssistantExpertsRequest( expertName: map['ExpertName'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (expertName != null) map['ExpertName'] = expertName; return map; } } enum EvaluateGradeEnum { UnSet, Dissatisfaction, General, Satisfaction, } enum QualityType { None, Qualified, InformationUnCompleted, ImageNotClear, PositiveSiteNotClear, } enum QualifiedState { UnSet, Qualified, UnQualified, } class ConsultationPageDTO { String? consultationCode; TransactionStatusEnum consultationStatus; String? patientName; String? phone; String? sex; String? patientAge; String? applyOrganizationName; DateTime? consultationTime; DateTime? consultationTimeEnd; String? expertUserName; EvaluateGradeEnum consultationEvaluate; bool isEmergency; String? emergencyCode; QualityType qualityType; QualifiedState qualifiedState; ConsultationPageDTO({ this.consultationCode, this.consultationStatus = TransactionStatusEnum.Applied, this.patientName, this.phone, this.sex, this.patientAge, this.applyOrganizationName, this.consultationTime, this.consultationTimeEnd, this.expertUserName, this.consultationEvaluate = EvaluateGradeEnum.UnSet, this.isEmergency = false, this.emergencyCode, this.qualityType = QualityType.None, this.qualifiedState = QualifiedState.UnSet, }); factory ConsultationPageDTO.fromJson(Map map) { return ConsultationPageDTO( consultationCode: map['ConsultationCode'], consultationStatus: TransactionStatusEnum.values.firstWhere((e) => e.index == map['ConsultationStatus']), patientName: map['PatientName'], phone: map['Phone'], sex: map['Sex'], patientAge: map['PatientAge'], applyOrganizationName: map['ApplyOrganizationName'], consultationTime: map['ConsultationTime'] != null ? DateTime.parse(map['ConsultationTime']) : null, consultationTimeEnd: map['ConsultationTimeEnd'] != null ? DateTime.parse(map['ConsultationTimeEnd']) : null, expertUserName: map['ExpertUserName'], consultationEvaluate: EvaluateGradeEnum.values.firstWhere((e) => e.index == map['ConsultationEvaluate']), isEmergency: map['IsEmergency'], emergencyCode: map['EmergencyCode'], qualityType: QualityType.values.firstWhere((e) => e.index == map['QualityType']), qualifiedState: QualifiedState.values.firstWhere((e) => e.index == map['QualifiedState']), ); } Map toJson() { final map = Map(); if (consultationCode != null) { map['ConsultationCode'] = consultationCode; } map['ConsultationStatus'] = consultationStatus.index; if (patientName != null) { map['PatientName'] = patientName; } if (phone != null) { map['Phone'] = phone; } if (sex != null) { map['Sex'] = sex; } if (patientAge != null) { map['PatientAge'] = patientAge; } if (applyOrganizationName != null) { map['ApplyOrganizationName'] = applyOrganizationName; } if (consultationTime != null) { map['ConsultationTime'] = JsonRpcUtils.dateFormat(consultationTime!); } if (consultationTimeEnd != null) { map['ConsultationTimeEnd'] = JsonRpcUtils.dateFormat(consultationTimeEnd!); } if (expertUserName != null) { map['ExpertUserName'] = expertUserName; } map['ConsultationEvaluate'] = consultationEvaluate.index; map['IsEmergency'] = isEmergency; if (emergencyCode != null) { map['EmergencyCode'] = emergencyCode; } map['QualityType'] = qualityType.index; map['QualifiedState'] = qualifiedState.index; return map; } } enum QueryConsultationStatusEnum { All, Applied, Withdrawn, Rejected, ToStart, InProgress, PendingReport, End, Expired, } enum ConsultationQueryTypeEnum { All, MyApply, MyArrange, MyJoin, } enum QueryEvaluateGradeEnum { All, UnSet, Dissatisfaction, General, Satisfaction, } enum QueryAgeUnitsEnum { Year, Month, Week, } class QueryPatientAgeLimitDTO { int minAge; int maxAge; QueryAgeUnitsEnum unit; QueryPatientAgeLimitDTO({ this.minAge = 0, this.maxAge = 0, this.unit = QueryAgeUnitsEnum.Year, }); factory QueryPatientAgeLimitDTO.fromJson(Map map) { return QueryPatientAgeLimitDTO( minAge: map['MinAge'], maxAge: map['MaxAge'], unit: QueryAgeUnitsEnum.values.firstWhere((e) => e.index == map['Unit']), ); } Map toJson() { final map = Map(); map['MinAge'] = minAge; map['MaxAge'] = maxAge; map['Unit'] = unit.index; return map; } } class FindConsultationByPageRequest extends PageRequest{ String? keyword; DateTime? startDate; DateTime? endDate; QueryConsultationStatusEnum consultationStatus; ConsultationQueryTypeEnum consultationQueryType; QueryEvaluateGradeEnum evaluateGrade; String? language; List? expertCodes; List? applyOrganizationCodes; List? expertOrganizationCodes; String? patientSex; QueryPatientAgeLimitDTO? patientAgeLimit; String? patientDiseases; String? patientPrimaryDiagnosis; FindConsultationByPageRequest({ this.keyword, this.startDate, this.endDate, this.consultationStatus = QueryConsultationStatusEnum.All, this.consultationQueryType = ConsultationQueryTypeEnum.All, this.evaluateGrade = QueryEvaluateGradeEnum.All, this.language, this.expertCodes, this.applyOrganizationCodes, this.expertOrganizationCodes, this.patientSex, this.patientAgeLimit, this.patientDiseases, this.patientPrimaryDiagnosis, int pageIndex = 0, int pageSize = 0, String? token, }) : super( pageIndex: pageIndex, pageSize: pageSize, token: token, ); factory FindConsultationByPageRequest.fromJson(Map map) { return FindConsultationByPageRequest( keyword: map['Keyword'], startDate: map['StartDate'] != null ? DateTime.parse(map['StartDate']) : null, endDate: map['EndDate'] != null ? DateTime.parse(map['EndDate']) : null, consultationStatus: QueryConsultationStatusEnum.values.firstWhere((e) => e.index == map['ConsultationStatus']), consultationQueryType: ConsultationQueryTypeEnum.values.firstWhere((e) => e.index == map['ConsultationQueryType']), evaluateGrade: QueryEvaluateGradeEnum.values.firstWhere((e) => e.index == map['EvaluateGrade']), language: map['Language'], expertCodes: map['ExpertCodes']?.cast().toList(), applyOrganizationCodes: map['ApplyOrganizationCodes']?.cast().toList(), expertOrganizationCodes: map['ExpertOrganizationCodes']?.cast().toList(), patientSex: map['PatientSex'], patientAgeLimit: map['PatientAgeLimit'] != null ? QueryPatientAgeLimitDTO.fromJson(map['PatientAgeLimit']) : null, patientDiseases: map['PatientDiseases'], patientPrimaryDiagnosis: map['PatientPrimaryDiagnosis'], pageIndex: map['PageIndex'], pageSize: map['PageSize'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (keyword != null) map['Keyword'] = keyword; if (startDate != null) map['StartDate'] = JsonRpcUtils.dateFormat(startDate!); if (endDate != null) map['EndDate'] = JsonRpcUtils.dateFormat(endDate!); map['ConsultationStatus'] = consultationStatus.index; map['ConsultationQueryType'] = consultationQueryType.index; map['EvaluateGrade'] = evaluateGrade.index; if (language != null) map['Language'] = language; if (expertCodes != null) map['ExpertCodes'] = expertCodes; if (applyOrganizationCodes != null) map['ApplyOrganizationCodes'] = applyOrganizationCodes; if (expertOrganizationCodes != null) map['ExpertOrganizationCodes'] = expertOrganizationCodes; if (patientSex != null) map['PatientSex'] = patientSex; if (patientAgeLimit != null) map['PatientAgeLimit'] = patientAgeLimit; if (patientDiseases != null) map['PatientDiseases'] = patientDiseases; if (patientPrimaryDiagnosis != null) map['PatientPrimaryDiagnosis'] = patientPrimaryDiagnosis; return map; } } class ConsultationItem { String? patientName; String? sex; String? age; String? applyOrganizationName; String? applyUserName; String? expertOrganizationName; String? expertUserName; DateTime? consultationTime; DateTime? consultationTimeEnd; String? diseases; String? primaryDiagnosis; TransactionStatusEnum consultationStatus; List? scanPositions; ConsultationItem({ this.patientName, this.sex, this.age, this.applyOrganizationName, this.applyUserName, this.expertOrganizationName, this.expertUserName, this.consultationTime, this.consultationTimeEnd, this.diseases, this.primaryDiagnosis, this.consultationStatus = TransactionStatusEnum.Applied, this.scanPositions, }); factory ConsultationItem.fromJson(Map map) { return ConsultationItem( patientName: map['PatientName'], sex: map['Sex'], age: map['Age'], applyOrganizationName: map['ApplyOrganizationName'], applyUserName: map['ApplyUserName'], expertOrganizationName: map['ExpertOrganizationName'], expertUserName: map['ExpertUserName'], consultationTime: map['ConsultationTime'] != null ? DateTime.parse(map['ConsultationTime']) : null, consultationTimeEnd: map['ConsultationTimeEnd'] != null ? DateTime.parse(map['ConsultationTimeEnd']) : null, diseases: map['Diseases'], primaryDiagnosis: map['PrimaryDiagnosis'], consultationStatus: TransactionStatusEnum.values.firstWhere((e) => e.index == map['ConsultationStatus']), scanPositions: map['ScanPositions']?.cast().toList(), ); } Map toJson() { final map = Map(); if (patientName != null) { map['PatientName'] = patientName; } if (sex != null) { map['Sex'] = sex; } if (age != null) { map['Age'] = age; } if (applyOrganizationName != null) { map['ApplyOrganizationName'] = applyOrganizationName; } if (applyUserName != null) { map['ApplyUserName'] = applyUserName; } if (expertOrganizationName != null) { map['ExpertOrganizationName'] = expertOrganizationName; } if (expertUserName != null) { map['ExpertUserName'] = expertUserName; } if (consultationTime != null) { map['ConsultationTime'] = JsonRpcUtils.dateFormat(consultationTime!); } if (consultationTimeEnd != null) { map['ConsultationTimeEnd'] = JsonRpcUtils.dateFormat(consultationTimeEnd!); } if (diseases != null) { map['Diseases'] = diseases; } if (primaryDiagnosis != null) { map['PrimaryDiagnosis'] = primaryDiagnosis; } map['ConsultationStatus'] = consultationStatus.index; if (scanPositions != null) { map['ScanPositions'] = scanPositions; } return map; } } class ConsultationExportData { String? patientName; String? patientCode; List? consultationItemList; ConsultationExportData({ this.patientName, this.patientCode, this.consultationItemList, }); factory ConsultationExportData.fromJson(Map map) { return ConsultationExportData( patientName: map['PatientName'], patientCode: map['PatientCode'], consultationItemList: map['ConsultationItemList'] != null ? (map['ConsultationItemList'] as List).map((e)=>ConsultationItem.fromJson(e as Map)).toList() : null, ); } Map toJson() { final map = Map(); if (patientName != null) { map['PatientName'] = patientName; } if (patientCode != null) { map['PatientCode'] = patientCode; } if (consultationItemList != null) { map['ConsultationItemList'] = consultationItemList; } return map; } } class ConsultationReportItem { String? consultationCode; String? fileToken; DateTime? submissionTime; ConsultationReportItem({ this.consultationCode, this.fileToken, this.submissionTime, }); factory ConsultationReportItem.fromJson(Map map) { return ConsultationReportItem( consultationCode: map['ConsultationCode'], fileToken: map['FileToken'], submissionTime: map['SubmissionTime'] != null ? DateTime.parse(map['SubmissionTime']) : null, ); } Map toJson() { final map = Map(); if (consultationCode != null) { map['ConsultationCode'] = consultationCode; } if (fileToken != null) { map['FileToken'] = fileToken; } if (submissionTime != null) { map['SubmissionTime'] = JsonRpcUtils.dateFormat(submissionTime!); } return map; } } class ConsultationReportData { String? patientName; String? patientCode; List? reportItemList; ConsultationReportData({ this.patientName, this.patientCode, this.reportItemList, }); factory ConsultationReportData.fromJson(Map map) { return ConsultationReportData( patientName: map['PatientName'], patientCode: map['PatientCode'], reportItemList: map['ReportItemList'] != null ? (map['ReportItemList'] as List).map((e)=>ConsultationReportItem.fromJson(e as Map)).toList() : null, ); } Map toJson() { final map = Map(); if (patientName != null) { map['PatientName'] = patientName; } if (patientCode != null) { map['PatientCode'] = patientCode; } if (reportItemList != null) { map['ReportItemList'] = reportItemList; } return map; } } enum RemedicalFileDataTypeEnum { VinnoVidSingle, ThirdVidSingle, VinnoVidMovie, ThirdVidMovie, Image, } enum ConsultationFileTypeEnum { Screenshot, UltrasoundImage, MeasurementImage, } class ConsultationFileItem { String? consultationCode; String? fileToken; RemedicalFileDataTypeEnum fileDataType; ConsultationFileTypeEnum consultationFileType; DateTime? submissionTime; ConsultationFileItem({ this.consultationCode, this.fileToken, this.fileDataType = RemedicalFileDataTypeEnum.VinnoVidSingle, this.consultationFileType = ConsultationFileTypeEnum.Screenshot, this.submissionTime, }); factory ConsultationFileItem.fromJson(Map map) { return ConsultationFileItem( consultationCode: map['ConsultationCode'], fileToken: map['FileToken'], fileDataType: RemedicalFileDataTypeEnum.values.firstWhere((e) => e.index == map['FileDataType']), consultationFileType: ConsultationFileTypeEnum.values.firstWhere((e) => e.index == map['ConsultationFileType']), submissionTime: map['SubmissionTime'] != null ? DateTime.parse(map['SubmissionTime']) : null, ); } Map toJson() { final map = Map(); if (consultationCode != null) { map['ConsultationCode'] = consultationCode; } if (fileToken != null) { map['FileToken'] = fileToken; } map['FileDataType'] = fileDataType.index; map['ConsultationFileType'] = consultationFileType.index; if (submissionTime != null) { map['SubmissionTime'] = JsonRpcUtils.dateFormat(submissionTime!); } return map; } } class ConsultationFileData { String? patientName; String? patientCode; List? consultationFileItemList; ConsultationFileData({ this.patientName, this.patientCode, this.consultationFileItemList, }); factory ConsultationFileData.fromJson(Map map) { return ConsultationFileData( patientName: map['PatientName'], patientCode: map['PatientCode'], consultationFileItemList: map['ConsultationFileItemList'] != null ? (map['ConsultationFileItemList'] as List).map((e)=>ConsultationFileItem.fromJson(e as Map)).toList() : null, ); } Map toJson() { final map = Map(); if (patientName != null) { map['PatientName'] = patientName; } if (patientCode != null) { map['PatientCode'] = patientCode; } if (consultationFileItemList != null) { map['ConsultationFileItemList'] = consultationFileItemList; } return map; } } class ExportConsultationDataResult { List? consultationList; List? reportList; List? consultationFileDatalList; ExportConsultationDataResult({ this.consultationList, this.reportList, this.consultationFileDatalList, }); factory ExportConsultationDataResult.fromJson(Map map) { return ExportConsultationDataResult( consultationList: map['ConsultationList'] != null ? (map['ConsultationList'] as List).map((e)=>ConsultationExportData.fromJson(e as Map)).toList() : null, reportList: map['ReportList'] != null ? (map['ReportList'] as List).map((e)=>ConsultationReportData.fromJson(e as Map)).toList() : null, consultationFileDatalList: map['ConsultationFileDatalList'] != null ? (map['ConsultationFileDatalList'] as List).map((e)=>ConsultationFileData.fromJson(e as Map)).toList() : null, ); } Map toJson() { final map = Map(); if (consultationList != null) { map['ConsultationList'] = consultationList; } if (reportList != null) { map['ReportList'] = reportList; } if (consultationFileDatalList != null) { map['ConsultationFileDatalList'] = consultationFileDatalList; } return map; } } class ExportConsultationsRequest extends TokenRequest{ bool isExportReport; bool isExportConsultation; bool isExportConsultationFileData; String? keyword; DateTime? startDate; DateTime? endDate; QueryConsultationStatusEnum consultationStatus; ConsultationQueryTypeEnum consultationQueryType; QueryEvaluateGradeEnum evaluateGrade; String? language; List? expertCodes; List? applyOrganizationCodes; List? expertOrganizationCodes; String? patientSex; QueryPatientAgeLimitDTO? patientAgeLimit; String? patientDiseases; String? patientPrimaryDiagnosis; ExportConsultationsRequest({ this.isExportReport = false, this.isExportConsultation = false, this.isExportConsultationFileData = false, this.keyword, this.startDate, this.endDate, this.consultationStatus = QueryConsultationStatusEnum.All, this.consultationQueryType = ConsultationQueryTypeEnum.All, this.evaluateGrade = QueryEvaluateGradeEnum.All, this.language, this.expertCodes, this.applyOrganizationCodes, this.expertOrganizationCodes, this.patientSex, this.patientAgeLimit, this.patientDiseases, this.patientPrimaryDiagnosis, String? token, }) : super( token: token, ); factory ExportConsultationsRequest.fromJson(Map map) { return ExportConsultationsRequest( isExportReport: map['IsExportReport'], isExportConsultation: map['IsExportConsultation'], isExportConsultationFileData: map['IsExportConsultationFileData'], keyword: map['Keyword'], startDate: map['StartDate'] != null ? DateTime.parse(map['StartDate']) : null, endDate: map['EndDate'] != null ? DateTime.parse(map['EndDate']) : null, consultationStatus: QueryConsultationStatusEnum.values.firstWhere((e) => e.index == map['ConsultationStatus']), consultationQueryType: ConsultationQueryTypeEnum.values.firstWhere((e) => e.index == map['ConsultationQueryType']), evaluateGrade: QueryEvaluateGradeEnum.values.firstWhere((e) => e.index == map['EvaluateGrade']), language: map['Language'], expertCodes: map['ExpertCodes']?.cast().toList(), applyOrganizationCodes: map['ApplyOrganizationCodes']?.cast().toList(), expertOrganizationCodes: map['ExpertOrganizationCodes']?.cast().toList(), patientSex: map['PatientSex'], patientAgeLimit: map['PatientAgeLimit'] != null ? QueryPatientAgeLimitDTO.fromJson(map['PatientAgeLimit']) : null, patientDiseases: map['PatientDiseases'], patientPrimaryDiagnosis: map['PatientPrimaryDiagnosis'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); map['IsExportReport'] = isExportReport; map['IsExportConsultation'] = isExportConsultation; map['IsExportConsultationFileData'] = isExportConsultationFileData; if (keyword != null) map['Keyword'] = keyword; if (startDate != null) map['StartDate'] = JsonRpcUtils.dateFormat(startDate!); if (endDate != null) map['EndDate'] = JsonRpcUtils.dateFormat(endDate!); map['ConsultationStatus'] = consultationStatus.index; map['ConsultationQueryType'] = consultationQueryType.index; map['EvaluateGrade'] = evaluateGrade.index; if (language != null) map['Language'] = language; if (expertCodes != null) map['ExpertCodes'] = expertCodes; if (applyOrganizationCodes != null) map['ApplyOrganizationCodes'] = applyOrganizationCodes; if (expertOrganizationCodes != null) map['ExpertOrganizationCodes'] = expertOrganizationCodes; if (patientSex != null) map['PatientSex'] = patientSex; if (patientAgeLimit != null) map['PatientAgeLimit'] = patientAgeLimit; if (patientDiseases != null) map['PatientDiseases'] = patientDiseases; if (patientPrimaryDiagnosis != null) map['PatientPrimaryDiagnosis'] = patientPrimaryDiagnosis; return map; } } enum OrganizationPatientTypeEnum { Person, Animals, } class ConsultationFileDTO { String? sourceUrl; String? previewImageUrl; String? coverImageUrl; DateTime? createTime; String? creatorCode; String? creatorName; RemedicalFileDataTypeEnum fileDataType; ConsultationFileTypeEnum consultationFileType; String? remedicalCode; String? remedicalMeasureCode; ConsultationFileDTO({ this.sourceUrl, this.previewImageUrl, this.coverImageUrl, this.createTime, this.creatorCode, this.creatorName, this.fileDataType = RemedicalFileDataTypeEnum.VinnoVidSingle, this.consultationFileType = ConsultationFileTypeEnum.Screenshot, this.remedicalCode, this.remedicalMeasureCode, }); factory ConsultationFileDTO.fromJson(Map map) { return ConsultationFileDTO( sourceUrl: map['SourceUrl'], previewImageUrl: map['PreviewImageUrl'], coverImageUrl: map['CoverImageUrl'], createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null, creatorCode: map['CreatorCode'], creatorName: map['CreatorName'], fileDataType: RemedicalFileDataTypeEnum.values.firstWhere((e) => e.index == map['FileDataType']), consultationFileType: ConsultationFileTypeEnum.values.firstWhere((e) => e.index == map['ConsultationFileType']), remedicalCode: map['RemedicalCode'], remedicalMeasureCode: map['RemedicalMeasureCode'], ); } Map toJson() { final map = Map(); if (sourceUrl != null) { map['SourceUrl'] = sourceUrl; } if (previewImageUrl != null) { map['PreviewImageUrl'] = previewImageUrl; } if (coverImageUrl != null) { map['CoverImageUrl'] = coverImageUrl; } if (createTime != null) { map['CreateTime'] = JsonRpcUtils.dateFormat(createTime!); } if (creatorCode != null) { map['CreatorCode'] = creatorCode; } if (creatorName != null) { map['CreatorName'] = creatorName; } map['FileDataType'] = fileDataType.index; map['ConsultationFileType'] = consultationFileType.index; if (remedicalCode != null) { map['RemedicalCode'] = remedicalCode; } if (remedicalMeasureCode != null) { map['RemedicalMeasureCode'] = remedicalMeasureCode; } return map; } } class ConsultationMemberDTO { String? memberCode; String? memberOrganizationCode; String? memberDepartmentCode; LiveConsultationMemberStatus memberStatus; DateTime? memberOperateTime; String? name; String? headImageToken; ConsultationMemberDTO({ this.memberCode, this.memberOrganizationCode, this.memberDepartmentCode, this.memberStatus = LiveConsultationMemberStatus.Default, this.memberOperateTime, this.name, this.headImageToken, }); factory ConsultationMemberDTO.fromJson(Map map) { return ConsultationMemberDTO( memberCode: map['MemberCode'], memberOrganizationCode: map['MemberOrganizationCode'], memberDepartmentCode: map['MemberDepartmentCode'], memberStatus: LiveConsultationMemberStatus.values.firstWhere((e) => e.index == map['MemberStatus']), memberOperateTime: map['MemberOperateTime'] != null ? DateTime.parse(map['MemberOperateTime']) : null, name: map['Name'], headImageToken: map['HeadImageToken'], ); } Map toJson() { final map = Map(); if (memberCode != null) { map['MemberCode'] = memberCode; } if (memberOrganizationCode != null) { map['MemberOrganizationCode'] = memberOrganizationCode; } if (memberDepartmentCode != null) { map['MemberDepartmentCode'] = memberDepartmentCode; } map['MemberStatus'] = memberStatus.index; if (memberOperateTime != null) { map['MemberOperateTime'] = JsonRpcUtils.dateFormat(memberOperateTime!); } if (name != null) { map['Name'] = name; } if (headImageToken != null) { map['HeadImageToken'] = headImageToken; } return map; } } enum ConsultationReminderTimeEnum { FifteenMinutes, ThirtyMinutes, SixtyMinutes, OneDay, } enum ConsultationReminderMode { Application, SMS, } class ConsultationReminderDTO { ConsultationReminderTimeEnum consultationReminderTime; ConsultationReminderMode consultationReminderMode; bool isExecuted; ConsultationReminderDTO({ this.consultationReminderTime = ConsultationReminderTimeEnum.FifteenMinutes, this.consultationReminderMode = ConsultationReminderMode.Application, this.isExecuted = false, }); factory ConsultationReminderDTO.fromJson(Map map) { return ConsultationReminderDTO( consultationReminderTime: ConsultationReminderTimeEnum.values.firstWhere((e) => e.index == map['ConsultationReminderTime']), consultationReminderMode: ConsultationReminderMode.values.firstWhere((e) => e.index == map['ConsultationReminderMode']), isExecuted: map['IsExecuted'], ); } Map toJson() { final map = Map(); map['ConsultationReminderTime'] = consultationReminderTime.index; map['ConsultationReminderMode'] = consultationReminderMode.index; map['IsExecuted'] = isExecuted; return map; } } enum ConsultationReportMode { ExpertReport, ApplicantReport, } enum EmergencyConsultationStatus { Default, Initiating, Cancelled, Accepted, Rejected, Failed, } class ConsultationDetailDTO { String? consultationCode; String? applyOrganizationCode; String? applyDepartmentCode; String? applyUserCode; String? expertOrganizationCode; String? expertDepartmentCode; String? expertUserCode; String? assistantUserCode; String? assistantUserName; String? deviceCode; String? operateUserCode; String? scanUserCode; String? patientCode; OrganizationPatientTypeEnum patientType; List? scanPositions; DateTime? createTime; DateTime? consultationTime; DateTime? consultationTimeEnd; TransactionStatusEnum consultationStatus; String? applyOrganizationName; String? applyUserName; String? operateUserName; String? scanUserName; String? expertOrganizationName; String? expertUserName; String? deviceName; String? displayName; String? patientName; String? sex; List? patientDatas; List? consultationFileList; String? rejectReason; String? location; List? consultationMembers; String? description; List? consultationReminders; String? approverCode; ConsultationReportMode reportMode; String? diseases; String? primaryDiagnosis; String? initiatorCode; bool isEmergency; String? emergencyCode; bool isUpdateConsultationShow; bool isRevokeShow; bool isApprovalShow; bool isAddInviterShow; bool isRejectShow; bool isAcceptInvitationShow; bool isRejectInvitationShow; bool isInitiateShow; bool isJoinInShow; bool isReportShow; bool isEvaluateShow; bool isFollowUpShow; bool isImproveShow; bool isEditReportShow; bool isDeleteShow; EmergencyConsultationStatus emergencyStatus; String? assistantDoctorUserCode; String? assistantDoctorUserName; bool isConsulted; QualityType qualityType; QualifiedState qualifiedState; ConsultationDetailDTO({ this.consultationCode, this.applyOrganizationCode, this.applyDepartmentCode, this.applyUserCode, this.expertOrganizationCode, this.expertDepartmentCode, this.expertUserCode, this.assistantUserCode, this.assistantUserName, this.deviceCode, this.operateUserCode, this.scanUserCode, this.patientCode, this.patientType = OrganizationPatientTypeEnum.Person, this.scanPositions, this.createTime, this.consultationTime, this.consultationTimeEnd, this.consultationStatus = TransactionStatusEnum.Applied, this.applyOrganizationName, this.applyUserName, this.operateUserName, this.scanUserName, this.expertOrganizationName, this.expertUserName, this.deviceName, this.displayName, this.patientName, this.sex, this.patientDatas, this.consultationFileList, this.rejectReason, this.location, this.consultationMembers, this.description, this.consultationReminders, this.approverCode, this.reportMode = ConsultationReportMode.ExpertReport, this.diseases, this.primaryDiagnosis, this.initiatorCode, this.isEmergency = false, this.emergencyCode, this.isUpdateConsultationShow = false, this.isRevokeShow = false, this.isApprovalShow = false, this.isAddInviterShow = false, this.isRejectShow = false, this.isAcceptInvitationShow = false, this.isRejectInvitationShow = false, this.isInitiateShow = false, this.isJoinInShow = false, this.isReportShow = false, this.isEvaluateShow = false, this.isFollowUpShow = false, this.isImproveShow = false, this.isEditReportShow = false, this.isDeleteShow = false, this.emergencyStatus = EmergencyConsultationStatus.Default, this.assistantDoctorUserCode, this.assistantDoctorUserName, this.isConsulted = false, this.qualityType = QualityType.None, this.qualifiedState = QualifiedState.UnSet, }); factory ConsultationDetailDTO.fromJson(Map map) { return ConsultationDetailDTO( consultationCode: map['ConsultationCode'], applyOrganizationCode: map['ApplyOrganizationCode'], applyDepartmentCode: map['ApplyDepartmentCode'], applyUserCode: map['ApplyUserCode'], expertOrganizationCode: map['ExpertOrganizationCode'], expertDepartmentCode: map['ExpertDepartmentCode'], expertUserCode: map['ExpertUserCode'], assistantUserCode: map['AssistantUserCode'], assistantUserName: map['AssistantUserName'], deviceCode: map['DeviceCode'], operateUserCode: map['OperateUserCode'], scanUserCode: map['ScanUserCode'], patientCode: map['PatientCode'], patientType: OrganizationPatientTypeEnum.values.firstWhere((e) => e.index == map['PatientType']), scanPositions: map['ScanPositions']?.cast().toList(), createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null, consultationTime: map['ConsultationTime'] != null ? DateTime.parse(map['ConsultationTime']) : null, consultationTimeEnd: map['ConsultationTimeEnd'] != null ? DateTime.parse(map['ConsultationTimeEnd']) : null, consultationStatus: TransactionStatusEnum.values.firstWhere((e) => e.index == map['ConsultationStatus']), applyOrganizationName: map['ApplyOrganizationName'], applyUserName: map['ApplyUserName'], operateUserName: map['OperateUserName'], scanUserName: map['ScanUserName'], expertOrganizationName: map['ExpertOrganizationName'], expertUserName: map['ExpertUserName'], deviceName: map['DeviceName'], displayName: map['DisplayName'], patientName: map['PatientName'], sex: map['Sex'], patientDatas: map['PatientDatas'] != null ? (map['PatientDatas'] as List).map((e)=>DataItemDTO.fromJson(e as Map)).toList() : null, consultationFileList: map['ConsultationFileList'] != null ? (map['ConsultationFileList'] as List).map((e)=>ConsultationFileDTO.fromJson(e as Map)).toList() : null, rejectReason: map['RejectReason'], location: map['Location'], consultationMembers: map['ConsultationMembers'] != null ? (map['ConsultationMembers'] as List).map((e)=>ConsultationMemberDTO.fromJson(e as Map)).toList() : null, description: map['Description'], consultationReminders: map['ConsultationReminders'] != null ? (map['ConsultationReminders'] as List).map((e)=>ConsultationReminderDTO.fromJson(e as Map)).toList() : null, approverCode: map['ApproverCode'], reportMode: ConsultationReportMode.values.firstWhere((e) => e.index == map['ReportMode']), diseases: map['Diseases'], primaryDiagnosis: map['PrimaryDiagnosis'], initiatorCode: map['InitiatorCode'], isEmergency: map['IsEmergency'], emergencyCode: map['EmergencyCode'], isUpdateConsultationShow: map['IsUpdateConsultationShow'], isRevokeShow: map['IsRevokeShow'], isApprovalShow: map['IsApprovalShow'], isAddInviterShow: map['IsAddInviterShow'], isRejectShow: map['IsRejectShow'], isAcceptInvitationShow: map['IsAcceptInvitationShow'], isRejectInvitationShow: map['IsRejectInvitationShow'], isInitiateShow: map['IsInitiateShow'], isJoinInShow: map['IsJoinInShow'], isReportShow: map['IsReportShow'], isEvaluateShow: map['IsEvaluateShow'], isFollowUpShow: map['IsFollowUpShow'], isImproveShow: map['IsImproveShow'], isEditReportShow: map['IsEditReportShow'], isDeleteShow: map['IsDeleteShow'], emergencyStatus: EmergencyConsultationStatus.values.firstWhere((e) => e.index == map['EmergencyStatus']), assistantDoctorUserCode: map['AssistantDoctorUserCode'], assistantDoctorUserName: map['AssistantDoctorUserName'], isConsulted: map['IsConsulted'], qualityType: QualityType.values.firstWhere((e) => e.index == map['QualityType']), qualifiedState: QualifiedState.values.firstWhere((e) => e.index == map['QualifiedState']), ); } Map toJson() { final map = Map(); if (consultationCode != null) { map['ConsultationCode'] = consultationCode; } if (applyOrganizationCode != null) { map['ApplyOrganizationCode'] = applyOrganizationCode; } if (applyDepartmentCode != null) { map['ApplyDepartmentCode'] = applyDepartmentCode; } if (applyUserCode != null) { map['ApplyUserCode'] = applyUserCode; } if (expertOrganizationCode != null) { map['ExpertOrganizationCode'] = expertOrganizationCode; } if (expertDepartmentCode != null) { map['ExpertDepartmentCode'] = expertDepartmentCode; } if (expertUserCode != null) { map['ExpertUserCode'] = expertUserCode; } if (assistantUserCode != null) { map['AssistantUserCode'] = assistantUserCode; } if (assistantUserName != null) { map['AssistantUserName'] = assistantUserName; } if (deviceCode != null) { map['DeviceCode'] = deviceCode; } if (operateUserCode != null) { map['OperateUserCode'] = operateUserCode; } if (scanUserCode != null) { map['ScanUserCode'] = scanUserCode; } if (patientCode != null) { map['PatientCode'] = patientCode; } map['PatientType'] = patientType.index; if (scanPositions != null) { map['ScanPositions'] = scanPositions; } if (createTime != null) { map['CreateTime'] = JsonRpcUtils.dateFormat(createTime!); } if (consultationTime != null) { map['ConsultationTime'] = JsonRpcUtils.dateFormat(consultationTime!); } if (consultationTimeEnd != null) { map['ConsultationTimeEnd'] = JsonRpcUtils.dateFormat(consultationTimeEnd!); } map['ConsultationStatus'] = consultationStatus.index; if (applyOrganizationName != null) { map['ApplyOrganizationName'] = applyOrganizationName; } if (applyUserName != null) { map['ApplyUserName'] = applyUserName; } if (operateUserName != null) { map['OperateUserName'] = operateUserName; } if (scanUserName != null) { map['ScanUserName'] = scanUserName; } if (expertOrganizationName != null) { map['ExpertOrganizationName'] = expertOrganizationName; } if (expertUserName != null) { map['ExpertUserName'] = expertUserName; } if (deviceName != null) { map['DeviceName'] = deviceName; } if (displayName != null) { map['DisplayName'] = displayName; } if (patientName != null) { map['PatientName'] = patientName; } if (sex != null) { map['Sex'] = sex; } if (patientDatas != null) { map['PatientDatas'] = patientDatas; } if (consultationFileList != null) { map['ConsultationFileList'] = consultationFileList; } if (rejectReason != null) { map['RejectReason'] = rejectReason; } if (location != null) { map['Location'] = location; } if (consultationMembers != null) { map['ConsultationMembers'] = consultationMembers; } if (description != null) { map['Description'] = description; } if (consultationReminders != null) { map['ConsultationReminders'] = consultationReminders; } if (approverCode != null) { map['ApproverCode'] = approverCode; } map['ReportMode'] = reportMode.index; if (diseases != null) { map['Diseases'] = diseases; } if (primaryDiagnosis != null) { map['PrimaryDiagnosis'] = primaryDiagnosis; } if (initiatorCode != null) { map['InitiatorCode'] = initiatorCode; } map['IsEmergency'] = isEmergency; if (emergencyCode != null) { map['EmergencyCode'] = emergencyCode; } map['IsUpdateConsultationShow'] = isUpdateConsultationShow; map['IsRevokeShow'] = isRevokeShow; map['IsApprovalShow'] = isApprovalShow; map['IsAddInviterShow'] = isAddInviterShow; map['IsRejectShow'] = isRejectShow; map['IsAcceptInvitationShow'] = isAcceptInvitationShow; map['IsRejectInvitationShow'] = isRejectInvitationShow; map['IsInitiateShow'] = isInitiateShow; map['IsJoinInShow'] = isJoinInShow; map['IsReportShow'] = isReportShow; map['IsEvaluateShow'] = isEvaluateShow; map['IsFollowUpShow'] = isFollowUpShow; map['IsImproveShow'] = isImproveShow; map['IsEditReportShow'] = isEditReportShow; map['IsDeleteShow'] = isDeleteShow; map['EmergencyStatus'] = emergencyStatus.index; if (assistantDoctorUserCode != null) { map['AssistantDoctorUserCode'] = assistantDoctorUserCode; } if (assistantDoctorUserName != null) { map['AssistantDoctorUserName'] = assistantDoctorUserName; } map['IsConsulted'] = isConsulted; map['QualityType'] = qualityType.index; map['QualifiedState'] = qualifiedState.index; return map; } } class FindConsultationDetailRequest extends TokenRequest{ String? consultationCode; bool isShowOriginal; FindConsultationDetailRequest({ this.consultationCode, this.isShowOriginal = false, String? token, }) : super( token: token, ); factory FindConsultationDetailRequest.fromJson(Map map) { return FindConsultationDetailRequest( consultationCode: map['ConsultationCode'], isShowOriginal: map['IsShowOriginal'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (consultationCode != null) map['ConsultationCode'] = consultationCode; map['IsShowOriginal'] = isShowOriginal; return map; } } class ApprovalConsultationRequest extends TokenRequest{ String? consultationCode; String? expertUserCode; DateTime? consultationTime; DateTime? consultationTimeEnd; String? location; List? consultationMemberCodes; String? description; List? consultationReminders; ApprovalConsultationRequest({ this.consultationCode, this.expertUserCode, this.consultationTime, this.consultationTimeEnd, this.location, this.consultationMemberCodes, this.description, this.consultationReminders, String? token, }) : super( token: token, ); factory ApprovalConsultationRequest.fromJson(Map map) { return ApprovalConsultationRequest( consultationCode: map['ConsultationCode'], expertUserCode: map['ExpertUserCode'], consultationTime: map['ConsultationTime'] != null ? DateTime.parse(map['ConsultationTime']) : null, consultationTimeEnd: map['ConsultationTimeEnd'] != null ? DateTime.parse(map['ConsultationTimeEnd']) : null, location: map['Location'], consultationMemberCodes: map['ConsultationMemberCodes']?.cast().toList(), description: map['Description'], consultationReminders: map['ConsultationReminders'] != null ? (map['ConsultationReminders'] as List).map((e)=>ConsultationReminderDTO.fromJson(e as Map)).toList() : null, token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (consultationCode != null) map['ConsultationCode'] = consultationCode; if (expertUserCode != null) map['ExpertUserCode'] = expertUserCode; if (consultationTime != null) map['ConsultationTime'] = JsonRpcUtils.dateFormat(consultationTime!); if (consultationTimeEnd != null) map['ConsultationTimeEnd'] = JsonRpcUtils.dateFormat(consultationTimeEnd!); if (location != null) map['Location'] = location; if (consultationMemberCodes != null) map['ConsultationMemberCodes'] = consultationMemberCodes; if (description != null) map['Description'] = description; if (consultationReminders != null) map['ConsultationReminders'] = consultationReminders; return map; } } class RejectApplyConsultationRequest extends TokenRequest{ String? consultationCode; String? reason; RejectApplyConsultationRequest({ this.consultationCode, this.reason, String? token, }) : super( token: token, ); factory RejectApplyConsultationRequest.fromJson(Map map) { return RejectApplyConsultationRequest( consultationCode: map['ConsultationCode'], reason: map['Reason'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (consultationCode != null) map['ConsultationCode'] = consultationCode; if (reason != null) map['Reason'] = reason; return map; } } class RevokeConsultationRequest extends TokenRequest{ String? consultationCode; RevokeConsultationRequest({ this.consultationCode, String? token, }) : super( token: token, ); factory RevokeConsultationRequest.fromJson(Map map) { return RevokeConsultationRequest( consultationCode: map['ConsultationCode'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (consultationCode != null) map['ConsultationCode'] = consultationCode; return map; } } class DeleteConsultationRequest extends TokenRequest{ String? consultationCode; DeleteConsultationRequest({ this.consultationCode, String? token, }) : super( token: token, ); factory DeleteConsultationRequest.fromJson(Map map) { return DeleteConsultationRequest( consultationCode: map['ConsultationCode'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (consultationCode != null) map['ConsultationCode'] = consultationCode; return map; } } class ConsultationFileBaseDTO { String? sourceUrl; String? previewImageUrl; String? coverImageUrl; RemedicalFileDataTypeEnum fileDataType; ConsultationFileTypeEnum consultationFileType; ConsultationFileBaseDTO({ this.sourceUrl, this.previewImageUrl, this.coverImageUrl, this.fileDataType = RemedicalFileDataTypeEnum.VinnoVidSingle, this.consultationFileType = ConsultationFileTypeEnum.Screenshot, }); factory ConsultationFileBaseDTO.fromJson(Map map) { return ConsultationFileBaseDTO( sourceUrl: map['SourceUrl'], previewImageUrl: map['PreviewImageUrl'], coverImageUrl: map['CoverImageUrl'], fileDataType: RemedicalFileDataTypeEnum.values.firstWhere((e) => e.index == map['FileDataType']), consultationFileType: ConsultationFileTypeEnum.values.firstWhere((e) => e.index == map['ConsultationFileType']), ); } Map toJson() { final map = Map(); if (sourceUrl != null) { map['SourceUrl'] = sourceUrl; } if (previewImageUrl != null) { map['PreviewImageUrl'] = previewImageUrl; } if (coverImageUrl != null) { map['CoverImageUrl'] = coverImageUrl; } map['FileDataType'] = fileDataType.index; map['ConsultationFileType'] = consultationFileType.index; return map; } } class UpdateConsultationFilesInfoRequest extends TokenRequest{ String? consultationCode; List? fileInfos; UpdateConsultationFilesInfoRequest({ this.consultationCode, this.fileInfos, String? token, }) : super( token: token, ); factory UpdateConsultationFilesInfoRequest.fromJson(Map map) { return UpdateConsultationFilesInfoRequest( consultationCode: map['ConsultationCode'], fileInfos: map['FileInfos'] != null ? (map['FileInfos'] as List).map((e)=>ConsultationFileBaseDTO.fromJson(e as Map)).toList() : null, token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (consultationCode != null) map['ConsultationCode'] = consultationCode; if (fileInfos != null) map['FileInfos'] = fileInfos; return map; } } class ConsultationAssistantDTO extends UserBaseDTO{ ConsultationAssistantDTO({ String? fullName, String? phone, String? email, String? userCode, String? userName, String? headImageUrl, String? displayName, DateTime? createTime, DateTime? updateTime, }) : super( phone: phone, email: email, userCode: userCode, userName: userName, fullName: fullName, headImageUrl: headImageUrl, displayName: displayName, createTime: createTime, updateTime: updateTime, ); factory ConsultationAssistantDTO.fromJson(Map map) { return ConsultationAssistantDTO( fullName: map['FullName'], phone: map['Phone'], email: map['Email'], userCode: map['UserCode'], userName: map['UserName'], headImageUrl: map['HeadImageUrl'], displayName: map['DisplayName'], createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null, updateTime: map['UpdateTime'] != null ? DateTime.parse(map['UpdateTime']) : null, ); } Map toJson() { final map = super.toJson(); return map; } } class FindOrganizationAssistantsRequest extends TokenRequest{ String? assistantName; FindOrganizationAssistantsRequest({ this.assistantName, String? token, }) : super( token: token, ); factory FindOrganizationAssistantsRequest.fromJson(Map map) { return FindOrganizationAssistantsRequest( assistantName: map['AssistantName'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (assistantName != null) map['AssistantName'] = assistantName; return map; } } class ConsultationAssistantDoctorDTO extends UserBaseDTO{ ConsultationAssistantDoctorDTO({ String? fullName, String? phone, String? email, String? userCode, String? userName, String? headImageUrl, String? displayName, DateTime? createTime, DateTime? updateTime, }) : super( phone: phone, email: email, userCode: userCode, userName: userName, fullName: fullName, headImageUrl: headImageUrl, displayName: displayName, createTime: createTime, updateTime: updateTime, ); factory ConsultationAssistantDoctorDTO.fromJson(Map map) { return ConsultationAssistantDoctorDTO( fullName: map['FullName'], phone: map['Phone'], email: map['Email'], userCode: map['UserCode'], userName: map['UserName'], headImageUrl: map['HeadImageUrl'], displayName: map['DisplayName'], createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null, updateTime: map['UpdateTime'] != null ? DateTime.parse(map['UpdateTime']) : null, ); } Map toJson() { final map = super.toJson(); return map; } } class FindOrganizationAssistantDoctorsRequest extends TokenRequest{ String? assistantDoctorName; FindOrganizationAssistantDoctorsRequest({ this.assistantDoctorName, String? token, }) : super( token: token, ); factory FindOrganizationAssistantDoctorsRequest.fromJson(Map map) { return FindOrganizationAssistantDoctorsRequest( assistantDoctorName: map['AssistantDoctorName'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (assistantDoctorName != null) map['AssistantDoctorName'] = assistantDoctorName; return map; } } class UpdateMyOrganizationAssistantRequest extends TokenRequest{ String? assistantUserCode; String? assistantDoctorUserCode; UpdateMyOrganizationAssistantRequest({ this.assistantUserCode, this.assistantDoctorUserCode, String? token, }) : super( token: token, ); factory UpdateMyOrganizationAssistantRequest.fromJson(Map map) { return UpdateMyOrganizationAssistantRequest( assistantUserCode: map['AssistantUserCode'], assistantDoctorUserCode: map['AssistantDoctorUserCode'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (assistantUserCode != null) map['AssistantUserCode'] = assistantUserCode; if (assistantDoctorUserCode != null) map['AssistantDoctorUserCode'] = assistantDoctorUserCode; return map; } } class ClientPatientInfoBaseDTO extends BaseDTO{ String? patientCode; bool isValid; List? patientData; int unReadRecordCount; bool isReferral; List? devicePatientIDs; String? organizationCode; String? organizationName; ClientPatientInfoBaseDTO({ this.patientCode, this.isValid = false, this.patientData, this.unReadRecordCount = 0, this.isReferral = false, this.devicePatientIDs, this.organizationCode, this.organizationName, DateTime? createTime, DateTime? updateTime, }) : super( createTime: createTime, updateTime: updateTime, ); factory ClientPatientInfoBaseDTO.fromJson(Map map) { return ClientPatientInfoBaseDTO( patientCode: map['PatientCode'], isValid: map['IsValid'], patientData: map['PatientData'] != null ? (map['PatientData'] as List).map((e)=>DataItemDTO.fromJson(e as Map)).toList() : null, unReadRecordCount: map['UnReadRecordCount'], isReferral: map['IsReferral'], devicePatientIDs: map['DevicePatientIDs']?.cast().toList(), organizationCode: map['OrganizationCode'], organizationName: map['OrganizationName'], createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null, updateTime: map['UpdateTime'] != null ? DateTime.parse(map['UpdateTime']) : null, ); } Map toJson() { final map = super.toJson(); if (patientCode != null) map['PatientCode'] = patientCode; map['IsValid'] = isValid; if (patientData != null) map['PatientData'] = patientData; map['UnReadRecordCount'] = unReadRecordCount; map['IsReferral'] = isReferral; if (devicePatientIDs != null) map['DevicePatientIDs'] = devicePatientIDs; if (organizationCode != null) map['OrganizationCode'] = organizationCode; if (organizationName != null) map['OrganizationName'] = organizationName; return map; } } class FindConsultationPatientPageRequest extends PageRequest{ String? keyword; DateTime? startDate; DateTime? endDate; FindConsultationPatientPageRequest({ this.keyword, this.startDate, this.endDate, int pageIndex = 0, int pageSize = 0, String? token, }) : super( pageIndex: pageIndex, pageSize: pageSize, token: token, ); factory FindConsultationPatientPageRequest.fromJson(Map map) { return FindConsultationPatientPageRequest( keyword: map['Keyword'], startDate: map['StartDate'] != null ? DateTime.parse(map['StartDate']) : null, endDate: map['EndDate'] != null ? DateTime.parse(map['EndDate']) : null, pageIndex: map['PageIndex'], pageSize: map['PageSize'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (keyword != null) map['Keyword'] = keyword; if (startDate != null) map['StartDate'] = JsonRpcUtils.dateFormat(startDate!); if (endDate != null) map['EndDate'] = JsonRpcUtils.dateFormat(endDate!); return map; } } class FindCanSwitchConsultationsRequest extends TokenRequest{ String? consultationCode; String? language; FindCanSwitchConsultationsRequest({ this.consultationCode, this.language, String? token, }) : super( token: token, ); factory FindCanSwitchConsultationsRequest.fromJson(Map map) { return FindCanSwitchConsultationsRequest( consultationCode: map['ConsultationCode'], language: map['Language'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (consultationCode != null) map['ConsultationCode'] = consultationCode; if (language != null) map['Language'] = language; return map; } } class InitiateLiveConsultationResult { String? consultationCode; String? initiatorCode; int roomNo; TransactionStatusEnum liveProtocol; int appId; String? userSign; List? memberLiveDatas; InitiateLiveConsultationResult({ this.consultationCode, this.initiatorCode, this.roomNo = 0, this.liveProtocol = TransactionStatusEnum.Applied, this.appId = 0, this.userSign, this.memberLiveDatas, }); factory InitiateLiveConsultationResult.fromJson(Map map) { return InitiateLiveConsultationResult( consultationCode: map['ConsultationCode'], initiatorCode: map['InitiatorCode'], roomNo: map['RoomNo'], liveProtocol: TransactionStatusEnum.values.firstWhere((e) => e.index == map['LiveProtocol']), appId: map['AppId'], userSign: map['UserSign'], memberLiveDatas: map['MemberLiveDatas'] != null ? (map['MemberLiveDatas'] as List).map((e)=>LiveConsultationMember.fromJson(e as Map)).toList() : null, ); } Map toJson() { final map = Map(); if (consultationCode != null) { map['ConsultationCode'] = consultationCode; } if (initiatorCode != null) { map['InitiatorCode'] = initiatorCode; } map['RoomNo'] = roomNo; map['LiveProtocol'] = liveProtocol.index; map['AppId'] = appId; if (userSign != null) { map['UserSign'] = userSign; } if (memberLiveDatas != null) { map['MemberLiveDatas'] = memberLiveDatas; } return map; } } class InitiateLiveConsultationRequest extends TokenRequest{ String? consultationCode; bool checkOnly; InitiateLiveConsultationRequest({ this.consultationCode, this.checkOnly = false, String? token, }) : super( token: token, ); factory InitiateLiveConsultationRequest.fromJson(Map map) { return InitiateLiveConsultationRequest( consultationCode: map['ConsultationCode'], checkOnly: map['CheckOnly'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (consultationCode != null) map['ConsultationCode'] = consultationCode; map['CheckOnly'] = checkOnly; return map; } } class InviteInLiveConsultationResult { String? consultationCode; InviteInLiveConsultationResult({ this.consultationCode, }); factory InviteInLiveConsultationResult.fromJson(Map map) { return InviteInLiveConsultationResult( consultationCode: map['ConsultationCode'], ); } Map toJson() { final map = Map(); if (consultationCode != null) { map['ConsultationCode'] = consultationCode; } return map; } } class InviteInLiveConsultationRequest extends TokenRequest{ String? consultationCode; List? inviteCodes; int roomNo; InviteInLiveConsultationRequest({ this.consultationCode, this.inviteCodes, this.roomNo = 0, String? token, }) : super( token: token, ); factory InviteInLiveConsultationRequest.fromJson(Map map) { return InviteInLiveConsultationRequest( consultationCode: map['ConsultationCode'], inviteCodes: map['InviteCodes']?.cast().toList(), roomNo: map['RoomNo'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (consultationCode != null) map['ConsultationCode'] = consultationCode; if (inviteCodes != null) map['InviteCodes'] = inviteCodes; map['RoomNo'] = roomNo; return map; } } class CancelInvitingInLiveConsultationResult { String? consultationCode; CancelInvitingInLiveConsultationResult({ this.consultationCode, }); factory CancelInvitingInLiveConsultationResult.fromJson(Map map) { return CancelInvitingInLiveConsultationResult( consultationCode: map['ConsultationCode'], ); } Map toJson() { final map = Map(); if (consultationCode != null) { map['ConsultationCode'] = consultationCode; } return map; } } class CancelInvitingInLiveConsultationRequest extends TokenRequest{ String? consultationCode; List? inviteCodes; CancelInvitingInLiveConsultationRequest({ this.consultationCode, this.inviteCodes, String? token, }) : super( token: token, ); factory CancelInvitingInLiveConsultationRequest.fromJson(Map map) { return CancelInvitingInLiveConsultationRequest( consultationCode: map['ConsultationCode'], inviteCodes: map['InviteCodes']?.cast().toList(), token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (consultationCode != null) map['ConsultationCode'] = consultationCode; if (inviteCodes != null) map['InviteCodes'] = inviteCodes; return map; } } class RejectLiveConsultationResult { String? consultationCode; RejectLiveConsultationResult({ this.consultationCode, }); factory RejectLiveConsultationResult.fromJson(Map map) { return RejectLiveConsultationResult( consultationCode: map['ConsultationCode'], ); } Map toJson() { final map = Map(); if (consultationCode != null) { map['ConsultationCode'] = consultationCode; } return map; } } class RejectLiveConsultationRequest extends TokenRequest{ String? consultationCode; RejectLiveConsultationRequest({ this.consultationCode, String? token, }) : super( token: token, ); factory RejectLiveConsultationRequest.fromJson(Map map) { return RejectLiveConsultationRequest( consultationCode: map['ConsultationCode'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (consultationCode != null) map['ConsultationCode'] = consultationCode; return map; } } class InteractiveBoardDataDTO { String? userCode; String? boardData; DateTime? interactiveTime; InteractiveBoardDataDTO({ this.userCode, this.boardData, this.interactiveTime, }); factory InteractiveBoardDataDTO.fromJson(Map map) { return InteractiveBoardDataDTO( userCode: map['UserCode'], boardData: map['BoardData'], interactiveTime: map['InteractiveTime'] != null ? DateTime.parse(map['InteractiveTime']) : null, ); } Map toJson() { final map = Map(); if (userCode != null) { map['UserCode'] = userCode; } if (boardData != null) { map['BoardData'] = boardData; } if (interactiveTime != null) { map['InteractiveTime'] = JsonRpcUtils.dateFormat(interactiveTime!); } return map; } } class JoinLiveConsultationResult { String? consultationCode; String? userCode; int roomNo; TransactionStatusEnum liveProtocol; int appId; String? userSign; List? memberLiveDatas; List? interactiveBoardDatas; JoinLiveConsultationResult({ this.consultationCode, this.userCode, this.roomNo = 0, this.liveProtocol = TransactionStatusEnum.Applied, this.appId = 0, this.userSign, this.memberLiveDatas, this.interactiveBoardDatas, }); factory JoinLiveConsultationResult.fromJson(Map map) { return JoinLiveConsultationResult( consultationCode: map['ConsultationCode'], userCode: map['UserCode'], roomNo: map['RoomNo'], liveProtocol: TransactionStatusEnum.values.firstWhere((e) => e.index == map['LiveProtocol']), appId: map['AppId'], userSign: map['UserSign'], memberLiveDatas: map['MemberLiveDatas'] != null ? (map['MemberLiveDatas'] as List).map((e)=>LiveConsultationMember.fromJson(e as Map)).toList() : null, interactiveBoardDatas: map['InteractiveBoardDatas'] != null ? (map['InteractiveBoardDatas'] as List).map((e)=>InteractiveBoardDataDTO.fromJson(e as Map)).toList() : null, ); } Map toJson() { final map = Map(); if (consultationCode != null) { map['ConsultationCode'] = consultationCode; } if (userCode != null) { map['UserCode'] = userCode; } map['RoomNo'] = roomNo; map['LiveProtocol'] = liveProtocol.index; map['AppId'] = appId; if (userSign != null) { map['UserSign'] = userSign; } if (memberLiveDatas != null) { map['MemberLiveDatas'] = memberLiveDatas; } if (interactiveBoardDatas != null) { map['InteractiveBoardDatas'] = interactiveBoardDatas; } return map; } } class JoinLiveConsultationRequest extends TokenRequest{ String? consultationCode; bool needCall; bool checkOnly; JoinLiveConsultationRequest({ this.consultationCode, this.needCall = false, this.checkOnly = false, String? token, }) : super( token: token, ); factory JoinLiveConsultationRequest.fromJson(Map map) { return JoinLiveConsultationRequest( consultationCode: map['ConsultationCode'], needCall: map['NeedCall'], checkOnly: map['CheckOnly'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (consultationCode != null) map['ConsultationCode'] = consultationCode; map['NeedCall'] = needCall; map['CheckOnly'] = checkOnly; return map; } } class CancelLiveConsultationResult { String? consultationCode; CancelLiveConsultationResult({ this.consultationCode, }); factory CancelLiveConsultationResult.fromJson(Map map) { return CancelLiveConsultationResult( consultationCode: map['ConsultationCode'], ); } Map toJson() { final map = Map(); if (consultationCode != null) { map['ConsultationCode'] = consultationCode; } return map; } } class CancelLiveConsultationRequest extends TokenRequest{ String? consultationCode; CancelLiveConsultationRequest({ this.consultationCode, String? token, }) : super( token: token, ); factory CancelLiveConsultationRequest.fromJson(Map map) { return CancelLiveConsultationRequest( consultationCode: map['ConsultationCode'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (consultationCode != null) map['ConsultationCode'] = consultationCode; return map; } } class AcceptLiveConsultationResult { String? consultationCode; String? userCode; int roomNo; TransactionStatusEnum liveProtocol; int appId; String? userSign; List? memberLiveDatas; List? interactiveBoardDatas; AcceptLiveConsultationResult({ this.consultationCode, this.userCode, this.roomNo = 0, this.liveProtocol = TransactionStatusEnum.Applied, this.appId = 0, this.userSign, this.memberLiveDatas, this.interactiveBoardDatas, }); factory AcceptLiveConsultationResult.fromJson(Map map) { return AcceptLiveConsultationResult( consultationCode: map['ConsultationCode'], userCode: map['UserCode'], roomNo: map['RoomNo'], liveProtocol: TransactionStatusEnum.values.firstWhere((e) => e.index == map['LiveProtocol']), appId: map['AppId'], userSign: map['UserSign'], memberLiveDatas: map['MemberLiveDatas'] != null ? (map['MemberLiveDatas'] as List).map((e)=>LiveConsultationMember.fromJson(e as Map)).toList() : null, interactiveBoardDatas: map['InteractiveBoardDatas'] != null ? (map['InteractiveBoardDatas'] as List).map((e)=>InteractiveBoardDataDTO.fromJson(e as Map)).toList() : null, ); } Map toJson() { final map = Map(); if (consultationCode != null) { map['ConsultationCode'] = consultationCode; } if (userCode != null) { map['UserCode'] = userCode; } map['RoomNo'] = roomNo; map['LiveProtocol'] = liveProtocol.index; map['AppId'] = appId; if (userSign != null) { map['UserSign'] = userSign; } if (memberLiveDatas != null) { map['MemberLiveDatas'] = memberLiveDatas; } if (interactiveBoardDatas != null) { map['InteractiveBoardDatas'] = interactiveBoardDatas; } return map; } } class AcceptLiveConsultationRequest extends TokenRequest{ String? consultationCode; bool checkOnly; AcceptLiveConsultationRequest({ this.consultationCode, this.checkOnly = false, String? token, }) : super( token: token, ); factory AcceptLiveConsultationRequest.fromJson(Map map) { return AcceptLiveConsultationRequest( consultationCode: map['ConsultationCode'], checkOnly: map['CheckOnly'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (consultationCode != null) map['ConsultationCode'] = consultationCode; map['CheckOnly'] = checkOnly; return map; } } class LeaveLiveConsultationResult { String? consultationCode; LeaveLiveConsultationResult({ this.consultationCode, }); factory LeaveLiveConsultationResult.fromJson(Map map) { return LeaveLiveConsultationResult( consultationCode: map['ConsultationCode'], ); } Map toJson() { final map = Map(); if (consultationCode != null) { map['ConsultationCode'] = consultationCode; } return map; } } class LeaveLiveConsultationRequest extends TokenRequest{ String? consultationCode; LeaveLiveConsultationRequest({ this.consultationCode, String? token, }) : super( token: token, ); factory LeaveLiveConsultationRequest.fromJson(Map map) { return LeaveLiveConsultationRequest( consultationCode: map['ConsultationCode'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (consultationCode != null) map['ConsultationCode'] = consultationCode; return map; } } class MuteLiveConsultationResult { String? consultationCode; MuteLiveConsultationResult({ this.consultationCode, }); factory MuteLiveConsultationResult.fromJson(Map map) { return MuteLiveConsultationResult( consultationCode: map['ConsultationCode'], ); } Map toJson() { final map = Map(); if (consultationCode != null) { map['ConsultationCode'] = consultationCode; } return map; } } class MuteLiveConsultationRequest extends TokenRequest{ String? consultationCode; bool mute; MuteLiveConsultationRequest({ this.consultationCode, this.mute = false, String? token, }) : super( token: token, ); factory MuteLiveConsultationRequest.fromJson(Map map) { return MuteLiveConsultationRequest( consultationCode: map['ConsultationCode'], mute: map['Mute'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (consultationCode != null) map['ConsultationCode'] = consultationCode; map['Mute'] = mute; return map; } } class SwitchLiveConsultationVideoResult { String? consultationCode; SwitchLiveConsultationVideoResult({ this.consultationCode, }); factory SwitchLiveConsultationVideoResult.fromJson(Map map) { return SwitchLiveConsultationVideoResult( consultationCode: map['ConsultationCode'], ); } Map toJson() { final map = Map(); if (consultationCode != null) { map['ConsultationCode'] = consultationCode; } return map; } } class SwitchLiveConsultationVideoRequest extends TokenRequest{ String? consultationCode; bool opened; SwitchLiveConsultationVideoRequest({ this.consultationCode, this.opened = false, String? token, }) : super( token: token, ); factory SwitchLiveConsultationVideoRequest.fromJson(Map map) { return SwitchLiveConsultationVideoRequest( consultationCode: map['ConsultationCode'], opened: map['Opened'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (consultationCode != null) map['ConsultationCode'] = consultationCode; map['Opened'] = opened; return map; } } class LiveConsultationHeartRateResult { String? consultationCode; LiveConsultationHeartRateResult({ this.consultationCode, }); factory LiveConsultationHeartRateResult.fromJson(Map map) { return LiveConsultationHeartRateResult( consultationCode: map['ConsultationCode'], ); } Map toJson() { final map = Map(); if (consultationCode != null) { map['ConsultationCode'] = consultationCode; } return map; } } class LiveConsultationHeartRateRequest extends TokenRequest{ String? consultationCode; LiveConsultationHeartRateRequest({ this.consultationCode, String? token, }) : super( token: token, ); factory LiveConsultationHeartRateRequest.fromJson(Map map) { return LiveConsultationHeartRateRequest( consultationCode: map['ConsultationCode'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (consultationCode != null) map['ConsultationCode'] = consultationCode; return map; } } class SendInteractiveBoardDataRequest extends TokenRequest{ String? consultationCode; bool isClear; String? boardData; SendInteractiveBoardDataRequest({ this.consultationCode, this.isClear = false, this.boardData, String? token, }) : super( token: token, ); factory SendInteractiveBoardDataRequest.fromJson(Map map) { return SendInteractiveBoardDataRequest( consultationCode: map['ConsultationCode'], isClear: map['IsClear'], boardData: map['BoardData'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (consultationCode != null) map['ConsultationCode'] = consultationCode; map['IsClear'] = isClear; if (boardData != null) map['BoardData'] = boardData; return map; } } class AddFollowUpVisitInfoRequest extends TokenRequest{ String? consultationRecordCode; String? generalCase; DateTime? occurredTime; AddFollowUpVisitInfoRequest({ this.consultationRecordCode, this.generalCase, this.occurredTime, String? token, }) : super( token: token, ); factory AddFollowUpVisitInfoRequest.fromJson(Map map) { return AddFollowUpVisitInfoRequest( consultationRecordCode: map['ConsultationRecordCode'], generalCase: map['GeneralCase'], occurredTime: map['OccurredTime'] != null ? DateTime.parse(map['OccurredTime']) : null, token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (consultationRecordCode != null) map['ConsultationRecordCode'] = consultationRecordCode; if (generalCase != null) map['GeneralCase'] = generalCase; if (occurredTime != null) map['OccurredTime'] = JsonRpcUtils.dateFormat(occurredTime!); return map; } } class DeleteFollowUpVisitInfoRequest extends TokenRequest{ String? followUpVisitCode; DeleteFollowUpVisitInfoRequest({ this.followUpVisitCode, String? token, }) : super( token: token, ); factory DeleteFollowUpVisitInfoRequest.fromJson(Map map) { return DeleteFollowUpVisitInfoRequest( followUpVisitCode: map['FollowUpVisitCode'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (followUpVisitCode != null) map['FollowUpVisitCode'] = followUpVisitCode; return map; } } class UpdateFollowUpVisitInfoRequest extends TokenRequest{ String? followUpVisitCode; String? generalCase; UpdateFollowUpVisitInfoRequest({ this.followUpVisitCode, this.generalCase, String? token, }) : super( token: token, ); factory UpdateFollowUpVisitInfoRequest.fromJson(Map map) { return UpdateFollowUpVisitInfoRequest( followUpVisitCode: map['FollowUpVisitCode'], generalCase: map['GeneralCase'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (followUpVisitCode != null) map['FollowUpVisitCode'] = followUpVisitCode; if (generalCase != null) map['GeneralCase'] = generalCase; return map; } } class FollowUpVisitDTO { String? followUpVisitCode; String? consultationRecordCode; String? patientName; String? patientPhone; String? generalCase; String? clinicalSituation; String? doctorCode; String? doctorName; DateTime? occurredTime; FollowUpVisitDTO({ this.followUpVisitCode, this.consultationRecordCode, this.patientName, this.patientPhone, this.generalCase, this.clinicalSituation, this.doctorCode, this.doctorName, this.occurredTime, }); factory FollowUpVisitDTO.fromJson(Map map) { return FollowUpVisitDTO( followUpVisitCode: map['FollowUpVisitCode'], consultationRecordCode: map['ConsultationRecordCode'], patientName: map['PatientName'], patientPhone: map['PatientPhone'], generalCase: map['GeneralCase'], clinicalSituation: map['ClinicalSituation'], doctorCode: map['DoctorCode'], doctorName: map['DoctorName'], occurredTime: map['OccurredTime'] != null ? DateTime.parse(map['OccurredTime']) : null, ); } Map toJson() { final map = Map(); if (followUpVisitCode != null) { map['FollowUpVisitCode'] = followUpVisitCode; } if (consultationRecordCode != null) { map['ConsultationRecordCode'] = consultationRecordCode; } if (patientName != null) { map['PatientName'] = patientName; } if (patientPhone != null) { map['PatientPhone'] = patientPhone; } if (generalCase != null) { map['GeneralCase'] = generalCase; } if (clinicalSituation != null) { map['ClinicalSituation'] = clinicalSituation; } if (doctorCode != null) { map['DoctorCode'] = doctorCode; } if (doctorName != null) { map['DoctorName'] = doctorName; } if (occurredTime != null) { map['OccurredTime'] = JsonRpcUtils.dateFormat(occurredTime!); } return map; } } class GetFollowUpVisitInfoRequest extends TokenRequest{ String? consultationRecordCode; GetFollowUpVisitInfoRequest({ this.consultationRecordCode, String? token, }) : super( token: token, ); factory GetFollowUpVisitInfoRequest.fromJson(Map map) { return GetFollowUpVisitInfoRequest( consultationRecordCode: map['ConsultationRecordCode'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (consultationRecordCode != null) map['ConsultationRecordCode'] = consultationRecordCode; return map; } } class GetFollowUpVisitInfoDetailRequest extends TokenRequest{ String? followUpVisitCode; GetFollowUpVisitInfoDetailRequest({ this.followUpVisitCode, String? token, }) : super( token: token, ); factory GetFollowUpVisitInfoDetailRequest.fromJson(Map map) { return GetFollowUpVisitInfoDetailRequest( followUpVisitCode: map['FollowUpVisitCode'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (followUpVisitCode != null) map['FollowUpVisitCode'] = followUpVisitCode; return map; } } class SetNeedFollowUpVisitRequest extends TokenRequest{ String? consultationRecordCode; bool isNeed; SetNeedFollowUpVisitRequest({ this.consultationRecordCode, this.isNeed = false, String? token, }) : super( token: token, ); factory SetNeedFollowUpVisitRequest.fromJson(Map map) { return SetNeedFollowUpVisitRequest( consultationRecordCode: map['ConsultationRecordCode'], isNeed: map['IsNeed'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (consultationRecordCode != null) map['ConsultationRecordCode'] = consultationRecordCode; map['IsNeed'] = isNeed; return map; } } class AddConsultationEvaluateRequest extends TokenRequest{ String? consultationRecordCode; double evaluateScore; String? feedback; AddConsultationEvaluateRequest({ this.consultationRecordCode, this.evaluateScore = 0, this.feedback, String? token, }) : super( token: token, ); factory AddConsultationEvaluateRequest.fromJson(Map map) { return AddConsultationEvaluateRequest( consultationRecordCode: map['ConsultationRecordCode'], evaluateScore: double.parse(map['EvaluateScore'].toString()), feedback: map['Feedback'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (consultationRecordCode != null) map['ConsultationRecordCode'] = consultationRecordCode; map['EvaluateScore'] = evaluateScore; if (feedback != null) map['Feedback'] = feedback; return map; } } class DeleteConsultationEvaluateRequest extends TokenRequest{ String? consultationEvaluateCode; DeleteConsultationEvaluateRequest({ this.consultationEvaluateCode, String? token, }) : super( token: token, ); factory DeleteConsultationEvaluateRequest.fromJson(Map map) { return DeleteConsultationEvaluateRequest( consultationEvaluateCode: map['ConsultationEvaluateCode'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (consultationEvaluateCode != null) map['ConsultationEvaluateCode'] = consultationEvaluateCode; return map; } } class UpdateConsultationEvaluateRequest extends TokenRequest{ String? consultationEvaluateCode; double evaluateScore; String? feedback; UpdateConsultationEvaluateRequest({ this.consultationEvaluateCode, this.evaluateScore = 0, this.feedback, String? token, }) : super( token: token, ); factory UpdateConsultationEvaluateRequest.fromJson(Map map) { return UpdateConsultationEvaluateRequest( consultationEvaluateCode: map['ConsultationEvaluateCode'], evaluateScore: double.parse(map['EvaluateScore'].toString()), feedback: map['Feedback'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (consultationEvaluateCode != null) map['ConsultationEvaluateCode'] = consultationEvaluateCode; map['EvaluateScore'] = evaluateScore; if (feedback != null) map['Feedback'] = feedback; return map; } } class ConsultationEvaluateDTO { String? consultationEvaluateCode; String? consultationRecordCode; EvaluateGradeEnum evaluateGrade; double evaluateScore; String? feedback; ConsultationEvaluateDTO({ this.consultationEvaluateCode, this.consultationRecordCode, this.evaluateGrade = EvaluateGradeEnum.UnSet, this.evaluateScore = 0, this.feedback, }); factory ConsultationEvaluateDTO.fromJson(Map map) { return ConsultationEvaluateDTO( consultationEvaluateCode: map['ConsultationEvaluateCode'], consultationRecordCode: map['ConsultationRecordCode'], evaluateGrade: EvaluateGradeEnum.values.firstWhere((e) => e.index == map['EvaluateGrade']), evaluateScore: double.parse(map['EvaluateScore'].toString()), feedback: map['Feedback'], ); } Map toJson() { final map = Map(); if (consultationEvaluateCode != null) { map['ConsultationEvaluateCode'] = consultationEvaluateCode; } if (consultationRecordCode != null) { map['ConsultationRecordCode'] = consultationRecordCode; } map['EvaluateGrade'] = evaluateGrade.index; map['EvaluateScore'] = evaluateScore; if (feedback != null) { map['Feedback'] = feedback; } return map; } } class GetConsultationEvaluateRequest extends TokenRequest{ String? consultationRecordCode; GetConsultationEvaluateRequest({ this.consultationRecordCode, String? token, }) : super( token: token, ); factory GetConsultationEvaluateRequest.fromJson(Map map) { return GetConsultationEvaluateRequest( consultationRecordCode: map['ConsultationRecordCode'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (consultationRecordCode != null) map['ConsultationRecordCode'] = consultationRecordCode; return map; } } class AcceptInvitationRequest extends TokenRequest{ String? consultationRecordCode; bool isAgree; String? refusalCause; AcceptInvitationRequest({ this.consultationRecordCode, this.isAgree = false, this.refusalCause, String? token, }) : super( token: token, ); factory AcceptInvitationRequest.fromJson(Map map) { return AcceptInvitationRequest( consultationRecordCode: map['ConsultationRecordCode'], isAgree: map['IsAgree'], refusalCause: map['RefusalCause'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (consultationRecordCode != null) map['ConsultationRecordCode'] = consultationRecordCode; map['IsAgree'] = isAgree; if (refusalCause != null) map['RefusalCause'] = refusalCause; return map; } } class ApplyEmergencyTreatmentRequest extends TokenRequest{ String? deviceUniqueCode; String? deviceCode; String? expertCode; String? patientCode; List? patientDatas; ApplyEmergencyTreatmentRequest({ this.deviceUniqueCode, this.deviceCode, this.expertCode, this.patientCode, this.patientDatas, String? token, }) : super( token: token, ); factory ApplyEmergencyTreatmentRequest.fromJson(Map map) { return ApplyEmergencyTreatmentRequest( deviceUniqueCode: map['DeviceUniqueCode'], deviceCode: map['DeviceCode'], expertCode: map['ExpertCode'], patientCode: map['PatientCode'], patientDatas: map['PatientDatas'] != null ? (map['PatientDatas'] as List).map((e)=>DataItemDTO.fromJson(e as Map)).toList() : null, token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (deviceUniqueCode != null) map['DeviceUniqueCode'] = deviceUniqueCode; if (deviceCode != null) map['DeviceCode'] = deviceCode; if (expertCode != null) map['ExpertCode'] = expertCode; if (patientCode != null) map['PatientCode'] = patientCode; if (patientDatas != null) map['PatientDatas'] = patientDatas; return map; } } class GetEmergencySettingResult { String? organizationCode; String? organizationName; bool emergencyNeedFill; String? emergencySettingVersion; String? emergencySettingJson; GetEmergencySettingResult({ this.organizationCode, this.organizationName, this.emergencyNeedFill = false, this.emergencySettingVersion, this.emergencySettingJson, }); factory GetEmergencySettingResult.fromJson(Map map) { return GetEmergencySettingResult( organizationCode: map['OrganizationCode'], organizationName: map['OrganizationName'], emergencyNeedFill: map['EmergencyNeedFill'], emergencySettingVersion: map['EmergencySettingVersion'], emergencySettingJson: map['EmergencySettingJson'], ); } Map toJson() { final map = Map(); if (organizationCode != null) { map['OrganizationCode'] = organizationCode; } if (organizationName != null) { map['OrganizationName'] = organizationName; } map['EmergencyNeedFill'] = emergencyNeedFill; if (emergencySettingVersion != null) { map['EmergencySettingVersion'] = emergencySettingVersion; } if (emergencySettingJson != null) { map['EmergencySettingJson'] = emergencySettingJson; } return map; } } class GetEmergencySettingRequest extends TokenRequest{ GetEmergencySettingRequest({ String? token, }) : super( token: token, ); factory GetEmergencySettingRequest.fromJson(Map map) { return GetEmergencySettingRequest( token: map['Token'], ); } Map toJson() { final map = super.toJson(); return map; } } class BaseControlDeviceRequest extends TokenRequest{ ControlDeviceParameterEnum controlType; bool isNeedSyn; BaseControlDeviceRequest({ this.controlType = ControlDeviceParameterEnum.Start, this.isNeedSyn = false, String? token, }) : super( token: token, ); factory BaseControlDeviceRequest.fromJson(Map map) { return BaseControlDeviceRequest( controlType: ControlDeviceParameterEnum.values.firstWhere((e) => e.index == map['ControlType']), isNeedSyn: map['IsNeedSyn'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); map['ControlType'] = controlType.index; map['IsNeedSyn'] = isNeedSyn; return map; } } class BaseControlDeviceParameterRequest extends BaseControlDeviceRequest{ List? parameters; BaseControlDeviceParameterRequest({ this.parameters, ControlDeviceParameterEnum controlType = ControlDeviceParameterEnum.Start, bool isNeedSyn = false, String? token, }) : super( controlType: controlType, isNeedSyn: isNeedSyn, token: token, ); factory BaseControlDeviceParameterRequest.fromJson(Map map) { return BaseControlDeviceParameterRequest( parameters: map['Parameters'] != null ? (map['Parameters'] as List).map((e)=>AdditionParameterDTO.fromJson(e as Map)).toList() : null, controlType: ControlDeviceParameterEnum.values.firstWhere((e) => e.index == map['ControlType']), isNeedSyn: map['IsNeedSyn'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (parameters != null) map['Parameters'] = parameters; return map; } } class ControlDeviceParameterInConsultationRequest extends BaseControlDeviceParameterRequest{ String? consultationCode; ControlDeviceParameterInConsultationRequest({ this.consultationCode, List? parameters, ControlDeviceParameterEnum controlType = ControlDeviceParameterEnum.Start, bool isNeedSyn = false, String? token, }) : super( parameters: parameters, controlType: controlType, isNeedSyn: isNeedSyn, token: token, ); factory ControlDeviceParameterInConsultationRequest.fromJson(Map map) { return ControlDeviceParameterInConsultationRequest( consultationCode: map['ConsultationCode'], parameters: map['Parameters'] != null ? (map['Parameters'] as List).map((e)=>AdditionParameterDTO.fromJson(e as Map)).toList() : null, controlType: ControlDeviceParameterEnum.values.firstWhere((e) => e.index == map['ControlType']), isNeedSyn: map['IsNeedSyn'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (consultationCode != null) map['ConsultationCode'] = consultationCode; return map; } } class GetUserStatusRequest extends TokenRequest{ String? userCode; GetUserStatusRequest({ this.userCode, String? token, }) : super( token: token, ); factory GetUserStatusRequest.fromJson(Map map) { return GetUserStatusRequest( userCode: map['UserCode'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (userCode != null) map['UserCode'] = userCode; return map; } } enum RecommendedDownloadModeEnum { placeHolder_0, Origin, CDN, } class TerminalImageDTO { String? previewUrl; String? imageUrl; String? coverImageUrl; RecommendedDownloadModeEnum recommendedDownloadMode; String? originImageUrl; int imageSize; TerminalImageDTO({ this.previewUrl, this.imageUrl, this.coverImageUrl, this.recommendedDownloadMode = RecommendedDownloadModeEnum.Origin, this.originImageUrl, this.imageSize = 0, }); factory TerminalImageDTO.fromJson(Map map) { return TerminalImageDTO( previewUrl: map['PreviewUrl'], imageUrl: map['ImageUrl'], coverImageUrl: map['CoverImageUrl'], recommendedDownloadMode: RecommendedDownloadModeEnum.values.firstWhere((e) => e.index == map['RecommendedDownloadMode']), originImageUrl: map['OriginImageUrl'], imageSize: map['ImageSize'], ); } Map toJson() { final map = Map(); if (previewUrl != null) { map['PreviewUrl'] = previewUrl; } if (imageUrl != null) { map['ImageUrl'] = imageUrl; } if (coverImageUrl != null) { map['CoverImageUrl'] = coverImageUrl; } map['RecommendedDownloadMode'] = recommendedDownloadMode.index; if (originImageUrl != null) { map['OriginImageUrl'] = originImageUrl; } map['ImageSize'] = imageSize; return map; } } class ImageLocationDTO { String? group; String? position; String? quadrant; ImageLocationDTO({ this.group, this.position, this.quadrant, }); factory ImageLocationDTO.fromJson(Map map) { return ImageLocationDTO( group: map['Group'], position: map['Position'], quadrant: map['Quadrant'], ); } Map toJson() { final map = Map(); if (group != null) { map['Group'] = group; } if (position != null) { map['Position'] = position; } if (quadrant != null) { map['Quadrant'] = quadrant; } return map; } } enum DiagnosisConclusionEnum { NotRequired, InProcess, Unrecognized, NoObviousLesion, Benign, Malignant, BenignAndMalignant, Other, } enum DiagnosisOrganEnum { Null, placeHolder_1, Breast, Abdomen, Liver, Cholecyst, Kidney, Spleen, CarotidArtery, Thyroid, Neck, } class ChildrenFetusNodeDTO { String? typeName; String? folderName; String? folderDescription; String? modeName; String? applicationId; String? application; List? children; ChildrenFetusNodeDTO({ this.typeName, this.folderName, this.folderDescription, this.modeName, this.applicationId, this.application, this.children, }); factory ChildrenFetusNodeDTO.fromJson(Map map) { return ChildrenFetusNodeDTO( typeName: map['TypeName'], folderName: map['FolderName'], folderDescription: map['FolderDescription'], modeName: map['ModeName'], applicationId: map['ApplicationId'], application: map['Application'], children: map['Children']?.cast().toList(), ); } Map toJson() { final map = Map(); if (typeName != null) { map['TypeName'] = typeName; } if (folderName != null) { map['FolderName'] = folderName; } if (folderDescription != null) { map['FolderDescription'] = folderDescription; } if (modeName != null) { map['ModeName'] = modeName; } if (applicationId != null) { map['ApplicationId'] = applicationId; } if (application != null) { map['Application'] = application; } if (children != null) { map['Children'] = children; } return map; } } class FetusNodeDTO { String? typeName; String? fetusIndex; List? children; FetusNodeDTO({ this.typeName, this.fetusIndex, this.children, }); factory FetusNodeDTO.fromJson(Map map) { return FetusNodeDTO( typeName: map['TypeName'], fetusIndex: map['FetusIndex'], children: map['Children'] != null ? (map['Children'] as List).map((e)=>ChildrenFetusNodeDTO.fromJson(e as Map)).toList() : null, ); } Map toJson() { final map = Map(); if (typeName != null) { map['TypeName'] = typeName; } if (fetusIndex != null) { map['FetusIndex'] = fetusIndex; } if (children != null) { map['Children'] = children; } return map; } } class MeasuredResultsDTO { String? version; List? fetusNodes; MeasuredResultsDTO({ this.version, this.fetusNodes, }); factory MeasuredResultsDTO.fromJson(Map map) { return MeasuredResultsDTO( version: map['Version'], fetusNodes: map['FetusNodes'] != null ? (map['FetusNodes'] as List).map((e)=>FetusNodeDTO.fromJson(e as Map)).toList() : null, ); } Map toJson() { final map = Map(); if (version != null) { map['Version'] = version; } if (fetusNodes != null) { map['FetusNodes'] = fetusNodes; } return map; } } class PointDTO { double x; double y; PointDTO({ this.x = 0, this.y = 0, }); factory PointDTO.fromJson(Map map) { return PointDTO( x: double.parse(map['x'].toString()), y: double.parse(map['y'].toString()), ); } Map toJson() { final map = Map(); map['x'] = x; map['y'] = y; return map; } } class AdornerDTO { String? adornerTypeName; PointDTO? topLeft; String? content; AdornerDTO({ this.adornerTypeName, this.topLeft, this.content, }); factory AdornerDTO.fromJson(Map map) { return AdornerDTO( adornerTypeName: map['AdornerTypeName'], topLeft: map['TopLeft'] != null ? PointDTO.fromJson(map['TopLeft']) : null, content: map['Content'], ); } Map toJson() { final map = Map(); if (adornerTypeName != null) { map['AdornerTypeName'] = adornerTypeName; } if (topLeft != null) { map['TopLeft'] = topLeft; } if (content != null) { map['Content'] = content; } return map; } } class BaseAreaDTO { String? visualAreaTypeName; List? adorner; BaseAreaDTO({ this.visualAreaTypeName, this.adorner, }); factory BaseAreaDTO.fromJson(Map map) { return BaseAreaDTO( visualAreaTypeName: map['VisualAreaTypeName'], adorner: map['Adorner'] != null ? (map['Adorner'] as List).map((e)=>AdornerDTO.fromJson(e as Map)).toList() : null, ); } Map toJson() { final map = Map(); if (visualAreaTypeName != null) { map['VisualAreaTypeName'] = visualAreaTypeName; } if (adorner != null) { map['Adorner'] = adorner; } return map; } } class VisualAreaDTO { List? children; VisualAreaDTO({ this.children, }); factory VisualAreaDTO.fromJson(Map map) { return VisualAreaDTO( children: map['Children'] != null ? (map['Children'] as List).map((e)=>BaseAreaDTO.fromJson(e as Map)).toList() : null, ); } Map toJson() { final map = Map(); if (children != null) { map['Children'] = children; } return map; } } class VisualKeyDTO { String? visualKeyTypeName; VisualAreaDTO? visualArea; VisualKeyDTO({ this.visualKeyTypeName, this.visualArea, }); factory VisualKeyDTO.fromJson(Map map) { return VisualKeyDTO( visualKeyTypeName: map['VisualKeyTypeName'], visualArea: map['VisualArea'] != null ? VisualAreaDTO.fromJson(map['VisualArea']) : null, ); } Map toJson() { final map = Map(); if (visualKeyTypeName != null) { map['VisualKeyTypeName'] = visualKeyTypeName; } if (visualArea != null) { map['VisualArea'] = visualArea; } return map; } } class VisualDTO { List? children; VisualDTO({ this.children, }); factory VisualDTO.fromJson(Map map) { return VisualDTO( children: map['Children'] != null ? (map['Children'] as List).map((e)=>VisualKeyDTO.fromJson(e as Map)).toList() : null, ); } Map toJson() { final map = Map(); if (children != null) { map['Children'] = children; } return map; } } class ScanImageDTO { VisualDTO? visual; ScanImageDTO({ this.visual, }); factory ScanImageDTO.fromJson(Map map) { return ScanImageDTO( visual: map['Visual'] != null ? VisualDTO.fromJson(map['Visual']) : null, ); } Map toJson() { final map = Map(); if (visual != null) { map['Visual'] = visual; } return map; } } enum CarotidScanTypeEnum { CarotidLeft, CarotidRight, } enum CarotidScanDirectionEnum { TopToBottom, BottomToTop, } enum CarotidAIImageTypeEnum { Base, YShape, Plaque, } class MeasureImageFileDTO { CarotidAIImageTypeEnum imageType; String? imageFile; MeasureImageFileDTO({ this.imageType = CarotidAIImageTypeEnum.Base, this.imageFile, }); factory MeasureImageFileDTO.fromJson(Map map) { return MeasureImageFileDTO( imageType: CarotidAIImageTypeEnum.values.firstWhere((e) => e.index == map['ImageType']), imageFile: map['ImageFile'], ); } Map toJson() { final map = Map(); map['ImageType'] = imageType.index; if (imageFile != null) { map['ImageFile'] = imageFile; } return map; } } class CarotidResultDTO { CarotidScanTypeEnum carotidScanType; CarotidScanDirectionEnum carotidScanDirection; String? surfaceFile; String? cDNSurfaceFile; int surfaceFileSize; String? mdlFile; String? cDNMdlFile; int mdlFileSize; List? measureImageFiles; String? measureResult; List? surfaceImageList; RecommendedDownloadModeEnum recommendedDownloadMode; CarotidResultDTO({ this.carotidScanType = CarotidScanTypeEnum.CarotidLeft, this.carotidScanDirection = CarotidScanDirectionEnum.TopToBottom, this.surfaceFile, this.cDNSurfaceFile, this.surfaceFileSize = 0, this.mdlFile, this.cDNMdlFile, this.mdlFileSize = 0, this.measureImageFiles, this.measureResult, this.surfaceImageList, this.recommendedDownloadMode = RecommendedDownloadModeEnum.Origin, }); factory CarotidResultDTO.fromJson(Map map) { return CarotidResultDTO( carotidScanType: CarotidScanTypeEnum.values.firstWhere((e) => e.index == map['CarotidScanType']), carotidScanDirection: CarotidScanDirectionEnum.values.firstWhere((e) => e.index == map['CarotidScanDirection']), surfaceFile: map['SurfaceFile'], cDNSurfaceFile: map['CDNSurfaceFile'], surfaceFileSize: map['SurfaceFileSize'], mdlFile: map['MdlFile'], cDNMdlFile: map['CDNMdlFile'], mdlFileSize: map['MdlFileSize'], measureImageFiles: map['MeasureImageFiles'] != null ? (map['MeasureImageFiles'] as List).map((e)=>MeasureImageFileDTO.fromJson(e as Map)).toList() : null, measureResult: map['MeasureResult'], surfaceImageList: map['SurfaceImageList']?.cast().toList(), recommendedDownloadMode: RecommendedDownloadModeEnum.values.firstWhere((e) => e.index == map['RecommendedDownloadMode']), ); } Map toJson() { final map = Map(); map['CarotidScanType'] = carotidScanType.index; map['CarotidScanDirection'] = carotidScanDirection.index; if (surfaceFile != null) { map['SurfaceFile'] = surfaceFile; } if (cDNSurfaceFile != null) { map['CDNSurfaceFile'] = cDNSurfaceFile; } map['SurfaceFileSize'] = surfaceFileSize; if (mdlFile != null) { map['MdlFile'] = mdlFile; } if (cDNMdlFile != null) { map['CDNMdlFile'] = cDNMdlFile; } map['MdlFileSize'] = mdlFileSize; if (measureImageFiles != null) { map['MeasureImageFiles'] = measureImageFiles; } if (measureResult != null) { map['MeasureResult'] = measureResult; } if (surfaceImageList != null) { map['SurfaceImageList'] = surfaceImageList; } map['RecommendedDownloadMode'] = recommendedDownloadMode.index; return map; } } enum BusinessTypeEnum { RemoteDiagnosis, LiveConsultation, Lab, } class QualityControlScoreItem { String? key; double score; QualityControlScoreItem({ this.key, this.score = 0, }); factory QualityControlScoreItem.fromJson(Map map) { return QualityControlScoreItem( key: map['Key'], score: double.parse(map['Score'].toString()), ); } Map toJson() { final map = Map(); if (key != null) { map['Key'] = key; } map['Score'] = score; return map; } } class ReportQualityControl { String? controlUserCode; String? controlUserName; String? opinion; double score; DateTime? controlTime; List? scoreItems; ReportQualityControl({ this.controlUserCode, this.controlUserName, this.opinion, this.score = 0, this.controlTime, this.scoreItems, }); factory ReportQualityControl.fromJson(Map map) { return ReportQualityControl( controlUserCode: map['ControlUserCode'], controlUserName: map['ControlUserName'], opinion: map['Opinion'], score: double.parse(map['Score'].toString()), controlTime: map['ControlTime'] != null ? DateTime.parse(map['ControlTime']) : null, scoreItems: map['ScoreItems'] != null ? (map['ScoreItems'] as List).map((e)=>QualityControlScoreItem.fromJson(e as Map)).toList() : null, ); } Map toJson() { final map = Map(); if (controlUserCode != null) { map['ControlUserCode'] = controlUserCode; } if (controlUserName != null) { map['ControlUserName'] = controlUserName; } if (opinion != null) { map['Opinion'] = opinion; } map['Score'] = score; if (controlTime != null) { map['ControlTime'] = JsonRpcUtils.dateFormat(controlTime!); } if (scoreItems != null) { map['ScoreItems'] = scoreItems; } return map; } } class RemedicalInfoDTO extends BaseDTO{ String? remedicalCode; String? deviceCode; String? recordCode; String? patientScanType; String? applicationCategory; String? application; TerminalImageDTO? terminalImages; RemedicalFileDataTypeEnum fileDataType; ImageLocationDTO? imageLocation; DiagnosisConclusionEnum diagnosisConclusion; String? diagnosisResult; List? diagnosisOrgans; MeasuredResultsDTO? measuredResult; ScanImageDTO? commentResult; CarotidResultDTO? carotidResult; BusinessTypeEnum businessType; ReportQualityControl? qualityControlDatas; bool isQualityControlled; RemedicalInfoDTO({ this.remedicalCode, this.deviceCode, this.recordCode, this.patientScanType, this.applicationCategory, this.application, this.terminalImages, this.fileDataType = RemedicalFileDataTypeEnum.VinnoVidSingle, this.imageLocation, this.diagnosisConclusion = DiagnosisConclusionEnum.NotRequired, this.diagnosisResult, this.diagnosisOrgans, this.measuredResult, this.commentResult, this.carotidResult, this.businessType = BusinessTypeEnum.RemoteDiagnosis, this.qualityControlDatas, this.isQualityControlled = false, DateTime? createTime, DateTime? updateTime, }) : super( createTime: createTime, updateTime: updateTime, ); factory RemedicalInfoDTO.fromJson(Map map) { return RemedicalInfoDTO( remedicalCode: map['RemedicalCode'], deviceCode: map['DeviceCode'], recordCode: map['RecordCode'], patientScanType: map['PatientScanType'], applicationCategory: map['ApplicationCategory'], application: map['Application'], terminalImages: map['TerminalImages'] != null ? TerminalImageDTO.fromJson(map['TerminalImages']) : null, fileDataType: RemedicalFileDataTypeEnum.values.firstWhere((e) => e.index == map['FileDataType']), imageLocation: map['ImageLocation'] != null ? ImageLocationDTO.fromJson(map['ImageLocation']) : null, diagnosisConclusion: DiagnosisConclusionEnum.values.firstWhere((e) => e.index == map['DiagnosisConclusion']), diagnosisResult: map['DiagnosisResult'], diagnosisOrgans: map['DiagnosisOrgans'] != null ? (map['DiagnosisOrgans'] as List).map((e)=>DiagnosisOrganEnum.values.firstWhere((i) => i.index == e)).toList() : null, measuredResult: map['MeasuredResult'] != null ? MeasuredResultsDTO.fromJson(map['MeasuredResult']) : null, commentResult: map['CommentResult'] != null ? ScanImageDTO.fromJson(map['CommentResult']) : null, carotidResult: map['CarotidResult'] != null ? CarotidResultDTO.fromJson(map['CarotidResult']) : null, businessType: BusinessTypeEnum.values.firstWhere((e) => e.index == map['BusinessType']), qualityControlDatas: map['QualityControlDatas'] != null ? ReportQualityControl.fromJson(map['QualityControlDatas']) : null, isQualityControlled: map['IsQualityControlled'], createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null, updateTime: map['UpdateTime'] != null ? DateTime.parse(map['UpdateTime']) : null, ); } Map toJson() { final map = super.toJson(); if (remedicalCode != null) map['RemedicalCode'] = remedicalCode; if (deviceCode != null) map['DeviceCode'] = deviceCode; if (recordCode != null) map['RecordCode'] = recordCode; if (patientScanType != null) map['PatientScanType'] = patientScanType; if (applicationCategory != null) map['ApplicationCategory'] = applicationCategory; if (application != null) map['Application'] = application; if (terminalImages != null) map['TerminalImages'] = terminalImages; map['FileDataType'] = fileDataType.index; if (imageLocation != null) map['ImageLocation'] = imageLocation; map['DiagnosisConclusion'] = diagnosisConclusion.index; if (diagnosisResult != null) map['DiagnosisResult'] = diagnosisResult; if (diagnosisOrgans != null) map['DiagnosisOrgans'] = diagnosisOrgans; if (measuredResult != null) map['MeasuredResult'] = measuredResult; if (commentResult != null) map['CommentResult'] = commentResult; if (carotidResult != null) map['CarotidResult'] = carotidResult; map['BusinessType'] = businessType.index; if (qualityControlDatas != null) map['QualityControlDatas'] = qualityControlDatas; map['IsQualityControlled'] = isQualityControlled; return map; } } class RemedicalMeasuredInfoDTO extends BaseDTO{ String? remedicalMeasuredInfoCode; String? userCode; String? recordCode; String? remedicalCode; int frameIndex; String? measuredFileToken; String? previewFileToken; String? measuredData; RemedicalMeasuredInfoDTO({ this.remedicalMeasuredInfoCode, this.userCode, this.recordCode, this.remedicalCode, this.frameIndex = 0, this.measuredFileToken, this.previewFileToken, this.measuredData, DateTime? createTime, DateTime? updateTime, }) : super( createTime: createTime, updateTime: updateTime, ); factory RemedicalMeasuredInfoDTO.fromJson(Map map) { return RemedicalMeasuredInfoDTO( remedicalMeasuredInfoCode: map['RemedicalMeasuredInfoCode'], userCode: map['UserCode'], recordCode: map['RecordCode'], remedicalCode: map['RemedicalCode'], frameIndex: map['FrameIndex'], measuredFileToken: map['MeasuredFileToken'], previewFileToken: map['PreviewFileToken'], measuredData: map['MeasuredData'], createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null, updateTime: map['UpdateTime'] != null ? DateTime.parse(map['UpdateTime']) : null, ); } Map toJson() { final map = super.toJson(); if (remedicalMeasuredInfoCode != null) map['RemedicalMeasuredInfoCode'] = remedicalMeasuredInfoCode; if (userCode != null) map['UserCode'] = userCode; if (recordCode != null) map['RecordCode'] = recordCode; if (remedicalCode != null) map['RemedicalCode'] = remedicalCode; map['FrameIndex'] = frameIndex; if (measuredFileToken != null) map['MeasuredFileToken'] = measuredFileToken; if (previewFileToken != null) map['PreviewFileToken'] = previewFileToken; if (measuredData != null) map['MeasuredData'] = measuredData; return map; } } class ConsultationImagesDTO { DateTime? imageDate; List? ultrasoundImageList; List? screenshotList; List? measurementImageList; ConsultationImagesDTO({ this.imageDate, this.ultrasoundImageList, this.screenshotList, this.measurementImageList, }); factory ConsultationImagesDTO.fromJson(Map map) { return ConsultationImagesDTO( imageDate: map['ImageDate'] != null ? DateTime.parse(map['ImageDate']) : null, ultrasoundImageList: map['UltrasoundImageList'] != null ? (map['UltrasoundImageList'] as List).map((e)=>RemedicalInfoDTO.fromJson(e as Map)).toList() : null, screenshotList: map['ScreenshotList'] != null ? (map['ScreenshotList'] as List).map((e)=>ConsultationFileDTO.fromJson(e as Map)).toList() : null, measurementImageList: map['MeasurementImageList'] != null ? (map['MeasurementImageList'] as List).map((e)=>RemedicalMeasuredInfoDTO.fromJson(e as Map)).toList() : null, ); } Map toJson() { final map = Map(); if (imageDate != null) { map['ImageDate'] = JsonRpcUtils.dateFormat(imageDate!); } if (ultrasoundImageList != null) { map['UltrasoundImageList'] = ultrasoundImageList; } if (screenshotList != null) { map['ScreenshotList'] = screenshotList; } if (measurementImageList != null) { map['MeasurementImageList'] = measurementImageList; } return map; } } enum UserInfoStateEnum { Nonactivated, Activated, } enum ApplyStateEnum { NotApply, Applying, Refused, Passed, } class LoginLockInfoDTO { DateTime? loginDate; int times; LoginLockInfoDTO({ this.loginDate, this.times = 0, }); factory LoginLockInfoDTO.fromJson(Map map) { return LoginLockInfoDTO( loginDate: map['LoginDate'] != null ? DateTime.parse(map['LoginDate']) : null, times: map['Times'], ); } Map toJson() { final map = Map(); if (loginDate != null) { map['LoginDate'] = JsonRpcUtils.dateFormat(loginDate!); } map['Times'] = times; return map; } } class AssociatedInfoDTO { String? id; String? relationName; String? title; String? cTitle; String? eTitle; String? icon; String? description; String? url; int index; AssociatedInfoDTO({ this.id, this.relationName, this.title, this.cTitle, this.eTitle, this.icon, this.description, this.url, this.index = 0, }); factory AssociatedInfoDTO.fromJson(Map map) { return AssociatedInfoDTO( id: map['Id'], relationName: map['RelationName'], title: map['Title'], cTitle: map['CTitle'], eTitle: map['ETitle'], icon: map['Icon'], description: map['Description'], url: map['Url'], index: map['Index'], ); } Map toJson() { final map = Map(); if (id != null) { map['Id'] = id; } if (relationName != null) { map['RelationName'] = relationName; } if (title != null) { map['Title'] = title; } if (cTitle != null) { map['CTitle'] = cTitle; } if (eTitle != null) { map['ETitle'] = eTitle; } if (icon != null) { map['Icon'] = icon; } if (description != null) { map['Description'] = description; } if (url != null) { map['Url'] = url; } map['Index'] = index; return map; } } class UserDTO extends UserBaseDTO{ String? nickName; String? organizationCode; String? organizationName; String? departmentCode; String? departmentName; String? departmentShortCode; String? rootOrganizationCode; String? rootOrganizationName; List? authorityGroups; List? bindDevices; List? bindDeviceOrganizations; String? lastIP; int logintimes; UserInfoStateEnum userState; List? roleCodes; List? rankCodes; List? positionCodes; ApplyStateEnum applyState; String? rankName; String? positionName; bool isDirector; List? fieldList; List? deletePatientCodes; bool isBatchExportDiagnoseData; String? bindAssistantUserCode; String? bindAssistantDoctorUserCode; LoginLockInfoDTO? loginLockInfo; String? signature; String? language; bool enableReportLabel; List? associatedInfos; String? commonPlatformUserId; String? bindEmergencyDeviceCode; String? bindEmergencyExpertCode; List? dashboardOrgCodes; String? organizationShortCode; String? rootOrganizationShortCode; bool isOldAgent; List? userFeatureCodes; String? openId; UserDTO({ this.nickName, this.organizationCode, this.organizationName, this.departmentCode, this.departmentName, this.departmentShortCode, this.rootOrganizationCode, this.rootOrganizationName, this.authorityGroups, this.bindDevices, this.bindDeviceOrganizations, this.lastIP, this.logintimes = 0, this.userState = UserInfoStateEnum.Nonactivated, this.roleCodes, this.rankCodes, this.positionCodes, this.applyState = ApplyStateEnum.NotApply, this.rankName, this.positionName, this.isDirector = false, this.fieldList, this.deletePatientCodes, this.isBatchExportDiagnoseData = false, this.bindAssistantUserCode, this.bindAssistantDoctorUserCode, this.loginLockInfo, this.signature, this.language, this.enableReportLabel = false, this.associatedInfos, this.commonPlatformUserId, this.bindEmergencyDeviceCode, this.bindEmergencyExpertCode, this.dashboardOrgCodes, this.organizationShortCode, this.rootOrganizationShortCode, this.isOldAgent = false, this.userFeatureCodes, this.openId, String? phone, String? email, String? userCode, String? userName, String? fullName, String? headImageUrl, String? displayName, DateTime? createTime, DateTime? updateTime, }) : super( phone: phone, email: email, userCode: userCode, userName: userName, fullName: fullName, headImageUrl: headImageUrl, displayName: displayName, createTime: createTime, updateTime: updateTime, ); factory UserDTO.fromJson(Map map) { return UserDTO( nickName: map['NickName'], organizationCode: map['OrganizationCode'], organizationName: map['OrganizationName'], departmentCode: map['DepartmentCode'], departmentName: map['DepartmentName'], departmentShortCode: map['DepartmentShortCode'], rootOrganizationCode: map['RootOrganizationCode'], rootOrganizationName: map['RootOrganizationName'], authorityGroups: map['AuthorityGroups']?.cast().toList(), bindDevices: map['BindDevices']?.cast().toList(), bindDeviceOrganizations: map['BindDeviceOrganizations']?.cast().toList(), lastIP: map['LastIP'], logintimes: map['Logintimes'], userState: UserInfoStateEnum.values.firstWhere((e) => e.index == map['UserState']), roleCodes: map['RoleCodes']?.cast().toList(), rankCodes: map['RankCodes']?.cast().toList(), positionCodes: map['PositionCodes']?.cast().toList(), applyState: ApplyStateEnum.values.firstWhere((e) => e.index == map['ApplyState']), rankName: map['RankName'], positionName: map['PositionName'], isDirector: map['IsDirector'], fieldList: map['FieldList']?.cast().toList(), deletePatientCodes: map['DeletePatientCodes']?.cast().toList(), isBatchExportDiagnoseData: map['IsBatchExportDiagnoseData'], bindAssistantUserCode: map['BindAssistantUserCode'], bindAssistantDoctorUserCode: map['BindAssistantDoctorUserCode'], loginLockInfo: map['LoginLockInfo'] != null ? LoginLockInfoDTO.fromJson(map['LoginLockInfo']) : null, signature: map['Signature'], language: map['Language'], enableReportLabel: map['EnableReportLabel'], associatedInfos: map['AssociatedInfos'] != null ? (map['AssociatedInfos'] as List).map((e)=>AssociatedInfoDTO.fromJson(e as Map)).toList() : null, commonPlatformUserId: map['CommonPlatformUserId'], bindEmergencyDeviceCode: map['BindEmergencyDeviceCode'], bindEmergencyExpertCode: map['BindEmergencyExpertCode'], dashboardOrgCodes: map['DashboardOrgCodes']?.cast().toList(), organizationShortCode: map['OrganizationShortCode'], rootOrganizationShortCode: map['RootOrganizationShortCode'], isOldAgent: map['IsOldAgent'], userFeatureCodes: map['UserFeatureCodes']?.cast().toList(), openId: map['OpenId'], phone: map['Phone'], email: map['Email'], userCode: map['UserCode'], userName: map['UserName'], fullName: map['FullName'], headImageUrl: map['HeadImageUrl'], displayName: map['DisplayName'], createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null, updateTime: map['UpdateTime'] != null ? DateTime.parse(map['UpdateTime']) : null, ); } Map toJson() { final map = super.toJson(); if (nickName != null) map['NickName'] = nickName; if (organizationCode != null) map['OrganizationCode'] = organizationCode; if (organizationName != null) map['OrganizationName'] = organizationName; if (departmentCode != null) map['DepartmentCode'] = departmentCode; if (departmentName != null) map['DepartmentName'] = departmentName; if (departmentShortCode != null) map['DepartmentShortCode'] = departmentShortCode; if (rootOrganizationCode != null) map['RootOrganizationCode'] = rootOrganizationCode; if (rootOrganizationName != null) map['RootOrganizationName'] = rootOrganizationName; if (authorityGroups != null) map['AuthorityGroups'] = authorityGroups; if (bindDevices != null) map['BindDevices'] = bindDevices; if (bindDeviceOrganizations != null) map['BindDeviceOrganizations'] = bindDeviceOrganizations; if (lastIP != null) map['LastIP'] = lastIP; map['Logintimes'] = logintimes; map['UserState'] = userState.index; if (roleCodes != null) map['RoleCodes'] = roleCodes; if (rankCodes != null) map['RankCodes'] = rankCodes; if (positionCodes != null) map['PositionCodes'] = positionCodes; map['ApplyState'] = applyState.index; if (rankName != null) map['RankName'] = rankName; if (positionName != null) map['PositionName'] = positionName; map['IsDirector'] = isDirector; if (fieldList != null) map['FieldList'] = fieldList; if (deletePatientCodes != null) map['DeletePatientCodes'] = deletePatientCodes; map['IsBatchExportDiagnoseData'] = isBatchExportDiagnoseData; if (bindAssistantUserCode != null) map['BindAssistantUserCode'] = bindAssistantUserCode; if (bindAssistantDoctorUserCode != null) map['BindAssistantDoctorUserCode'] = bindAssistantDoctorUserCode; if (loginLockInfo != null) map['LoginLockInfo'] = loginLockInfo; if (signature != null) map['Signature'] = signature; if (language != null) map['Language'] = language; map['EnableReportLabel'] = enableReportLabel; if (associatedInfos != null) map['AssociatedInfos'] = associatedInfos; if (commonPlatformUserId != null) map['CommonPlatformUserId'] = commonPlatformUserId; if (bindEmergencyDeviceCode != null) map['BindEmergencyDeviceCode'] = bindEmergencyDeviceCode; if (bindEmergencyExpertCode != null) map['BindEmergencyExpertCode'] = bindEmergencyExpertCode; if (dashboardOrgCodes != null) map['DashboardOrgCodes'] = dashboardOrgCodes; if (organizationShortCode != null) map['OrganizationShortCode'] = organizationShortCode; if (rootOrganizationShortCode != null) map['RootOrganizationShortCode'] = rootOrganizationShortCode; map['IsOldAgent'] = isOldAgent; if (userFeatureCodes != null) map['UserFeatureCodes'] = userFeatureCodes; if (openId != null) map['OpenId'] = openId; return map; } } class UserExtendDTO extends UserDTO{ String? roleName; UserStatusEnum userStatus; UserExtendDTO({ this.roleName, this.userStatus = UserStatusEnum.NotOnline, String? nickName, String? organizationCode, String? organizationName, String? departmentCode, String? departmentName, String? departmentShortCode, String? rootOrganizationCode, String? rootOrganizationName, List? authorityGroups, List? bindDevices, List? bindDeviceOrganizations, String? lastIP, int logintimes = 0, UserInfoStateEnum userState = UserInfoStateEnum.Nonactivated, List? roleCodes, List? rankCodes, List? positionCodes, ApplyStateEnum applyState = ApplyStateEnum.NotApply, String? rankName, String? positionName, bool isDirector = false, List? fieldList, List? deletePatientCodes, bool isBatchExportDiagnoseData = false, String? bindAssistantUserCode, String? bindAssistantDoctorUserCode, LoginLockInfoDTO? loginLockInfo, String? signature, String? language, bool enableReportLabel = false, List? associatedInfos, String? commonPlatformUserId, String? bindEmergencyDeviceCode, String? bindEmergencyExpertCode, List? dashboardOrgCodes, String? organizationShortCode, String? rootOrganizationShortCode, bool isOldAgent = false, List? userFeatureCodes, String? openId, String? phone, String? email, String? userCode, String? userName, String? fullName, String? headImageUrl, String? displayName, DateTime? createTime, DateTime? updateTime, }) : super( nickName: nickName, organizationCode: organizationCode, organizationName: organizationName, departmentCode: departmentCode, departmentName: departmentName, departmentShortCode: departmentShortCode, rootOrganizationCode: rootOrganizationCode, rootOrganizationName: rootOrganizationName, authorityGroups: authorityGroups, bindDevices: bindDevices, bindDeviceOrganizations: bindDeviceOrganizations, lastIP: lastIP, logintimes: logintimes, userState: userState, roleCodes: roleCodes, rankCodes: rankCodes, positionCodes: positionCodes, applyState: applyState, rankName: rankName, positionName: positionName, isDirector: isDirector, fieldList: fieldList, deletePatientCodes: deletePatientCodes, isBatchExportDiagnoseData: isBatchExportDiagnoseData, bindAssistantUserCode: bindAssistantUserCode, bindAssistantDoctorUserCode: bindAssistantDoctorUserCode, loginLockInfo: loginLockInfo, signature: signature, language: language, enableReportLabel: enableReportLabel, associatedInfos: associatedInfos, commonPlatformUserId: commonPlatformUserId, bindEmergencyDeviceCode: bindEmergencyDeviceCode, bindEmergencyExpertCode: bindEmergencyExpertCode, dashboardOrgCodes: dashboardOrgCodes, organizationShortCode: organizationShortCode, rootOrganizationShortCode: rootOrganizationShortCode, isOldAgent: isOldAgent, userFeatureCodes: userFeatureCodes, openId: openId, phone: phone, email: email, userCode: userCode, userName: userName, fullName: fullName, headImageUrl: headImageUrl, displayName: displayName, createTime: createTime, updateTime: updateTime, ); factory UserExtendDTO.fromJson(Map map) { return UserExtendDTO( roleName: map['RoleName'], userStatus: UserStatusEnum.values.firstWhere((e) => e.index == map['UserStatus']), nickName: map['NickName'], organizationCode: map['OrganizationCode'], organizationName: map['OrganizationName'], departmentCode: map['DepartmentCode'], departmentName: map['DepartmentName'], departmentShortCode: map['DepartmentShortCode'], rootOrganizationCode: map['RootOrganizationCode'], rootOrganizationName: map['RootOrganizationName'], authorityGroups: map['AuthorityGroups']?.cast().toList(), bindDevices: map['BindDevices']?.cast().toList(), bindDeviceOrganizations: map['BindDeviceOrganizations']?.cast().toList(), lastIP: map['LastIP'], logintimes: map['Logintimes'], userState: UserInfoStateEnum.values.firstWhere((e) => e.index == map['UserState']), roleCodes: map['RoleCodes']?.cast().toList(), rankCodes: map['RankCodes']?.cast().toList(), positionCodes: map['PositionCodes']?.cast().toList(), applyState: ApplyStateEnum.values.firstWhere((e) => e.index == map['ApplyState']), rankName: map['RankName'], positionName: map['PositionName'], isDirector: map['IsDirector'], fieldList: map['FieldList']?.cast().toList(), deletePatientCodes: map['DeletePatientCodes']?.cast().toList(), isBatchExportDiagnoseData: map['IsBatchExportDiagnoseData'], bindAssistantUserCode: map['BindAssistantUserCode'], bindAssistantDoctorUserCode: map['BindAssistantDoctorUserCode'], loginLockInfo: map['LoginLockInfo'] != null ? LoginLockInfoDTO.fromJson(map['LoginLockInfo']) : null, signature: map['Signature'], language: map['Language'], enableReportLabel: map['EnableReportLabel'], associatedInfos: map['AssociatedInfos'] != null ? (map['AssociatedInfos'] as List).map((e)=>AssociatedInfoDTO.fromJson(e as Map)).toList() : null, commonPlatformUserId: map['CommonPlatformUserId'], bindEmergencyDeviceCode: map['BindEmergencyDeviceCode'], bindEmergencyExpertCode: map['BindEmergencyExpertCode'], dashboardOrgCodes: map['DashboardOrgCodes']?.cast().toList(), organizationShortCode: map['OrganizationShortCode'], rootOrganizationShortCode: map['RootOrganizationShortCode'], isOldAgent: map['IsOldAgent'], userFeatureCodes: map['UserFeatureCodes']?.cast().toList(), openId: map['OpenId'], phone: map['Phone'], email: map['Email'], userCode: map['UserCode'], userName: map['UserName'], fullName: map['FullName'], headImageUrl: map['HeadImageUrl'], displayName: map['DisplayName'], createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null, updateTime: map['UpdateTime'] != null ? DateTime.parse(map['UpdateTime']) : null, ); } Map toJson() { final map = super.toJson(); if (roleName != null) map['RoleName'] = roleName; map['UserStatus'] = userStatus.index; return map; } } class GetInviteableUserListRequest extends TokenRequest{ String? consultationCode; String? language; String? organizationCode; GetInviteableUserListRequest({ this.consultationCode, this.language, this.organizationCode, String? token, }) : super( token: token, ); factory GetInviteableUserListRequest.fromJson(Map map) { return GetInviteableUserListRequest( consultationCode: map['ConsultationCode'], language: map['Language'], organizationCode: map['OrganizationCode'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (consultationCode != null) map['ConsultationCode'] = consultationCode; if (language != null) map['Language'] = language; if (organizationCode != null) map['OrganizationCode'] = organizationCode; return map; } } class ChangeConsultationResult { String? consultationCode; String? initiatorCode; int roomNo; List? memberLiveDatas; ChangeConsultationResult({ this.consultationCode, this.initiatorCode, this.roomNo = 0, this.memberLiveDatas, }); factory ChangeConsultationResult.fromJson(Map map) { return ChangeConsultationResult( consultationCode: map['ConsultationCode'], initiatorCode: map['InitiatorCode'], roomNo: map['RoomNo'], memberLiveDatas: map['MemberLiveDatas'] != null ? (map['MemberLiveDatas'] as List).map((e)=>LiveConsultationMember.fromJson(e as Map)).toList() : null, ); } Map toJson() { final map = Map(); if (consultationCode != null) { map['ConsultationCode'] = consultationCode; } if (initiatorCode != null) { map['InitiatorCode'] = initiatorCode; } map['RoomNo'] = roomNo; if (memberLiveDatas != null) { map['MemberLiveDatas'] = memberLiveDatas; } return map; } } class ChangeConsultationRequest extends TokenRequest{ String? originalCode; String? currentCode; ChangeConsultationRequest({ this.originalCode, this.currentCode, String? token, }) : super( token: token, ); factory ChangeConsultationRequest.fromJson(Map map) { return ChangeConsultationRequest( originalCode: map['OriginalCode'], currentCode: map['CurrentCode'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (originalCode != null) map['OriginalCode'] = originalCode; if (currentCode != null) map['CurrentCode'] = currentCode; return map; } } enum DownloadModeSettingEnum { Auto, Origin, CDN, } enum SonopostVersionEnum { Sonopost, Sonopost2, } class DictionaryLanguageConfigDTO { String? language; String? value; DictionaryLanguageConfigDTO({ this.language, this.value, }); factory DictionaryLanguageConfigDTO.fromJson(Map map) { return DictionaryLanguageConfigDTO( language: map['Language'], value: map['Value'], ); } Map toJson() { final map = Map(); if (language != null) { map['Language'] = language; } if (value != null) { map['Value'] = value; } return map; } } class DeviceInfoDTO extends BaseDTO{ String? deviceCode; String? serialNumber; String? password; String? name; String? description; String? deviceModel; String? deviceType; String? headPicUrl; String? deviceSoftwareVersion; String? sDKSoftwareVersion; String? organizationCode; String? departmentCode; String? shortCode; bool isAutoShared; bool isEncryptedShow; DateTime? lastLoginTime; String? systemVersion; String? cPUModel; String? systemLanguage; List? diagnosisModules; List? reportPosterCodes; bool mergedChannel; int mergedVideoOutputWidth; int mergedVideoOutputHeight; List? videoDeviceInfos; DownloadModeSettingEnum downloadModeSetting; bool liveOpened; bool supportRtc; String? displayName; SonopostVersionEnum sonopostVersion; List? deviceAttributes; bool isOnline; bool isActive; List? languageConfigs; String? upgradeVersionCode; DeviceInfoDTO({ this.deviceCode, this.serialNumber, this.password, this.name, this.description, this.deviceModel, this.deviceType, this.headPicUrl, this.deviceSoftwareVersion, this.sDKSoftwareVersion, this.organizationCode, this.departmentCode, this.shortCode, this.isAutoShared = false, this.isEncryptedShow = false, this.lastLoginTime, this.systemVersion, this.cPUModel, this.systemLanguage, this.diagnosisModules, this.reportPosterCodes, this.mergedChannel = false, this.mergedVideoOutputWidth = 0, this.mergedVideoOutputHeight = 0, this.videoDeviceInfos, this.downloadModeSetting = DownloadModeSettingEnum.Auto, this.liveOpened = false, this.supportRtc = false, this.displayName, this.sonopostVersion = SonopostVersionEnum.Sonopost, this.deviceAttributes, this.isOnline = false, this.isActive = false, this.languageConfigs, this.upgradeVersionCode, DateTime? createTime, DateTime? updateTime, }) : super( createTime: createTime, updateTime: updateTime, ); factory DeviceInfoDTO.fromJson(Map map) { return DeviceInfoDTO( deviceCode: map['DeviceCode'], serialNumber: map['SerialNumber'], password: map['Password'], name: map['Name'], description: map['Description'], deviceModel: map['DeviceModel'], deviceType: map['DeviceType'], headPicUrl: map['HeadPicUrl'], deviceSoftwareVersion: map['DeviceSoftwareVersion'], sDKSoftwareVersion: map['SDKSoftwareVersion'], organizationCode: map['OrganizationCode'], departmentCode: map['DepartmentCode'], shortCode: map['ShortCode'], isAutoShared: map['IsAutoShared'], isEncryptedShow: map['IsEncryptedShow'], lastLoginTime: map['LastLoginTime'] != null ? DateTime.parse(map['LastLoginTime']) : null, systemVersion: map['SystemVersion'], cPUModel: map['CPUModel'], systemLanguage: map['SystemLanguage'], diagnosisModules: map['DiagnosisModules']?.cast().toList(), reportPosterCodes: map['ReportPosterCodes']?.cast().toList(), mergedChannel: map['MergedChannel'], mergedVideoOutputWidth: map['MergedVideoOutputWidth'], mergedVideoOutputHeight: map['MergedVideoOutputHeight'], videoDeviceInfos: map['VideoDeviceInfos'] != null ? (map['VideoDeviceInfos'] as List).map((e)=>VideoDeviceDTO.fromJson(e as Map)).toList() : null, downloadModeSetting: DownloadModeSettingEnum.values.firstWhere((e) => e.index == map['DownloadModeSetting']), liveOpened: map['LiveOpened'], supportRtc: map['SupportRtc'], displayName: map['DisplayName'], sonopostVersion: SonopostVersionEnum.values.firstWhere((e) => e.index == map['SonopostVersion']), deviceAttributes: map['DeviceAttributes'] != null ? (map['DeviceAttributes'] as List).map((e)=>DataItemDTO.fromJson(e as Map)).toList() : null, isOnline: map['IsOnline'], isActive: map['IsActive'], languageConfigs: map['LanguageConfigs'] != null ? (map['LanguageConfigs'] as List).map((e)=>DictionaryLanguageConfigDTO.fromJson(e as Map)).toList() : null, upgradeVersionCode: map['UpgradeVersionCode'], createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null, updateTime: map['UpdateTime'] != null ? DateTime.parse(map['UpdateTime']) : null, ); } Map toJson() { final map = super.toJson(); if (deviceCode != null) map['DeviceCode'] = deviceCode; if (serialNumber != null) map['SerialNumber'] = serialNumber; if (password != null) map['Password'] = password; if (name != null) map['Name'] = name; if (description != null) map['Description'] = description; if (deviceModel != null) map['DeviceModel'] = deviceModel; if (deviceType != null) map['DeviceType'] = deviceType; if (headPicUrl != null) map['HeadPicUrl'] = headPicUrl; if (deviceSoftwareVersion != null) map['DeviceSoftwareVersion'] = deviceSoftwareVersion; if (sDKSoftwareVersion != null) map['SDKSoftwareVersion'] = sDKSoftwareVersion; if (organizationCode != null) map['OrganizationCode'] = organizationCode; if (departmentCode != null) map['DepartmentCode'] = departmentCode; if (shortCode != null) map['ShortCode'] = shortCode; map['IsAutoShared'] = isAutoShared; map['IsEncryptedShow'] = isEncryptedShow; if (lastLoginTime != null) map['LastLoginTime'] = JsonRpcUtils.dateFormat(lastLoginTime!); if (systemVersion != null) map['SystemVersion'] = systemVersion; if (cPUModel != null) map['CPUModel'] = cPUModel; if (systemLanguage != null) map['SystemLanguage'] = systemLanguage; if (diagnosisModules != null) map['DiagnosisModules'] = diagnosisModules; if (reportPosterCodes != null) map['ReportPosterCodes'] = reportPosterCodes; map['MergedChannel'] = mergedChannel; map['MergedVideoOutputWidth'] = mergedVideoOutputWidth; map['MergedVideoOutputHeight'] = mergedVideoOutputHeight; if (videoDeviceInfos != null) map['VideoDeviceInfos'] = videoDeviceInfos; map['DownloadModeSetting'] = downloadModeSetting.index; map['LiveOpened'] = liveOpened; map['SupportRtc'] = supportRtc; if (displayName != null) map['DisplayName'] = displayName; map['SonopostVersion'] = sonopostVersion.index; if (deviceAttributes != null) map['DeviceAttributes'] = deviceAttributes; map['IsOnline'] = isOnline; map['IsActive'] = isActive; if (languageConfigs != null) map['LanguageConfigs'] = languageConfigs; if (upgradeVersionCode != null) map['UpgradeVersionCode'] = upgradeVersionCode; return map; } } enum BusinessModuleEnum { placeHolder_0, RemoteDiagnosis, LivingConsultation, LivingCourse, DeviceLiving, RemoteControl, } class EmergencyDeviceInfoDTO extends DeviceInfoDTO{ bool isOccupied; BusinessModuleEnum occupiedModuleEnum; EmergencyDeviceInfoDTO({ this.isOccupied = false, this.occupiedModuleEnum = BusinessModuleEnum.RemoteDiagnosis, String? deviceCode, String? serialNumber, String? password, String? name, String? description, String? deviceModel, String? deviceType, String? headPicUrl, String? deviceSoftwareVersion, String? sDKSoftwareVersion, String? organizationCode, String? departmentCode, String? shortCode, bool isAutoShared = false, bool isEncryptedShow = false, DateTime? lastLoginTime, String? systemVersion, String? cPUModel, String? systemLanguage, List? diagnosisModules, List? reportPosterCodes, bool mergedChannel = false, int mergedVideoOutputWidth = 0, int mergedVideoOutputHeight = 0, List? videoDeviceInfos, DownloadModeSettingEnum downloadModeSetting = DownloadModeSettingEnum.Auto, bool liveOpened = false, bool supportRtc = false, String? displayName, SonopostVersionEnum sonopostVersion = SonopostVersionEnum.Sonopost, List? deviceAttributes, bool isOnline = false, bool isActive = false, List? languageConfigs, String? upgradeVersionCode, DateTime? createTime, DateTime? updateTime, }) : super( deviceCode: deviceCode, serialNumber: serialNumber, password: password, name: name, description: description, deviceModel: deviceModel, deviceType: deviceType, headPicUrl: headPicUrl, deviceSoftwareVersion: deviceSoftwareVersion, sDKSoftwareVersion: sDKSoftwareVersion, organizationCode: organizationCode, departmentCode: departmentCode, shortCode: shortCode, isAutoShared: isAutoShared, isEncryptedShow: isEncryptedShow, lastLoginTime: lastLoginTime, systemVersion: systemVersion, cPUModel: cPUModel, systemLanguage: systemLanguage, diagnosisModules: diagnosisModules, reportPosterCodes: reportPosterCodes, mergedChannel: mergedChannel, mergedVideoOutputWidth: mergedVideoOutputWidth, mergedVideoOutputHeight: mergedVideoOutputHeight, videoDeviceInfos: videoDeviceInfos, downloadModeSetting: downloadModeSetting, liveOpened: liveOpened, supportRtc: supportRtc, displayName: displayName, sonopostVersion: sonopostVersion, deviceAttributes: deviceAttributes, isOnline: isOnline, isActive: isActive, languageConfigs: languageConfigs, upgradeVersionCode: upgradeVersionCode, createTime: createTime, updateTime: updateTime, ); factory EmergencyDeviceInfoDTO.fromJson(Map map) { return EmergencyDeviceInfoDTO( isOccupied: map['IsOccupied'], occupiedModuleEnum: BusinessModuleEnum.values.firstWhere((e) => e.index == map['OccupiedModuleEnum']), deviceCode: map['DeviceCode'], serialNumber: map['SerialNumber'], password: map['Password'], name: map['Name'], description: map['Description'], deviceModel: map['DeviceModel'], deviceType: map['DeviceType'], headPicUrl: map['HeadPicUrl'], deviceSoftwareVersion: map['DeviceSoftwareVersion'], sDKSoftwareVersion: map['SDKSoftwareVersion'], organizationCode: map['OrganizationCode'], departmentCode: map['DepartmentCode'], shortCode: map['ShortCode'], isAutoShared: map['IsAutoShared'], isEncryptedShow: map['IsEncryptedShow'], lastLoginTime: map['LastLoginTime'] != null ? DateTime.parse(map['LastLoginTime']) : null, systemVersion: map['SystemVersion'], cPUModel: map['CPUModel'], systemLanguage: map['SystemLanguage'], diagnosisModules: map['DiagnosisModules']?.cast().toList(), reportPosterCodes: map['ReportPosterCodes']?.cast().toList(), mergedChannel: map['MergedChannel'], mergedVideoOutputWidth: map['MergedVideoOutputWidth'], mergedVideoOutputHeight: map['MergedVideoOutputHeight'], videoDeviceInfos: map['VideoDeviceInfos'] != null ? (map['VideoDeviceInfos'] as List).map((e)=>VideoDeviceDTO.fromJson(e as Map)).toList() : null, downloadModeSetting: DownloadModeSettingEnum.values.firstWhere((e) => e.index == map['DownloadModeSetting']), liveOpened: map['LiveOpened'], supportRtc: map['SupportRtc'], displayName: map['DisplayName'], sonopostVersion: SonopostVersionEnum.values.firstWhere((e) => e.index == map['SonopostVersion']), deviceAttributes: map['DeviceAttributes'] != null ? (map['DeviceAttributes'] as List).map((e)=>DataItemDTO.fromJson(e as Map)).toList() : null, isOnline: map['IsOnline'], isActive: map['IsActive'], languageConfigs: map['LanguageConfigs'] != null ? (map['LanguageConfigs'] as List).map((e)=>DictionaryLanguageConfigDTO.fromJson(e as Map)).toList() : null, upgradeVersionCode: map['UpgradeVersionCode'], createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null, updateTime: map['UpdateTime'] != null ? DateTime.parse(map['UpdateTime']) : null, ); } Map toJson() { final map = super.toJson(); map['IsOccupied'] = isOccupied; map['OccupiedModuleEnum'] = occupiedModuleEnum.index; return map; } } class QueryEmergencyDataResult { List? deviceInfoList; List? expertList; QueryEmergencyDataResult({ this.deviceInfoList, this.expertList, }); factory QueryEmergencyDataResult.fromJson(Map map) { return QueryEmergencyDataResult( deviceInfoList: map['DeviceInfoList'] != null ? (map['DeviceInfoList'] as List).map((e)=>EmergencyDeviceInfoDTO.fromJson(e as Map)).toList() : null, expertList: map['ExpertList'] != null ? (map['ExpertList'] as List).map((e)=>UserDTO.fromJson(e as Map)).toList() : null, ); } Map toJson() { final map = Map(); if (deviceInfoList != null) { map['DeviceInfoList'] = deviceInfoList; } if (expertList != null) { map['ExpertList'] = expertList; } return map; } } class ControlDeviceResponseRequest extends BaseControlDeviceRequest{ String? userCode; String? userName; LoginSource loginSource; ControlDeviceResponseRequest({ this.userCode, this.userName, this.loginSource = LoginSource.PC, ControlDeviceParameterEnum controlType = ControlDeviceParameterEnum.Start, bool isNeedSyn = false, String? token, }) : super( controlType: controlType, isNeedSyn: isNeedSyn, token: token, ); factory ControlDeviceResponseRequest.fromJson(Map map) { return ControlDeviceResponseRequest( userCode: map['UserCode'], userName: map['UserName'], loginSource: LoginSource.values.firstWhere((e) => e.index == map['LoginSource']), controlType: ControlDeviceParameterEnum.values.firstWhere((e) => e.index == map['ControlType']), isNeedSyn: map['IsNeedSyn'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (userCode != null) map['UserCode'] = userCode; if (userName != null) map['UserName'] = userName; map['LoginSource'] = loginSource.index; return map; } } enum SyncDBEnum { Migrate, Synchronize, } class SyncEvaluatesRequest { String? consultationRecordCode; EvaluateGradeEnum evaluateGrade; double evaluateScore; String? feedback; bool isDelete; DateTime? createTime; DateTime? updateTime; String? code; SyncEvaluatesRequest({ this.consultationRecordCode, this.evaluateGrade = EvaluateGradeEnum.UnSet, this.evaluateScore = 0, this.feedback, this.isDelete = false, this.createTime, this.updateTime, this.code, }); factory SyncEvaluatesRequest.fromJson(Map map) { return SyncEvaluatesRequest( consultationRecordCode: map['ConsultationRecordCode'], evaluateGrade: EvaluateGradeEnum.values.firstWhere((e) => e.index == map['EvaluateGrade']), evaluateScore: double.parse(map['EvaluateScore'].toString()), feedback: map['Feedback'], isDelete: map['IsDelete'], createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null, updateTime: map['UpdateTime'] != null ? DateTime.parse(map['UpdateTime']) : null, code: map['Code'], ); } Map toJson() { final map = Map(); if (consultationRecordCode != null) { map['ConsultationRecordCode'] = consultationRecordCode; } map['EvaluateGrade'] = evaluateGrade.index; map['EvaluateScore'] = evaluateScore; if (feedback != null) { map['Feedback'] = feedback; } map['IsDelete'] = isDelete; if (createTime != null) { map['CreateTime'] = JsonRpcUtils.dateFormat(createTime!); } if (updateTime != null) { map['UpdateTime'] = JsonRpcUtils.dateFormat(updateTime!); } if (code != null) { map['Code'] = code; } return map; } } enum FollowUpVisitStatusEnum { Unknown, PendingVisit, VisitCompleted, } class SyncFollowUpVisitRequest extends FollowUpVisitDTO{ bool isDelete; DateTime? createTime; DateTime? updateTime; SyncFollowUpVisitRequest({ this.isDelete = false, this.createTime, this.updateTime, String? followUpVisitCode, String? consultationRecordCode, String? patientName, String? patientPhone, String? generalCase, String? clinicalSituation, String? doctorCode, String? doctorName, DateTime? occurredTime, }) : super( followUpVisitCode: followUpVisitCode, consultationRecordCode: consultationRecordCode, patientName: patientName, patientPhone: patientPhone, generalCase: generalCase, clinicalSituation: clinicalSituation, doctorCode: doctorCode, doctorName: doctorName, occurredTime: occurredTime, ); factory SyncFollowUpVisitRequest.fromJson(Map map) { return SyncFollowUpVisitRequest( isDelete: map['IsDelete'], createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null, updateTime: map['UpdateTime'] != null ? DateTime.parse(map['UpdateTime']) : null, followUpVisitCode: map['FollowUpVisitCode'], consultationRecordCode: map['ConsultationRecordCode'], patientName: map['PatientName'], patientPhone: map['PatientPhone'], generalCase: map['GeneralCase'], clinicalSituation: map['ClinicalSituation'], doctorCode: map['DoctorCode'], doctorName: map['DoctorName'], occurredTime: map['OccurredTime'] != null ? DateTime.parse(map['OccurredTime']) : null, ); } Map toJson() { final map = super.toJson(); map['IsDelete'] = isDelete; if (createTime != null) map['CreateTime'] = JsonRpcUtils.dateFormat(createTime!); if (updateTime != null) map['UpdateTime'] = JsonRpcUtils.dateFormat(updateTime!); return map; } } class SyncConsultationRequest { String? consultationCode; DateTime? createTime; DateTime? updateTime; String? applyOrganizationCode; String? applyUserCode; String? expertOrganizationCode; String? expertUserCode; String? deviceCode; String? scanUser; List? patientInfo; List? scanPositions; DateTime? consultationTime; DateTime? consultationTimeEnd; TransactionStatusEnum consultationStatus; List? consultationFileList; String? rejectReason; String? description; String? diseases; String? primaryDiagnosis; SyncEvaluatesRequest? evaluates; FollowUpVisitStatusEnum followUpVisitStatus; List? syncFollowUpVisitList; SyncConsultationRequest({ this.consultationCode, this.createTime, this.updateTime, this.applyOrganizationCode, this.applyUserCode, this.expertOrganizationCode, this.expertUserCode, this.deviceCode, this.scanUser, this.patientInfo, this.scanPositions, this.consultationTime, this.consultationTimeEnd, this.consultationStatus = TransactionStatusEnum.Applied, this.consultationFileList, this.rejectReason, this.description, this.diseases, this.primaryDiagnosis, this.evaluates, this.followUpVisitStatus = FollowUpVisitStatusEnum.Unknown, this.syncFollowUpVisitList, }); factory SyncConsultationRequest.fromJson(Map map) { return SyncConsultationRequest( consultationCode: map['ConsultationCode'], createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null, updateTime: map['UpdateTime'] != null ? DateTime.parse(map['UpdateTime']) : null, applyOrganizationCode: map['ApplyOrganizationCode'], applyUserCode: map['ApplyUserCode'], expertOrganizationCode: map['ExpertOrganizationCode'], expertUserCode: map['ExpertUserCode'], deviceCode: map['DeviceCode'], scanUser: map['ScanUser'], patientInfo: map['PatientInfo'] != null ? (map['PatientInfo'] as List).map((e)=>DataItemDTO.fromJson(e as Map)).toList() : null, scanPositions: map['ScanPositions']?.cast().toList(), consultationTime: map['ConsultationTime'] != null ? DateTime.parse(map['ConsultationTime']) : null, consultationTimeEnd: map['ConsultationTimeEnd'] != null ? DateTime.parse(map['ConsultationTimeEnd']) : null, consultationStatus: TransactionStatusEnum.values.firstWhere((e) => e.index == map['ConsultationStatus']), consultationFileList: map['ConsultationFileList'] != null ? (map['ConsultationFileList'] as List).map((e)=>ConsultationFileDTO.fromJson(e as Map)).toList() : null, rejectReason: map['RejectReason'], description: map['Description'], diseases: map['Diseases'], primaryDiagnosis: map['PrimaryDiagnosis'], evaluates: map['Evaluates'] != null ? SyncEvaluatesRequest.fromJson(map['Evaluates']) : null, followUpVisitStatus: FollowUpVisitStatusEnum.values.firstWhere((e) => e.index == map['FollowUpVisitStatus']), syncFollowUpVisitList: map['SyncFollowUpVisitList'] != null ? (map['SyncFollowUpVisitList'] as List).map((e)=>SyncFollowUpVisitRequest.fromJson(e as Map)).toList() : null, ); } Map toJson() { final map = Map(); if (consultationCode != null) { map['ConsultationCode'] = consultationCode; } if (createTime != null) { map['CreateTime'] = JsonRpcUtils.dateFormat(createTime!); } if (updateTime != null) { map['UpdateTime'] = JsonRpcUtils.dateFormat(updateTime!); } if (applyOrganizationCode != null) { map['ApplyOrganizationCode'] = applyOrganizationCode; } if (applyUserCode != null) { map['ApplyUserCode'] = applyUserCode; } if (expertOrganizationCode != null) { map['ExpertOrganizationCode'] = expertOrganizationCode; } if (expertUserCode != null) { map['ExpertUserCode'] = expertUserCode; } if (deviceCode != null) { map['DeviceCode'] = deviceCode; } if (scanUser != null) { map['ScanUser'] = scanUser; } if (patientInfo != null) { map['PatientInfo'] = patientInfo; } if (scanPositions != null) { map['ScanPositions'] = scanPositions; } if (consultationTime != null) { map['ConsultationTime'] = JsonRpcUtils.dateFormat(consultationTime!); } if (consultationTimeEnd != null) { map['ConsultationTimeEnd'] = JsonRpcUtils.dateFormat(consultationTimeEnd!); } map['ConsultationStatus'] = consultationStatus.index; if (consultationFileList != null) { map['ConsultationFileList'] = consultationFileList; } if (rejectReason != null) { map['RejectReason'] = rejectReason; } if (description != null) { map['Description'] = description; } if (diseases != null) { map['Diseases'] = diseases; } if (primaryDiagnosis != null) { map['PrimaryDiagnosis'] = primaryDiagnosis; } if (evaluates != null) { map['Evaluates'] = evaluates; } map['FollowUpVisitStatus'] = followUpVisitStatus.index; if (syncFollowUpVisitList != null) { map['SyncFollowUpVisitList'] = syncFollowUpVisitList; } return map; } } class SyncBatchConsultationRequest { SyncDBEnum syncType; List? syncConsultations; SyncBatchConsultationRequest({ this.syncType = SyncDBEnum.Migrate, this.syncConsultations, }); factory SyncBatchConsultationRequest.fromJson(Map map) { return SyncBatchConsultationRequest( syncType: SyncDBEnum.values.firstWhere((e) => e.index == map['SyncType']), syncConsultations: map['SyncConsultations'] != null ? (map['SyncConsultations'] as List).map((e)=>SyncConsultationRequest.fromJson(e as Map)).toList() : null, ); } Map toJson() { final map = Map(); map['SyncType'] = syncType.index; if (syncConsultations != null) { map['SyncConsultations'] = syncConsultations; } return map; } } class QualityTypeDetail { int key; String? description; QualityTypeDetail({ this.key = 0, this.description, }); factory QualityTypeDetail.fromJson(Map map) { return QualityTypeDetail( key: map['Key'], description: map['Description'], ); } Map toJson() { final map = Map(); map['Key'] = key; if (description != null) { map['Description'] = description; } return map; } } class GetConsultationQualityTypeResult { List? qualityTypeList; GetConsultationQualityTypeResult({ this.qualityTypeList, }); factory GetConsultationQualityTypeResult.fromJson(Map map) { return GetConsultationQualityTypeResult( qualityTypeList: map['QualityTypeList'] != null ? (map['QualityTypeList'] as List).map((e)=>QualityTypeDetail.fromJson(e as Map)).toList() : null, ); } Map toJson() { final map = Map(); if (qualityTypeList != null) { map['QualityTypeList'] = qualityTypeList; } return map; } } class GetConsultationReportQualityTypeRequest extends TokenRequest{ String? language; GetConsultationReportQualityTypeRequest({ this.language, String? token, }) : super( token: token, ); factory GetConsultationReportQualityTypeRequest.fromJson(Map map) { return GetConsultationReportQualityTypeRequest( language: map['Language'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (language != null) map['Language'] = language; return map; } } class AddConsultationReportQualityRequest extends TokenRequest{ String? consultationRecordCode; String? reportCode; int qualityTypeKey; AddConsultationReportQualityRequest({ this.consultationRecordCode, this.reportCode, this.qualityTypeKey = 0, String? token, }) : super( token: token, ); factory AddConsultationReportQualityRequest.fromJson(Map map) { return AddConsultationReportQualityRequest( consultationRecordCode: map['ConsultationRecordCode'], reportCode: map['ReportCode'], qualityTypeKey: map['QualityTypeKey'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (consultationRecordCode != null) map['ConsultationRecordCode'] = consultationRecordCode; if (reportCode != null) map['ReportCode'] = reportCode; map['QualityTypeKey'] = qualityTypeKey; return map; } } class ModifyConsultationReportQualityRequest extends TokenRequest{ String? consultationRecordCode; String? reportCode; int qualityTypeKey; ModifyConsultationReportQualityRequest({ this.consultationRecordCode, this.reportCode, this.qualityTypeKey = 0, String? token, }) : super( token: token, ); factory ModifyConsultationReportQualityRequest.fromJson(Map map) { return ModifyConsultationReportQualityRequest( consultationRecordCode: map['ConsultationRecordCode'], reportCode: map['ReportCode'], qualityTypeKey: map['QualityTypeKey'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (consultationRecordCode != null) map['ConsultationRecordCode'] = consultationRecordCode; if (reportCode != null) map['ReportCode'] = reportCode; map['QualityTypeKey'] = qualityTypeKey; return map; } } class DeleteConsultationReportQualityRequest extends TokenRequest{ String? consultationRecordCode; String? reportCode; DeleteConsultationReportQualityRequest({ this.consultationRecordCode, this.reportCode, String? token, }) : super( token: token, ); factory DeleteConsultationReportQualityRequest.fromJson(Map map) { return DeleteConsultationReportQualityRequest( consultationRecordCode: map['ConsultationRecordCode'], reportCode: map['ReportCode'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (consultationRecordCode != null) map['ConsultationRecordCode'] = consultationRecordCode; if (reportCode != null) map['ReportCode'] = reportCode; return map; } }