import 'notification.m.dart'; import 'package:fis_jsonrpc/utils.dart'; import 'package:fis_common/json_convert.dart'; class BaseDTO { DateTime? createTime; DateTime? updateTime; BaseDTO({ this.createTime, this.updateTime, }); factory BaseDTO.fromJson(Map map) { return BaseDTO( createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null, updateTime: map['UpdateTime'] != null ? DateTime.parse(map['UpdateTime']) : null, ); } Map toJson() { final map = Map(); if(createTime != null) map['CreateTime'] = JsonRpcUtils.dateFormat(createTime!); if(updateTime != null) map['UpdateTime'] = JsonRpcUtils.dateFormat(updateTime!); return map; } } class OrganizationBaseDTO extends BaseDTO{ String? organizationCode; String? organizationName; OrganizationBaseDTO({ this.organizationCode, this.organizationName, DateTime? createTime, DateTime? updateTime, }) : super( createTime: createTime, updateTime: updateTime, ); factory OrganizationBaseDTO.fromJson(Map map) { return OrganizationBaseDTO( 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(organizationCode != null) map['OrganizationCode'] = organizationCode; if(organizationName != null) map['OrganizationName'] = organizationName; 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? userCode; String? userName; String? headImageUrl; UserBaseDTO({ this.userCode, this.userName, this.headImageUrl, DateTime? createTime, DateTime? updateTime, }) : super( createTime: createTime, updateTime: updateTime, ); factory UserBaseDTO.fromJson(Map map) { return UserBaseDTO( userCode: map['UserCode'], userName: map['UserName'], headImageUrl: map['HeadImageUrl'], 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(userCode != null) map['UserCode'] = userCode; if(userName != null) map['UserName'] = userName; if(headImageUrl != null) map['HeadImageUrl'] = headImageUrl; return map; } } enum UserStatusEnum { placeHolder_0, NotOnline, IsBusy, Idle, } class OrganizationExpertDTO extends UserBaseDTO{ String? fullName; List? fieldList; UserStatusEnum userStatus; OrganizationExpertDTO({ this.fullName, this.fieldList, this.userStatus = UserStatusEnum.NotOnline, String? userCode, String? userName, String? headImageUrl, DateTime? createTime, DateTime? updateTime, }) : super( userCode: userCode, userName: userName, headImageUrl: headImageUrl, createTime: createTime, updateTime: updateTime, ); factory OrganizationExpertDTO.fromJson(Map map) { return OrganizationExpertDTO( fullName: map['FullName'], fieldList: map['FieldList'] != null ? map['FieldList'].cast().toList() : null, userStatus: UserStatusEnum.values.firstWhere((e) => e.index == map['UserStatus']), userCode: map['UserCode'], userName: map['UserName'], headImageUrl: map['HeadImageUrl'], 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(fullName != null) map['FullName'] = fullName; if(fieldList != null) map['FieldList'] = fieldList; map['UserStatus'] = userStatus.index; return map; } } class FindOrganizationExpertsRequest extends TokenRequest{ String? organizationCode; String? expertName; FindOrganizationExpertsRequest({ this.organizationCode, this.expertName, String? token, }) : super( token: token, ); factory FindOrganizationExpertsRequest.fromJson(Map map) { return FindOrganizationExpertsRequest( organizationCode: map['OrganizationCode'], expertName: map['ExpertName'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if(organizationCode != null) map['OrganizationCode'] = organizationCode; if(expertName != null) map['ExpertName'] = expertName; 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; String? scanPosition; DateTime? consultationTime; List? patientDatas; String? patientCode; String? diseases; String? scanUserCode; String? expertOrganizationCode; String? applyUserCode; String? primaryDiagnosis; ApplyConsultationRequest({ this.expertUserCode, this.deviceCode, this.scanPosition, 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'], scanPosition: map['ScanPosition'], 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(scanPosition != null) map['ScanPosition'] = scanPosition; 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; String? scanPosition; DateTime? consultationTime; String? diseases; String? scanUserCode; String? expertOrganizationCode; String? applyUserCode; String? primaryDiagnosis; UpdateConsultationRequest({ this.consultationCode, this.expertUserCode, this.deviceCode, this.scanPosition, 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'], scanPosition: map['ScanPosition'], 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(scanPosition != null) map['ScanPosition'] = scanPosition; 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; String? scanPosition; String? diseases; String? primaryDiagnosis; ImproveConsultationInfoRequest({ this.consultationCode, this.patientCode, this.patientDatas, this.scanPosition, 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, scanPosition: map['ScanPosition'], 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(scanPosition != null) map['ScanPosition'] = scanPosition; 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 TransactionStatusEnum { placeHolder_0, Applied, Withdrawn, Rejected, ToStart, InProgress, PendingReport, End, } enum EvaluateGradeEnum { UnSet, Dissatisfaction, General, Satisfaction, } 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; 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, }); 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'], ); } 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; 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; } } enum QueryConsultationStatusEnum { All, Applied, Withdrawn, Rejected, ToStart, InProgress, PendingReport, End, } 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'] != null ? map['ExpertCodes'].cast().toList() : null, applyOrganizationCodes: map['ApplyOrganizationCodes'] != null ? map['ApplyOrganizationCodes'].cast().toList() : null, expertOrganizationCodes: map['ExpertOrganizationCodes'] != null ? map['ExpertOrganizationCodes'].cast().toList() : null, 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; String? scanPosition; 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.scanPosition, }); 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']), scanPosition: map['ScanPosition'], ); } 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(scanPosition != null) map['ScanPosition'] = scanPosition; 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'] != null ? map['ExpertCodes'].cast().toList() : null, applyOrganizationCodes: map['ApplyOrganizationCodes'] != null ? map['ApplyOrganizationCodes'].cast().toList() : null, expertOrganizationCodes: map['ExpertOrganizationCodes'] != null ? map['ExpertOrganizationCodes'].cast().toList() : null, 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; String? scanPosition; DateTime? createTime; DateTime? consultationTime; DateTime? consultationTimeEnd; TransactionStatusEnum consultationStatus; String? applyOrganizationName; String? applyUserName; String? operateUserName; String? scanUserName; String? expertOrganizationName; String? expertUserName; String? deviceName; 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; 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.scanPosition, 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.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, }); 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']), scanPosition: map['ScanPosition'], 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'], 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'], ); } 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(scanPosition != null) map['ScanPosition'] = scanPosition; 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(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; return map; } } class FindConsultationDetailRequest extends TokenRequest{ String? consultationCode; FindConsultationDetailRequest({ this.consultationCode, String? token, }) : super( token: token, ); factory FindConsultationDetailRequest.fromJson(Map map) { return FindConsultationDetailRequest( consultationCode: map['ConsultationCode'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if(consultationCode != null) map['ConsultationCode'] = consultationCode; 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'] != null ? map['ConsultationMemberCodes'].cast().toList() : null, 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{ String? fullName; ConsultationAssistantDTO({ this.fullName, String? userCode, String? userName, String? headImageUrl, DateTime? createTime, DateTime? updateTime, }) : super( userCode: userCode, userName: userName, headImageUrl: headImageUrl, createTime: createTime, updateTime: updateTime, ); factory ConsultationAssistantDTO.fromJson(Map map) { return ConsultationAssistantDTO( fullName: map['FullName'], userCode: map['UserCode'], userName: map['UserName'], headImageUrl: map['HeadImageUrl'], 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(fullName != null) map['FullName'] = fullName; 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{ String? fullName; ConsultationAssistantDoctorDTO({ this.fullName, String? userCode, String? userName, String? headImageUrl, DateTime? createTime, DateTime? updateTime, }) : super( userCode: userCode, userName: userName, headImageUrl: headImageUrl, createTime: createTime, updateTime: updateTime, ); factory ConsultationAssistantDoctorDTO.fromJson(Map map) { return ConsultationAssistantDoctorDTO( fullName: map['FullName'], userCode: map['UserCode'], userName: map['UserName'], headImageUrl: map['HeadImageUrl'], 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(fullName != null) map['FullName'] = fullName; 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; ClientPatientInfoBaseDTO({ this.patientCode, this.isValid = false, this.patientData, this.unReadRecordCount = 0, this.isReferral = false, this.devicePatientIDs, 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'] != null ? map['DevicePatientIDs'].cast().toList() : null, 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; 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; int appId; String? userSign; List? memberLiveDatas; InitiateLiveConsultationResult({ this.consultationCode, this.initiatorCode, this.roomNo = 0, this.appId = 0, this.userSign, this.memberLiveDatas, }); factory InitiateLiveConsultationResult.fromJson(Map map) { return InitiateLiveConsultationResult( consultationCode: map['ConsultationCode'], initiatorCode: map['InitiatorCode'], roomNo: map['RoomNo'], 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['AppId'] = appId; if(userSign != null) map['UserSign'] = userSign; if(memberLiveDatas != null) map['MemberLiveDatas'] = memberLiveDatas; return map; } } class InitiateLiveConsultationRequest extends TokenRequest{ String? consultationCode; InitiateLiveConsultationRequest({ this.consultationCode, String? token, }) : super( token: token, ); factory InitiateLiveConsultationRequest.fromJson(Map map) { return InitiateLiveConsultationRequest( consultationCode: map['ConsultationCode'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if(consultationCode != null) map['ConsultationCode'] = consultationCode; 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'] != null ? map['InviteCodes'].cast().toList() : null, 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'] != null ? map['InviteCodes'].cast().toList() : null, 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; int appId; String? userSign; List? memberLiveDatas; List? interactiveBoardDatas; JoinLiveConsultationResult({ this.consultationCode, this.userCode, this.roomNo = 0, 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'], 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['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; JoinLiveConsultationRequest({ this.consultationCode, this.needCall = false, String? token, }) : super( token: token, ); factory JoinLiveConsultationRequest.fromJson(Map map) { return JoinLiveConsultationRequest( consultationCode: map['ConsultationCode'], needCall: map['NeedCall'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if(consultationCode != null) map['ConsultationCode'] = consultationCode; map['NeedCall'] = needCall; 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; int appId; String? userSign; List? memberLiveDatas; List? interactiveBoardDatas; AcceptLiveConsultationResult({ this.consultationCode, this.userCode, this.roomNo = 0, 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'], 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['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; AcceptLiveConsultationRequest({ this.consultationCode, String? token, }) : super( token: token, ); factory AcceptLiveConsultationRequest.fromJson(Map map) { return AcceptLiveConsultationRequest( consultationCode: map['ConsultationCode'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if(consultationCode != null) map['ConsultationCode'] = consultationCode; 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; ApplyEmergencyTreatmentRequest({ this.deviceUniqueCode, String? token, }) : super( token: token, ); factory ApplyEmergencyTreatmentRequest.fromJson(Map map) { return ApplyEmergencyTreatmentRequest( deviceUniqueCode: map['DeviceUniqueCode'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if(deviceUniqueCode != null) map['DeviceUniqueCode'] = deviceUniqueCode; return map; } } class BaseControlDeviceRequest extends TokenRequest{ ControlDeviceParameterEnum controlType; BaseControlDeviceRequest({ this.controlType = ControlDeviceParameterEnum.Start, String? token, }) : super( token: token, ); factory BaseControlDeviceRequest.fromJson(Map map) { return BaseControlDeviceRequest( controlType: ControlDeviceParameterEnum.values.firstWhere((e) => e.index == map['ControlType']), token: map['Token'], ); } Map toJson() { final map = super.toJson(); map['ControlType'] = controlType.index; return map; } } class BaseControlDeviceParameterRequest extends BaseControlDeviceRequest{ List? parameters; BaseControlDeviceParameterRequest({ this.parameters, ControlDeviceParameterEnum controlType = ControlDeviceParameterEnum.Start, String? token, }) : super( controlType: controlType, 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']), 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, String? token, }) : super( parameters: parameters, controlType: controlType, 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']), 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'] != null ? map['Children'].cast().toList() : null, ); } 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'] != null ? map['SurfaceImageList'].cast().toList() : null, 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, } 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; 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, 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']), 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; 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? title; String? cTitle; String? eTitle; String? icon; String? description; String? url; int index; AssociatedInfoDTO({ this.id, 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'], 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(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? phone; String? email; String? nickName; String? fullName; String? organizationCode; String? organizationName; String? rootOrganizationCode; String? rootOrganizationName; List? authorityGroups; List? bindDevices; 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; UserDTO({ this.phone, this.email, this.nickName, this.fullName, this.organizationCode, this.organizationName, this.rootOrganizationCode, this.rootOrganizationName, this.authorityGroups, this.bindDevices, 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, String? userCode, String? userName, String? headImageUrl, DateTime? createTime, DateTime? updateTime, }) : super( userCode: userCode, userName: userName, headImageUrl: headImageUrl, createTime: createTime, updateTime: updateTime, ); factory UserDTO.fromJson(Map map) { return UserDTO( phone: map['Phone'], email: map['Email'], nickName: map['NickName'], fullName: map['FullName'], organizationCode: map['OrganizationCode'], organizationName: map['OrganizationName'], rootOrganizationCode: map['RootOrganizationCode'], rootOrganizationName: map['RootOrganizationName'], authorityGroups: map['AuthorityGroups'] != null ? map['AuthorityGroups'].cast().toList() : null, bindDevices: map['BindDevices'] != null ? map['BindDevices'].cast().toList() : null, lastIP: map['LastIP'], logintimes: map['Logintimes'], userState: UserInfoStateEnum.values.firstWhere((e) => e.index == map['UserState']), roleCodes: map['RoleCodes'] != null ? map['RoleCodes'].cast().toList() : null, rankCodes: map['RankCodes'] != null ? map['RankCodes'].cast().toList() : null, positionCodes: map['PositionCodes'] != null ? map['PositionCodes'].cast().toList() : null, applyState: ApplyStateEnum.values.firstWhere((e) => e.index == map['ApplyState']), rankName: map['RankName'], positionName: map['PositionName'], isDirector: map['IsDirector'], fieldList: map['FieldList'] != null ? map['FieldList'].cast().toList() : null, deletePatientCodes: map['DeletePatientCodes'] != null ? map['DeletePatientCodes'].cast().toList() : null, 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, userCode: map['UserCode'], userName: map['UserName'], headImageUrl: map['HeadImageUrl'], 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(nickName != null) map['NickName'] = nickName; if(fullName != null) map['FullName'] = fullName; if(organizationCode != null) map['OrganizationCode'] = organizationCode; if(organizationName != null) map['OrganizationName'] = organizationName; 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(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; return map; } } class UserExtendDTO extends UserDTO{ String? roleName; UserStatusEnum userStatus; UserExtendDTO({ this.roleName, this.userStatus = UserStatusEnum.NotOnline, String? phone, String? email, String? nickName, String? fullName, String? organizationCode, String? organizationName, String? rootOrganizationCode, String? rootOrganizationName, List? authorityGroups, List? bindDevices, 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? userCode, String? userName, String? headImageUrl, DateTime? createTime, DateTime? updateTime, }) : super( phone: phone, email: email, nickName: nickName, fullName: fullName, organizationCode: organizationCode, organizationName: organizationName, rootOrganizationCode: rootOrganizationCode, rootOrganizationName: rootOrganizationName, authorityGroups: authorityGroups, bindDevices: bindDevices, 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, userCode: userCode, userName: userName, headImageUrl: headImageUrl, createTime: createTime, updateTime: updateTime, ); factory UserExtendDTO.fromJson(Map map) { return UserExtendDTO( roleName: map['RoleName'], userStatus: UserStatusEnum.values.firstWhere((e) => e.index == map['UserStatus']), phone: map['Phone'], email: map['Email'], nickName: map['NickName'], fullName: map['FullName'], organizationCode: map['OrganizationCode'], organizationName: map['OrganizationName'], rootOrganizationCode: map['RootOrganizationCode'], rootOrganizationName: map['RootOrganizationName'], authorityGroups: map['AuthorityGroups'] != null ? map['AuthorityGroups'].cast().toList() : null, bindDevices: map['BindDevices'] != null ? map['BindDevices'].cast().toList() : null, lastIP: map['LastIP'], logintimes: map['Logintimes'], userState: UserInfoStateEnum.values.firstWhere((e) => e.index == map['UserState']), roleCodes: map['RoleCodes'] != null ? map['RoleCodes'].cast().toList() : null, rankCodes: map['RankCodes'] != null ? map['RankCodes'].cast().toList() : null, positionCodes: map['PositionCodes'] != null ? map['PositionCodes'].cast().toList() : null, applyState: ApplyStateEnum.values.firstWhere((e) => e.index == map['ApplyState']), rankName: map['RankName'], positionName: map['PositionName'], isDirector: map['IsDirector'], fieldList: map['FieldList'] != null ? map['FieldList'].cast().toList() : null, deletePatientCodes: map['DeletePatientCodes'] != null ? map['DeletePatientCodes'].cast().toList() : null, 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, userCode: map['UserCode'], userName: map['UserName'], headImageUrl: map['HeadImageUrl'], 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; } } class ChangeConsultationControllingStateRequest extends TokenRequest{ String? deviceCode; String? userCode; bool isControllingParameter; ChangeConsultationControllingStateRequest({ this.deviceCode, this.userCode, this.isControllingParameter = false, String? token, }) : super( token: token, ); factory ChangeConsultationControllingStateRequest.fromJson(Map map) { return ChangeConsultationControllingStateRequest( deviceCode: map['DeviceCode'], userCode: map['UserCode'], isControllingParameter: map['IsControllingParameter'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if(deviceCode != null) map['DeviceCode'] = deviceCode; if(userCode != null) map['UserCode'] = userCode; map['IsControllingParameter'] = isControllingParameter; return map; } }