import 'education.m.dart'; import 'remedical.m.dart'; import 'liveConsultation.m.dart'; import 'notification.m.dart'; import 'package:fis_jsonrpc/utils.dart'; enum ReportTemplateStatusTypeEnum { Unpublished, Published, } enum ReportTemplateTypeEnum { Default, Organization, Personal, } enum ReportTemplateUsageTypeEnum { People, Animal, } class ReportTemplateDTO { String? reportTemplateCode; String? reportTemplateName; ReportTemplateStatusTypeEnum reportTemplateStateType; ReportTemplateTypeEnum reportTemplateType; ReportTemplateUsageTypeEnum reportTemplateUsageType; String? organizationCode; String? personalCode; String? organizationName; String? personalName; String? reportTemplateJson; String? referenceReportTemplateCode; bool isDefault; bool isUserDefault; String? reportDatasJson; List? templatePreviewList; List? templatePreviewUrlList; String? languageCode; ReportTemplateDTO({ this.reportTemplateCode, this.reportTemplateName, this.reportTemplateStateType = ReportTemplateStatusTypeEnum.Unpublished, this.reportTemplateType = ReportTemplateTypeEnum.Default, this.reportTemplateUsageType = ReportTemplateUsageTypeEnum.People, this.organizationCode, this.personalCode, this.organizationName, this.personalName, this.reportTemplateJson, this.referenceReportTemplateCode, this.isDefault = false, this.isUserDefault = false, this.reportDatasJson, this.templatePreviewList, this.templatePreviewUrlList, this.languageCode, }); factory ReportTemplateDTO.fromJson(Map map) { return ReportTemplateDTO( reportTemplateCode: map['ReportTemplateCode'], reportTemplateName: map['ReportTemplateName'], reportTemplateStateType: ReportTemplateStatusTypeEnum.values.firstWhere((e) => e.index == map['ReportTemplateStateType']), reportTemplateType: ReportTemplateTypeEnum.values.firstWhere((e) => e.index == map['ReportTemplateType']), reportTemplateUsageType: ReportTemplateUsageTypeEnum.values.firstWhere((e) => e.index == map['ReportTemplateUsageType']), organizationCode: map['OrganizationCode'], personalCode: map['PersonalCode'], organizationName: map['OrganizationName'], personalName: map['PersonalName'], reportTemplateJson: map['ReportTemplateJson'], referenceReportTemplateCode: map['ReferenceReportTemplateCode'], isDefault: map['IsDefault'], isUserDefault: map['IsUserDefault'], reportDatasJson: map['ReportDatasJson'], templatePreviewList: map['TemplatePreviewList'] != null ? (map['TemplatePreviewList'] as List).map((e)=>ReportPreviewDTO.fromJson(e as Map)).toList() : null, templatePreviewUrlList: map['TemplatePreviewUrlList']?.cast().toList(), languageCode: map['LanguageCode'], ); } Map toJson() { final map = Map(); if (reportTemplateCode != null) { map['ReportTemplateCode'] = reportTemplateCode; } if (reportTemplateName != null) { map['ReportTemplateName'] = reportTemplateName; } map['ReportTemplateStateType'] = reportTemplateStateType.index; map['ReportTemplateType'] = reportTemplateType.index; map['ReportTemplateUsageType'] = reportTemplateUsageType.index; if (organizationCode != null) { map['OrganizationCode'] = organizationCode; } if (personalCode != null) { map['PersonalCode'] = personalCode; } if (organizationName != null) { map['OrganizationName'] = organizationName; } if (personalName != null) { map['PersonalName'] = personalName; } if (reportTemplateJson != null) { map['ReportTemplateJson'] = reportTemplateJson; } if (referenceReportTemplateCode != null) { map['ReferenceReportTemplateCode'] = referenceReportTemplateCode; } map['IsDefault'] = isDefault; map['IsUserDefault'] = isUserDefault; if (reportDatasJson != null) { map['ReportDatasJson'] = reportDatasJson; } if (templatePreviewList != null) { map['TemplatePreviewList'] = templatePreviewList; } if (templatePreviewUrlList != null) { map['TemplatePreviewUrlList'] = templatePreviewUrlList; } if (languageCode != null) { map['LanguageCode'] = languageCode; } return map; } } class FindReportTemplateByCodeRequest extends TokenRequest{ String? reportTemplateCode; String? languageCode; FindReportTemplateByCodeRequest({ this.reportTemplateCode, this.languageCode, String? token, }) : super( token: token, ); factory FindReportTemplateByCodeRequest.fromJson(Map map) { return FindReportTemplateByCodeRequest( reportTemplateCode: map['ReportTemplateCode'], languageCode: map['LanguageCode'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (reportTemplateCode != null) map['ReportTemplateCode'] = reportTemplateCode; if (languageCode != null) map['LanguageCode'] = languageCode; return map; } } class FindReportByCodeRequest extends TokenRequest{ String? reportCode; String? language; FindReportByCodeRequest({ this.reportCode, this.language, String? token, }) : super( token: token, ); factory FindReportByCodeRequest.fromJson(Map map) { return FindReportByCodeRequest( reportCode: map['ReportCode'], language: map['Language'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (reportCode != null) map['ReportCode'] = reportCode; if (language != null) map['Language'] = language; return map; } } class FindPatientReportsRequest extends TokenRequest{ String? patientCode; String? languageCode; FindPatientReportsRequest({ this.patientCode, this.languageCode, String? token, }) : super( token: token, ); factory FindPatientReportsRequest.fromJson(Map map) { return FindPatientReportsRequest( patientCode: map['PatientCode'], languageCode: map['LanguageCode'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (patientCode != null) map['PatientCode'] = patientCode; if (languageCode != null) map['LanguageCode'] = languageCode; return map; } } enum ReportLabelUsageTypeEnum { People, Animal, } class ReportLabelDTO extends BaseDTO{ String? reportLabelCode; String? labelName; String? languageCode; ReportLabelUsageTypeEnum usageType; List? labelItems; ReportLabelDTO({ this.reportLabelCode, this.labelName, this.languageCode, this.usageType = ReportLabelUsageTypeEnum.People, this.labelItems, DateTime? createTime, DateTime? updateTime, }) : super( createTime: createTime, updateTime: updateTime, ); factory ReportLabelDTO.fromJson(Map map) { return ReportLabelDTO( reportLabelCode: map['ReportLabelCode'], labelName: map['LabelName'], languageCode: map['LanguageCode'], usageType: ReportLabelUsageTypeEnum.values.firstWhere((e) => e.index == map['UsageType']), labelItems: map['LabelItems']?.cast().toList(), 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 (reportLabelCode != null) map['ReportLabelCode'] = reportLabelCode; if (labelName != null) map['LabelName'] = labelName; if (languageCode != null) map['LanguageCode'] = languageCode; map['UsageType'] = usageType.index; if (labelItems != null) map['LabelItems'] = labelItems; return map; } } class FindReportLabelsRequest extends TokenRequest{ ReportTypeEnum reportType; String? recordCode; String? languageCode; FindReportLabelsRequest({ this.reportType = ReportTypeEnum.RemoteDiagnosis, this.recordCode, this.languageCode, String? token, }) : super( token: token, ); factory FindReportLabelsRequest.fromJson(Map map) { return FindReportLabelsRequest( reportType: ReportTypeEnum.values.firstWhere((e) => e.index == map['ReportType']), recordCode: map['RecordCode'], languageCode: map['LanguageCode'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); map['ReportType'] = reportType.index; if (recordCode != null) map['RecordCode'] = recordCode; if (languageCode != null) map['LanguageCode'] = languageCode; return map; } } class ShareDTO extends BaseDTO{ String? shareCode; String? shortCode; String? shareContent; ShareDTO({ this.shareCode, this.shortCode, this.shareContent, DateTime? createTime, DateTime? updateTime, }) : super( createTime: createTime, updateTime: updateTime, ); factory ShareDTO.fromJson(Map map) { return ShareDTO( shareCode: map['ShareCode'], shortCode: map['ShortCode'], shareContent: map['ShareContent'], 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 (shareCode != null) map['ShareCode'] = shareCode; if (shortCode != null) map['ShortCode'] = shortCode; if (shareContent != null) map['ShareContent'] = shareContent; return map; } } class FindShareContentRequest { String? shortCode; FindShareContentRequest({ this.shortCode, }); factory FindShareContentRequest.fromJson(Map map) { return FindShareContentRequest( shortCode: map['ShortCode'], ); } Map toJson() { final map = Map(); if (shortCode != null) { map['ShortCode'] = shortCode; } return map; } } class AddReportRequest extends TokenRequest{ ReportTypeEnum reportType; String? recordCode; String? reportTemplateJson; String? reportDatasJson; String? reportMeasureDatasJson; String? patientName; List? reportLabels; List? platformLabels; List? diagnosisLabels; DiagnosisOrganEnum reportOrgan; String? referralRecordCode; bool isReferral; String? reportTemplateCode; AddReportRequest({ this.reportType = ReportTypeEnum.RemoteDiagnosis, this.recordCode, this.reportTemplateJson, this.reportDatasJson, this.reportMeasureDatasJson, this.patientName, this.reportLabels, this.platformLabels, this.diagnosisLabels, this.reportOrgan = DiagnosisOrganEnum.Null, this.referralRecordCode, this.isReferral = false, this.reportTemplateCode, String? token, }) : super( token: token, ); factory AddReportRequest.fromJson(Map map) { return AddReportRequest( reportType: ReportTypeEnum.values.firstWhere((e) => e.index == map['ReportType']), recordCode: map['RecordCode'], reportTemplateJson: map['ReportTemplateJson'], reportDatasJson: map['ReportDatasJson'], reportMeasureDatasJson: map['ReportMeasureDatasJson'], patientName: map['PatientName'], reportLabels: map['ReportLabels']?.cast().toList(), platformLabels: map['PlatformLabels']?.cast().toList(), diagnosisLabels: map['DiagnosisLabels']?.cast().toList(), reportOrgan: DiagnosisOrganEnum.values.firstWhere((e) => e.index == map['ReportOrgan']), referralRecordCode: map['ReferralRecordCode'], isReferral: map['IsReferral'], reportTemplateCode: map['ReportTemplateCode'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); map['ReportType'] = reportType.index; if (recordCode != null) map['RecordCode'] = recordCode; if (reportTemplateJson != null) map['ReportTemplateJson'] = reportTemplateJson; if (reportDatasJson != null) map['ReportDatasJson'] = reportDatasJson; if (reportMeasureDatasJson != null) map['ReportMeasureDatasJson'] = reportMeasureDatasJson; if (patientName != null) map['PatientName'] = patientName; if (reportLabels != null) map['ReportLabels'] = reportLabels; if (platformLabels != null) map['PlatformLabels'] = platformLabels; if (diagnosisLabels != null) map['DiagnosisLabels'] = diagnosisLabels; map['ReportOrgan'] = reportOrgan.index; if (referralRecordCode != null) map['ReferralRecordCode'] = referralRecordCode; map['IsReferral'] = isReferral; if (reportTemplateCode != null) map['ReportTemplateCode'] = reportTemplateCode; return map; } } class ModifyReportRequest extends AddReportRequest{ String? reportCode; ModifyReportRequest({ this.reportCode, ReportTypeEnum reportType = ReportTypeEnum.RemoteDiagnosis, String? recordCode, String? reportTemplateJson, String? reportDatasJson, String? reportMeasureDatasJson, String? patientName, List? reportLabels, List? platformLabels, List? diagnosisLabels, DiagnosisOrganEnum reportOrgan = DiagnosisOrganEnum.Null, String? referralRecordCode, bool isReferral = false, String? reportTemplateCode, String? token, }) : super( reportType: reportType, recordCode: recordCode, reportTemplateJson: reportTemplateJson, reportDatasJson: reportDatasJson, reportMeasureDatasJson: reportMeasureDatasJson, patientName: patientName, reportLabels: reportLabels, platformLabels: platformLabels, diagnosisLabels: diagnosisLabels, reportOrgan: reportOrgan, referralRecordCode: referralRecordCode, isReferral: isReferral, reportTemplateCode: reportTemplateCode, token: token, ); factory ModifyReportRequest.fromJson(Map map) { return ModifyReportRequest( reportCode: map['ReportCode'], reportType: ReportTypeEnum.values.firstWhere((e) => e.index == map['ReportType']), recordCode: map['RecordCode'], reportTemplateJson: map['ReportTemplateJson'], reportDatasJson: map['ReportDatasJson'], reportMeasureDatasJson: map['ReportMeasureDatasJson'], patientName: map['PatientName'], reportLabels: map['ReportLabels']?.cast().toList(), platformLabels: map['PlatformLabels']?.cast().toList(), diagnosisLabels: map['DiagnosisLabels']?.cast().toList(), reportOrgan: DiagnosisOrganEnum.values.firstWhere((e) => e.index == map['ReportOrgan']), referralRecordCode: map['ReferralRecordCode'], isReferral: map['IsReferral'], reportTemplateCode: map['ReportTemplateCode'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (reportCode != null) map['ReportCode'] = reportCode; return map; } } class ModifyReportLabelsRequest extends TokenRequest{ String? reportCode; List? reportLabels; ModifyReportLabelsRequest({ this.reportCode, this.reportLabels, String? token, }) : super( token: token, ); factory ModifyReportLabelsRequest.fromJson(Map map) { return ModifyReportLabelsRequest( reportCode: map['ReportCode'], reportLabels: map['ReportLabels']?.cast().toList(), token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (reportCode != null) map['ReportCode'] = reportCode; if (reportLabels != null) map['ReportLabels'] = reportLabels; return map; } } class ShareReportBySmsRequest extends TokenRequest{ String? reportCode; List? mobileList; String? languageCode; ShareReportBySmsRequest({ this.reportCode, this.mobileList, this.languageCode, String? token, }) : super( token: token, ); factory ShareReportBySmsRequest.fromJson(Map map) { return ShareReportBySmsRequest( reportCode: map['ReportCode'], mobileList: map['MobileList']?.cast().toList(), languageCode: map['LanguageCode'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (reportCode != null) map['ReportCode'] = reportCode; if (mobileList != null) map['MobileList'] = mobileList; if (languageCode != null) map['LanguageCode'] = languageCode; return map; } } class ShareReportByEmailRequest extends TokenRequest{ String? reportCode; List? emailList; String? languageCode; ShareReportByEmailRequest({ this.reportCode, this.emailList, this.languageCode, String? token, }) : super( token: token, ); factory ShareReportByEmailRequest.fromJson(Map map) { return ShareReportByEmailRequest( reportCode: map['ReportCode'], emailList: map['EmailList']?.cast().toList(), languageCode: map['LanguageCode'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (reportCode != null) map['ReportCode'] = reportCode; if (emailList != null) map['EmailList'] = emailList; if (languageCode != null) map['LanguageCode'] = languageCode; return map; } } class CopyReportTemplateRequest extends TokenRequest{ String? reportTemplateCode; CopyReportTemplateRequest({ this.reportTemplateCode, String? token, }) : super( token: token, ); factory CopyReportTemplateRequest.fromJson(Map map) { return CopyReportTemplateRequest( reportTemplateCode: map['ReportTemplateCode'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (reportTemplateCode != null) map['ReportTemplateCode'] = reportTemplateCode; return map; } } class CopyOrgReportTemplateRequest extends TokenRequest{ String? reportTemplateCode; CopyOrgReportTemplateRequest({ this.reportTemplateCode, String? token, }) : super( token: token, ); factory CopyOrgReportTemplateRequest.fromJson(Map map) { return CopyOrgReportTemplateRequest( reportTemplateCode: map['ReportTemplateCode'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (reportTemplateCode != null) map['ReportTemplateCode'] = reportTemplateCode; return map; } } class FindReportTemplatePagesRequest extends PageRequest{ bool? isDefault; String? reportTemplateName; String? languageCode; ReportTemplateTypeEnum? reportTemplateType; ReportTemplateStatusTypeEnum? reportTemplateStateType; FindReportTemplatePagesRequest({ this.isDefault, this.reportTemplateName, this.languageCode, this.reportTemplateType, this.reportTemplateStateType, int pageIndex = 0, int pageSize = 0, String? token, }) : super( pageIndex: pageIndex, pageSize: pageSize, token: token, ); factory FindReportTemplatePagesRequest.fromJson(Map map) { return FindReportTemplatePagesRequest( isDefault: map['IsDefault'], reportTemplateName: map['ReportTemplateName'], languageCode: map['LanguageCode'], reportTemplateType: map['ReportTemplateType'] != null ? ReportTemplateTypeEnum.values.firstWhere((e) => e.index == map['ReportTemplateType']) : null, reportTemplateStateType: map['ReportTemplateStateType'] != null ? ReportTemplateStatusTypeEnum.values.firstWhere((e) => e.index == map['ReportTemplateStateType']) : null, pageIndex: map['PageIndex'], pageSize: map['PageSize'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (isDefault != null) map['IsDefault'] = isDefault; if (reportTemplateName != null) map['ReportTemplateName'] = reportTemplateName; if (languageCode != null) map['LanguageCode'] = languageCode; if (reportTemplateType != null) map['ReportTemplateType'] = reportTemplateType; if (reportTemplateStateType != null) map['ReportTemplateStateType'] = reportTemplateStateType; return map; } } class AddReportTemplateRequest extends TokenRequest{ String? reportTemplateName; String? reportTemplateJson; String? reportDatasJson; ReportTemplateTypeEnum reportTemplateType; String? languageCode; AddReportTemplateRequest({ this.reportTemplateName, this.reportTemplateJson, this.reportDatasJson, this.reportTemplateType = ReportTemplateTypeEnum.Default, this.languageCode, String? token, }) : super( token: token, ); factory AddReportTemplateRequest.fromJson(Map map) { return AddReportTemplateRequest( reportTemplateName: map['ReportTemplateName'], reportTemplateJson: map['ReportTemplateJson'], reportDatasJson: map['ReportDatasJson'], reportTemplateType: ReportTemplateTypeEnum.values.firstWhere((e) => e.index == map['ReportTemplateType']), languageCode: map['LanguageCode'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (reportTemplateName != null) map['ReportTemplateName'] = reportTemplateName; if (reportTemplateJson != null) map['ReportTemplateJson'] = reportTemplateJson; if (reportDatasJson != null) map['ReportDatasJson'] = reportDatasJson; map['ReportTemplateType'] = reportTemplateType.index; if (languageCode != null) map['LanguageCode'] = languageCode; return map; } } class UpdateReportTemplateRequest extends TokenRequest{ String? reportTemplateCode; String? reportTemplateName; String? reportTemplateJson; String? reportDatasJson; UpdateReportTemplateRequest({ this.reportTemplateCode, this.reportTemplateName, this.reportTemplateJson, this.reportDatasJson, String? token, }) : super( token: token, ); factory UpdateReportTemplateRequest.fromJson(Map map) { return UpdateReportTemplateRequest( reportTemplateCode: map['ReportTemplateCode'], reportTemplateName: map['ReportTemplateName'], reportTemplateJson: map['ReportTemplateJson'], reportDatasJson: map['ReportDatasJson'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (reportTemplateCode != null) map['ReportTemplateCode'] = reportTemplateCode; if (reportTemplateName != null) map['ReportTemplateName'] = reportTemplateName; if (reportTemplateJson != null) map['ReportTemplateJson'] = reportTemplateJson; if (reportDatasJson != null) map['ReportDatasJson'] = reportDatasJson; return map; } } class RemoveReportTemplateRequest extends TokenRequest{ String? reportTemplateCode; RemoveReportTemplateRequest({ this.reportTemplateCode, String? token, }) : super( token: token, ); factory RemoveReportTemplateRequest.fromJson(Map map) { return RemoveReportTemplateRequest( reportTemplateCode: map['ReportTemplateCode'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (reportTemplateCode != null) map['ReportTemplateCode'] = reportTemplateCode; return map; } } class AddThesaurusRequest extends TokenRequest{ String? thesaurusName; String? languageCode; OrganizationPatientTypeEnum patientType; AddThesaurusRequest({ this.thesaurusName, this.languageCode, this.patientType = OrganizationPatientTypeEnum.Person, String? token, }) : super( token: token, ); factory AddThesaurusRequest.fromJson(Map map) { return AddThesaurusRequest( thesaurusName: map['ThesaurusName'], languageCode: map['LanguageCode'], patientType: OrganizationPatientTypeEnum.values.firstWhere((e) => e.index == map['PatientType']), token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (thesaurusName != null) map['ThesaurusName'] = thesaurusName; if (languageCode != null) map['LanguageCode'] = languageCode; map['PatientType'] = patientType.index; return map; } } class UpdateThesaurusRequest extends TokenRequest{ String? thesaurusCode; String? thesaurusName; UpdateThesaurusRequest({ this.thesaurusCode, this.thesaurusName, String? token, }) : super( token: token, ); factory UpdateThesaurusRequest.fromJson(Map map) { return UpdateThesaurusRequest( thesaurusCode: map['ThesaurusCode'], thesaurusName: map['ThesaurusName'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (thesaurusCode != null) map['ThesaurusCode'] = thesaurusCode; if (thesaurusName != null) map['ThesaurusName'] = thesaurusName; return map; } } class AddThesaurusClassifyRequest extends TokenRequest{ String? thesaurusCode; String? thesaurusItemName; String? parentItemCode; AddThesaurusClassifyRequest({ this.thesaurusCode, this.thesaurusItemName, this.parentItemCode, String? token, }) : super( token: token, ); factory AddThesaurusClassifyRequest.fromJson(Map map) { return AddThesaurusClassifyRequest( thesaurusCode: map['ThesaurusCode'], thesaurusItemName: map['ThesaurusItemName'], parentItemCode: map['ParentItemCode'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (thesaurusCode != null) map['ThesaurusCode'] = thesaurusCode; if (thesaurusItemName != null) map['ThesaurusItemName'] = thesaurusItemName; if (parentItemCode != null) map['ParentItemCode'] = parentItemCode; return map; } } class AddThesaurusContentRequest extends TokenRequest{ String? thesaurusCode; String? thesaurusItemDescription; String? thesaurusItemConclusion; String? parentItemCode; AddThesaurusContentRequest({ this.thesaurusCode, this.thesaurusItemDescription, this.thesaurusItemConclusion, this.parentItemCode, String? token, }) : super( token: token, ); factory AddThesaurusContentRequest.fromJson(Map map) { return AddThesaurusContentRequest( thesaurusCode: map['ThesaurusCode'], thesaurusItemDescription: map['ThesaurusItemDescription'], thesaurusItemConclusion: map['ThesaurusItemConclusion'], parentItemCode: map['ParentItemCode'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (thesaurusCode != null) map['ThesaurusCode'] = thesaurusCode; if (thesaurusItemDescription != null) map['ThesaurusItemDescription'] = thesaurusItemDescription; if (thesaurusItemConclusion != null) map['ThesaurusItemConclusion'] = thesaurusItemConclusion; if (parentItemCode != null) map['ParentItemCode'] = parentItemCode; return map; } } class UpdateThesaurusClassifyRequest extends TokenRequest{ String? thesaurusCode; String? thesaurusItemCode; String? thesaurusItemName; String? parentItemCode; UpdateThesaurusClassifyRequest({ this.thesaurusCode, this.thesaurusItemCode, this.thesaurusItemName, this.parentItemCode, String? token, }) : super( token: token, ); factory UpdateThesaurusClassifyRequest.fromJson(Map map) { return UpdateThesaurusClassifyRequest( thesaurusCode: map['ThesaurusCode'], thesaurusItemCode: map['ThesaurusItemCode'], thesaurusItemName: map['ThesaurusItemName'], parentItemCode: map['ParentItemCode'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (thesaurusCode != null) map['ThesaurusCode'] = thesaurusCode; if (thesaurusItemCode != null) map['ThesaurusItemCode'] = thesaurusItemCode; if (thesaurusItemName != null) map['ThesaurusItemName'] = thesaurusItemName; if (parentItemCode != null) map['ParentItemCode'] = parentItemCode; return map; } } class UpdateThesaurusContentRequest extends TokenRequest{ String? thesaurusCode; String? thesaurusItemCode; String? thesaurusItemDescription; String? thesaurusItemConclusion; String? parentItemCode; UpdateThesaurusContentRequest({ this.thesaurusCode, this.thesaurusItemCode, this.thesaurusItemDescription, this.thesaurusItemConclusion, this.parentItemCode, String? token, }) : super( token: token, ); factory UpdateThesaurusContentRequest.fromJson(Map map) { return UpdateThesaurusContentRequest( thesaurusCode: map['ThesaurusCode'], thesaurusItemCode: map['ThesaurusItemCode'], thesaurusItemDescription: map['ThesaurusItemDescription'], thesaurusItemConclusion: map['ThesaurusItemConclusion'], parentItemCode: map['ParentItemCode'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (thesaurusCode != null) map['ThesaurusCode'] = thesaurusCode; if (thesaurusItemCode != null) map['ThesaurusItemCode'] = thesaurusItemCode; if (thesaurusItemDescription != null) map['ThesaurusItemDescription'] = thesaurusItemDescription; if (thesaurusItemConclusion != null) map['ThesaurusItemConclusion'] = thesaurusItemConclusion; if (parentItemCode != null) map['ParentItemCode'] = parentItemCode; return map; } } class RemoveThesaurusRequest extends TokenRequest{ String? thesaurusCode; RemoveThesaurusRequest({ this.thesaurusCode, String? token, }) : super( token: token, ); factory RemoveThesaurusRequest.fromJson(Map map) { return RemoveThesaurusRequest( thesaurusCode: map['ThesaurusCode'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (thesaurusCode != null) map['ThesaurusCode'] = thesaurusCode; return map; } } class RemoveThesaurusItemRequest extends TokenRequest{ String? thesaurusCode; String? thesaurusItemCode; RemoveThesaurusItemRequest({ this.thesaurusCode, this.thesaurusItemCode, String? token, }) : super( token: token, ); factory RemoveThesaurusItemRequest.fromJson(Map map) { return RemoveThesaurusItemRequest( thesaurusCode: map['ThesaurusCode'], thesaurusItemCode: map['ThesaurusItemCode'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (thesaurusCode != null) map['ThesaurusCode'] = thesaurusCode; if (thesaurusItemCode != null) map['ThesaurusItemCode'] = thesaurusItemCode; return map; } } enum ThesaurusStatusTypeEnum { Unpublished, Published, } enum ThesaurusTypeEnum { Default, Organization, Personal, } enum ThesaurusUsageTypeEnum { People, Animal, } class ThesaurusDTO { String? thesaurusCode; String? thesaurusName; ThesaurusStatusTypeEnum thesaurusStateType; ThesaurusTypeEnum thesaurusType; ThesaurusUsageTypeEnum thesaurusUsageType; String? organizationCode; String? personalCode; String? organizationName; String? personalName; String? referenceThesaurusCode; bool isDefault; bool isUserDefault; String? languageCode; ThesaurusDTO({ this.thesaurusCode, this.thesaurusName, this.thesaurusStateType = ThesaurusStatusTypeEnum.Unpublished, this.thesaurusType = ThesaurusTypeEnum.Default, this.thesaurusUsageType = ThesaurusUsageTypeEnum.People, this.organizationCode, this.personalCode, this.organizationName, this.personalName, this.referenceThesaurusCode, this.isDefault = false, this.isUserDefault = false, this.languageCode, }); factory ThesaurusDTO.fromJson(Map map) { return ThesaurusDTO( thesaurusCode: map['ThesaurusCode'], thesaurusName: map['ThesaurusName'], thesaurusStateType: ThesaurusStatusTypeEnum.values.firstWhere((e) => e.index == map['ThesaurusStateType']), thesaurusType: ThesaurusTypeEnum.values.firstWhere((e) => e.index == map['ThesaurusType']), thesaurusUsageType: ThesaurusUsageTypeEnum.values.firstWhere((e) => e.index == map['ThesaurusUsageType']), organizationCode: map['OrganizationCode'], personalCode: map['PersonalCode'], organizationName: map['OrganizationName'], personalName: map['PersonalName'], referenceThesaurusCode: map['ReferenceThesaurusCode'], isDefault: map['IsDefault'], isUserDefault: map['IsUserDefault'], languageCode: map['LanguageCode'], ); } Map toJson() { final map = Map(); if (thesaurusCode != null) { map['ThesaurusCode'] = thesaurusCode; } if (thesaurusName != null) { map['ThesaurusName'] = thesaurusName; } map['ThesaurusStateType'] = thesaurusStateType.index; map['ThesaurusType'] = thesaurusType.index; map['ThesaurusUsageType'] = thesaurusUsageType.index; if (organizationCode != null) { map['OrganizationCode'] = organizationCode; } if (personalCode != null) { map['PersonalCode'] = personalCode; } if (organizationName != null) { map['OrganizationName'] = organizationName; } if (personalName != null) { map['PersonalName'] = personalName; } if (referenceThesaurusCode != null) { map['ReferenceThesaurusCode'] = referenceThesaurusCode; } map['IsDefault'] = isDefault; map['IsUserDefault'] = isUserDefault; if (languageCode != null) { map['LanguageCode'] = languageCode; } return map; } } class GetThesaurusPageRequest extends PageRequest{ bool? isDefault; String? userCode; ThesaurusStatusTypeEnum? thesaurusStateType; ThesaurusTypeEnum? thesaurusType; ThesaurusUsageTypeEnum? thesaurusUsageType; String? organizationCode; String? personalCode; String? thesaurusName; String? languageCode; GetThesaurusPageRequest({ this.isDefault, this.userCode, this.thesaurusStateType, this.thesaurusType, this.thesaurusUsageType, this.organizationCode, this.personalCode, this.thesaurusName, this.languageCode, int pageIndex = 0, int pageSize = 0, String? token, }) : super( pageIndex: pageIndex, pageSize: pageSize, token: token, ); factory GetThesaurusPageRequest.fromJson(Map map) { return GetThesaurusPageRequest( isDefault: map['IsDefault'], userCode: map['UserCode'], thesaurusStateType: map['ThesaurusStateType'] != null ? ThesaurusStatusTypeEnum.values.firstWhere((e) => e.index == map['ThesaurusStateType']) : null, thesaurusType: map['ThesaurusType'] != null ? ThesaurusTypeEnum.values.firstWhere((e) => e.index == map['ThesaurusType']) : null, thesaurusUsageType: map['ThesaurusUsageType'] != null ? ThesaurusUsageTypeEnum.values.firstWhere((e) => e.index == map['ThesaurusUsageType']) : null, organizationCode: map['OrganizationCode'], personalCode: map['PersonalCode'], thesaurusName: map['ThesaurusName'], languageCode: map['LanguageCode'], pageIndex: map['PageIndex'], pageSize: map['PageSize'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (isDefault != null) map['IsDefault'] = isDefault; if (userCode != null) map['UserCode'] = userCode; if (thesaurusStateType != null) map['ThesaurusStateType'] = thesaurusStateType; if (thesaurusType != null) map['ThesaurusType'] = thesaurusType; if (thesaurusUsageType != null) map['ThesaurusUsageType'] = thesaurusUsageType; if (organizationCode != null) map['OrganizationCode'] = organizationCode; if (personalCode != null) map['PersonalCode'] = personalCode; if (thesaurusName != null) map['ThesaurusName'] = thesaurusName; if (languageCode != null) map['LanguageCode'] = languageCode; return map; } } enum ThesaurusItemTypeEnum { Classification, Contents, } class ThesaurusItemDTO { String? thesaurusItemCode; ThesaurusItemTypeEnum thesaurusItemType; String? thesaurusItemName; String? thesaurusItemDescription; String? thesaurusItemConclusion; String? parentItemCode; bool hasChildren; int sort; ThesaurusItemDTO({ this.thesaurusItemCode, this.thesaurusItemType = ThesaurusItemTypeEnum.Classification, this.thesaurusItemName, this.thesaurusItemDescription, this.thesaurusItemConclusion, this.parentItemCode, this.hasChildren = false, this.sort = 0, }); factory ThesaurusItemDTO.fromJson(Map map) { return ThesaurusItemDTO( thesaurusItemCode: map['ThesaurusItemCode'], thesaurusItemType: ThesaurusItemTypeEnum.values.firstWhere((e) => e.index == map['ThesaurusItemType']), thesaurusItemName: map['ThesaurusItemName'], thesaurusItemDescription: map['ThesaurusItemDescription'], thesaurusItemConclusion: map['ThesaurusItemConclusion'], parentItemCode: map['ParentItemCode'], hasChildren: map['HasChildren'], sort: map['Sort'], ); } Map toJson() { final map = Map(); if (thesaurusItemCode != null) { map['ThesaurusItemCode'] = thesaurusItemCode; } map['ThesaurusItemType'] = thesaurusItemType.index; if (thesaurusItemName != null) { map['ThesaurusItemName'] = thesaurusItemName; } if (thesaurusItemDescription != null) { map['ThesaurusItemDescription'] = thesaurusItemDescription; } if (thesaurusItemConclusion != null) { map['ThesaurusItemConclusion'] = thesaurusItemConclusion; } if (parentItemCode != null) { map['ParentItemCode'] = parentItemCode; } map['HasChildren'] = hasChildren; map['Sort'] = sort; return map; } } class GetThesaurusItemsRequest extends TokenRequest{ String? thesaurusCode; String? keyword; GetThesaurusItemsRequest({ this.thesaurusCode, this.keyword, String? token, }) : super( token: token, ); factory GetThesaurusItemsRequest.fromJson(Map map) { return GetThesaurusItemsRequest( thesaurusCode: map['ThesaurusCode'], keyword: map['Keyword'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (thesaurusCode != null) map['ThesaurusCode'] = thesaurusCode; if (keyword != null) map['Keyword'] = keyword; return map; } } class GetThesaurusItemByCodeRequest extends TokenRequest{ String? thesaurusCode; String? thesaurusItemCode; GetThesaurusItemByCodeRequest({ this.thesaurusCode, this.thesaurusItemCode, String? token, }) : super( token: token, ); factory GetThesaurusItemByCodeRequest.fromJson(Map map) { return GetThesaurusItemByCodeRequest( thesaurusCode: map['ThesaurusCode'], thesaurusItemCode: map['ThesaurusItemCode'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (thesaurusCode != null) map['ThesaurusCode'] = thesaurusCode; if (thesaurusItemCode != null) map['ThesaurusItemCode'] = thesaurusItemCode; return map; } } class GetThesaurusClassifyByParentCodeRequest extends TokenRequest{ String? thesaurusCode; String? parentItemCode; String? keyword; GetThesaurusClassifyByParentCodeRequest({ this.thesaurusCode, this.parentItemCode, this.keyword, String? token, }) : super( token: token, ); factory GetThesaurusClassifyByParentCodeRequest.fromJson(Map map) { return GetThesaurusClassifyByParentCodeRequest( thesaurusCode: map['ThesaurusCode'], parentItemCode: map['ParentItemCode'], keyword: map['Keyword'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (thesaurusCode != null) map['ThesaurusCode'] = thesaurusCode; if (parentItemCode != null) map['ParentItemCode'] = parentItemCode; if (keyword != null) map['Keyword'] = keyword; return map; } } class GetThesaurusContentByParentCodeRequest extends TokenRequest{ String? thesaurusCode; String? parentItemCode; String? keyword; GetThesaurusContentByParentCodeRequest({ this.thesaurusCode, this.parentItemCode, this.keyword, String? token, }) : super( token: token, ); factory GetThesaurusContentByParentCodeRequest.fromJson(Map map) { return GetThesaurusContentByParentCodeRequest( thesaurusCode: map['ThesaurusCode'], parentItemCode: map['ParentItemCode'], keyword: map['Keyword'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (thesaurusCode != null) map['ThesaurusCode'] = thesaurusCode; if (parentItemCode != null) map['ParentItemCode'] = parentItemCode; if (keyword != null) map['Keyword'] = keyword; return map; } } class CopyThesaurusRequest extends TokenRequest{ String? thesaurusCode; CopyThesaurusRequest({ this.thesaurusCode, String? token, }) : super( token: token, ); factory CopyThesaurusRequest.fromJson(Map map) { return CopyThesaurusRequest( thesaurusCode: map['ThesaurusCode'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (thesaurusCode != null) map['ThesaurusCode'] = thesaurusCode; return map; } } class CopyOrgThesaurusRequest extends TokenRequest{ String? thesaurusCode; CopyOrgThesaurusRequest({ this.thesaurusCode, String? token, }) : super( token: token, ); factory CopyOrgThesaurusRequest.fromJson(Map map) { return CopyOrgThesaurusRequest( thesaurusCode: map['ThesaurusCode'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (thesaurusCode != null) map['ThesaurusCode'] = thesaurusCode; return map; } } class ThesaurusAllDTO { ThesaurusDTO? baseInfo; List? items; ThesaurusAllDTO({ this.baseInfo, this.items, }); factory ThesaurusAllDTO.fromJson(Map map) { return ThesaurusAllDTO( baseInfo: map['BaseInfo'] != null ? ThesaurusDTO.fromJson(map['BaseInfo']) : null, items: map['Items'] != null ? (map['Items'] as List).map((e)=>ThesaurusItemDTO.fromJson(e as Map)).toList() : null, ); } Map toJson() { final map = Map(); if (baseInfo != null) { map['BaseInfo'] = baseInfo; } if (items != null) { map['Items'] = items; } return map; } } class GetDefaultThesaurusContentRequest extends TokenRequest{ String? languageCode; GetDefaultThesaurusContentRequest({ this.languageCode, String? token, }) : super( token: token, ); factory GetDefaultThesaurusContentRequest.fromJson(Map map) { return GetDefaultThesaurusContentRequest( languageCode: map['LanguageCode'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (languageCode != null) map['LanguageCode'] = languageCode; return map; } } class SetUserDefaultThesaurusRequest extends TokenRequest{ String? thesaurusCode; String? languageCode; SetUserDefaultThesaurusRequest({ this.thesaurusCode, this.languageCode, String? token, }) : super( token: token, ); factory SetUserDefaultThesaurusRequest.fromJson(Map map) { return SetUserDefaultThesaurusRequest( thesaurusCode: map['ThesaurusCode'], languageCode: map['LanguageCode'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (thesaurusCode != null) map['ThesaurusCode'] = thesaurusCode; if (languageCode != null) map['LanguageCode'] = languageCode; return map; } } class RetryPushReportRecordsByCodesRequest extends TokenRequest{ List? codes; RetryPushReportRecordsByCodesRequest({ this.codes, String? token, }) : super( token: token, ); factory RetryPushReportRecordsByCodesRequest.fromJson(Map map) { return RetryPushReportRecordsByCodesRequest( codes: map['Codes']?.cast().toList(), token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (codes != null) map['Codes'] = codes; return map; } } class FindReportPreviewImageRequest extends TokenRequest{ String? recordCode; String? languageCode; FindReportPreviewImageRequest({ this.recordCode, this.languageCode, String? token, }) : super( token: token, ); factory FindReportPreviewImageRequest.fromJson(Map map) { return FindReportPreviewImageRequest( recordCode: map['RecordCode'], languageCode: map['LanguageCode'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (recordCode != null) map['RecordCode'] = recordCode; if (languageCode != null) map['LanguageCode'] = languageCode; return map; } } class ConvertVitalReportPreviewImageRequest extends TokenRequest{ ReportDTO? reportInfo; ConvertVitalReportPreviewImageRequest({ this.reportInfo, String? token, }) : super( token: token, ); factory ConvertVitalReportPreviewImageRequest.fromJson(Map map) { return ConvertVitalReportPreviewImageRequest( reportInfo: map['ReportInfo'] != null ? ReportDTO.fromJson(map['ReportInfo']) : null, token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (reportInfo != null) map['ReportInfo'] = reportInfo; return map; } } class FindReportShareUrlRequest extends TokenRequest{ String? reportCode; String? languageCode; FindReportShareUrlRequest({ this.reportCode, this.languageCode, String? token, }) : super( token: token, ); factory FindReportShareUrlRequest.fromJson(Map map) { return FindReportShareUrlRequest( reportCode: map['ReportCode'], languageCode: map['LanguageCode'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (reportCode != null) map['ReportCode'] = reportCode; if (languageCode != null) map['LanguageCode'] = languageCode; return map; } } class GetDefaultReportTemplateContentRequest extends TokenRequest{ String? languageCode; GetDefaultReportTemplateContentRequest({ this.languageCode, String? token, }) : super( token: token, ); factory GetDefaultReportTemplateContentRequest.fromJson(Map map) { return GetDefaultReportTemplateContentRequest( languageCode: map['LanguageCode'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (languageCode != null) map['LanguageCode'] = languageCode; return map; } } class SetUserDefaultReportTemplateRequest extends TokenRequest{ String? reportTemplateCode; String? languageCode; SetUserDefaultReportTemplateRequest({ this.reportTemplateCode, this.languageCode, String? token, }) : super( token: token, ); factory SetUserDefaultReportTemplateRequest.fromJson(Map map) { return SetUserDefaultReportTemplateRequest( reportTemplateCode: map['ReportTemplateCode'], languageCode: map['LanguageCode'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (reportTemplateCode != null) map['ReportTemplateCode'] = reportTemplateCode; if (languageCode != null) map['LanguageCode'] = languageCode; return map; } } class GetReportTemplateDBRequest { String? reportTemplateCode; String? languageCode; GetReportTemplateDBRequest({ this.reportTemplateCode, this.languageCode, }); factory GetReportTemplateDBRequest.fromJson(Map map) { return GetReportTemplateDBRequest( reportTemplateCode: map['ReportTemplateCode'], languageCode: map['LanguageCode'], ); } Map toJson() { final map = Map(); if (reportTemplateCode != null) { map['ReportTemplateCode'] = reportTemplateCode; } if (languageCode != null) { map['LanguageCode'] = languageCode; } return map; } } class RefreshReportPosterRequest extends TokenRequest{ String? reportPosterCode; RefreshReportPosterRequest({ this.reportPosterCode, String? token, }) : super( token: token, ); factory RefreshReportPosterRequest.fromJson(Map map) { return RefreshReportPosterRequest( reportPosterCode: map['ReportPosterCode'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (reportPosterCode != null) map['ReportPosterCode'] = reportPosterCode; return map; } } class SyncReportInfoRequest { String? reportCode; DateTime? createTime; DateTime? updateTime; String? recordCode; String? reportUserCode; String? patientCode; String? patientName; String? deviceCode; String? reportTemplateJson; String? reportDatasJson; List? reportLabels; List? platformLabels; List? diagnosisLabels; DiagnosisOrganEnum reportOrgan; List? reportPreviewList; QualityType qualityType; QualifiedState qualifiedState; ReportQualityControl? qualityControlDatas; SyncReportInfoRequest({ this.reportCode, this.createTime, this.updateTime, this.recordCode, this.reportUserCode, this.patientCode, this.patientName, this.deviceCode, this.reportTemplateJson, this.reportDatasJson, this.reportLabels, this.platformLabels, this.diagnosisLabels, this.reportOrgan = DiagnosisOrganEnum.Null, this.reportPreviewList, this.qualityType = QualityType.None, this.qualifiedState = QualifiedState.UnSet, this.qualityControlDatas, }); factory SyncReportInfoRequest.fromJson(Map map) { return SyncReportInfoRequest( reportCode: map['ReportCode'], createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null, updateTime: map['UpdateTime'] != null ? DateTime.parse(map['UpdateTime']) : null, recordCode: map['RecordCode'], reportUserCode: map['ReportUserCode'], patientCode: map['PatientCode'], patientName: map['PatientName'], deviceCode: map['DeviceCode'], reportTemplateJson: map['ReportTemplateJson'], reportDatasJson: map['ReportDatasJson'], reportLabels: map['ReportLabels']?.cast().toList(), platformLabels: map['PlatformLabels']?.cast().toList(), diagnosisLabels: map['DiagnosisLabels']?.cast().toList(), reportOrgan: DiagnosisOrganEnum.values.firstWhere((e) => e.index == map['ReportOrgan']), reportPreviewList: map['ReportPreviewList'] != null ? (map['ReportPreviewList'] as List).map((e)=>ReportPreviewDTO.fromJson(e as Map)).toList() : null, qualityType: QualityType.values.firstWhere((e) => e.index == map['QualityType']), qualifiedState: QualifiedState.values.firstWhere((e) => e.index == map['QualifiedState']), qualityControlDatas: map['QualityControlDatas'] != null ? ReportQualityControl.fromJson(map['QualityControlDatas']) : null, ); } Map toJson() { final map = Map(); if (reportCode != null) { map['ReportCode'] = reportCode; } if (createTime != null) { map['CreateTime'] = JsonRpcUtils.dateFormat(createTime!); } if (updateTime != null) { map['UpdateTime'] = JsonRpcUtils.dateFormat(updateTime!); } if (recordCode != null) { map['RecordCode'] = recordCode; } if (reportUserCode != null) { map['ReportUserCode'] = reportUserCode; } if (patientCode != null) { map['PatientCode'] = patientCode; } if (patientName != null) { map['PatientName'] = patientName; } if (deviceCode != null) { map['DeviceCode'] = deviceCode; } if (reportTemplateJson != null) { map['ReportTemplateJson'] = reportTemplateJson; } if (reportDatasJson != null) { map['ReportDatasJson'] = reportDatasJson; } if (reportLabels != null) { map['ReportLabels'] = reportLabels; } if (platformLabels != null) { map['PlatformLabels'] = platformLabels; } if (diagnosisLabels != null) { map['DiagnosisLabels'] = diagnosisLabels; } map['ReportOrgan'] = reportOrgan.index; if (reportPreviewList != null) { map['ReportPreviewList'] = reportPreviewList; } map['QualityType'] = qualityType.index; map['QualifiedState'] = qualifiedState.index; if (qualityControlDatas != null) { map['QualityControlDatas'] = qualityControlDatas; } return map; } } class SyncBatchReportInfoRequest { SyncDBEnum syncType; List? syncReportInfos; SyncBatchReportInfoRequest({ this.syncType = SyncDBEnum.Migrate, this.syncReportInfos, }); factory SyncBatchReportInfoRequest.fromJson(Map map) { return SyncBatchReportInfoRequest( syncType: SyncDBEnum.values.firstWhere((e) => e.index == map['SyncType']), syncReportInfos: map['SyncReportInfos'] != null ? (map['SyncReportInfos'] as List).map((e)=>SyncReportInfoRequest.fromJson(e as Map)).toList() : null, ); } Map toJson() { final map = Map(); map['SyncType'] = syncType.index; if (syncReportInfos != null) { map['SyncReportInfos'] = syncReportInfos; } return map; } } class ApplicationItemDTO { String? description; String? summary; ApplicationItemDTO({ this.description, this.summary, }); factory ApplicationItemDTO.fromJson(Map map) { return ApplicationItemDTO( description: map['Description'], summary: map['Summary'], ); } Map toJson() { final map = Map(); if (description != null) { map['Description'] = description; } if (summary != null) { map['Summary'] = summary; } return map; } } class ApplicationInfoDTO { String? name; List? items; ApplicationInfoDTO({ this.name, this.items, }); factory ApplicationInfoDTO.fromJson(Map map) { return ApplicationInfoDTO( name: map['Name'], items: map['Items'] != null ? (map['Items'] as List).map((e)=>ApplicationItemDTO.fromJson(e as Map)).toList() : null, ); } Map toJson() { final map = Map(); if (name != null) { map['Name'] = name; } if (items != null) { map['Items'] = items; } return map; } } class ThesaurusInfoDTO { String? name; List? applications; ThesaurusInfoDTO({ this.name, this.applications, }); factory ThesaurusInfoDTO.fromJson(Map map) { return ThesaurusInfoDTO( name: map['Name'], applications: map['Applications'] != null ? (map['Applications'] as List).map((e)=>ApplicationInfoDTO.fromJson(e as Map)).toList() : null, ); } Map toJson() { final map = Map(); if (name != null) { map['Name'] = name; } if (applications != null) { map['Applications'] = applications; } return map; } } class ThesaurusTemplateInfoDTO { List? thesaurusList; ThesaurusTemplateInfoDTO({ this.thesaurusList, }); factory ThesaurusTemplateInfoDTO.fromJson(Map map) { return ThesaurusTemplateInfoDTO( thesaurusList: map['ThesaurusList'] != null ? (map['ThesaurusList'] as List).map((e)=>ThesaurusInfoDTO.fromJson(e as Map)).toList() : null, ); } Map toJson() { final map = Map(); if (thesaurusList != null) { map['ThesaurusList'] = thesaurusList; } return map; } } class ImportThesaurusInfoRequest extends TokenRequest{ String? thesaurusName; ThesaurusTemplateInfoDTO? thesaurusTemplateInfo; ThesaurusUsageTypeEnum thesaurusUsageType; ThesaurusStatusTypeEnum thesaurusStateType; ThesaurusTypeEnum thesaurusType; String? organizationCode; String? personalCode; String? languageCode; ImportThesaurusInfoRequest({ this.thesaurusName, this.thesaurusTemplateInfo, this.thesaurusUsageType = ThesaurusUsageTypeEnum.People, this.thesaurusStateType = ThesaurusStatusTypeEnum.Unpublished, this.thesaurusType = ThesaurusTypeEnum.Default, this.organizationCode, this.personalCode, this.languageCode, String? token, }) : super( token: token, ); factory ImportThesaurusInfoRequest.fromJson(Map map) { return ImportThesaurusInfoRequest( thesaurusName: map['ThesaurusName'], thesaurusTemplateInfo: map['ThesaurusTemplateInfo'] != null ? ThesaurusTemplateInfoDTO.fromJson(map['ThesaurusTemplateInfo']) : null, thesaurusUsageType: ThesaurusUsageTypeEnum.values.firstWhere((e) => e.index == map['ThesaurusUsageType']), thesaurusStateType: ThesaurusStatusTypeEnum.values.firstWhere((e) => e.index == map['ThesaurusStateType']), thesaurusType: ThesaurusTypeEnum.values.firstWhere((e) => e.index == map['ThesaurusType']), organizationCode: map['OrganizationCode'], personalCode: map['PersonalCode'], languageCode: map['LanguageCode'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (thesaurusName != null) map['ThesaurusName'] = thesaurusName; if (thesaurusTemplateInfo != null) map['ThesaurusTemplateInfo'] = thesaurusTemplateInfo; map['ThesaurusUsageType'] = thesaurusUsageType.index; map['ThesaurusStateType'] = thesaurusStateType.index; map['ThesaurusType'] = thesaurusType.index; if (organizationCode != null) map['OrganizationCode'] = organizationCode; if (personalCode != null) map['PersonalCode'] = personalCode; if (languageCode != null) map['LanguageCode'] = languageCode; return map; } } class ExportThesaurusTemplateResult { String? thesaurusName; ThesaurusTemplateInfoDTO? thesaurusTemplateInfo; ExportThesaurusTemplateResult({ this.thesaurusName, this.thesaurusTemplateInfo, }); factory ExportThesaurusTemplateResult.fromJson(Map map) { return ExportThesaurusTemplateResult( thesaurusName: map['ThesaurusName'], thesaurusTemplateInfo: map['ThesaurusTemplateInfo'] != null ? ThesaurusTemplateInfoDTO.fromJson(map['ThesaurusTemplateInfo']) : null, ); } Map toJson() { final map = Map(); if (thesaurusName != null) { map['ThesaurusName'] = thesaurusName; } if (thesaurusTemplateInfo != null) { map['ThesaurusTemplateInfo'] = thesaurusTemplateInfo; } return map; } } class FindThesaurusByCodeRequest extends TokenRequest{ String? thesaurusCode; FindThesaurusByCodeRequest({ this.thesaurusCode, String? token, }) : super( token: token, ); factory FindThesaurusByCodeRequest.fromJson(Map map) { return FindThesaurusByCodeRequest( thesaurusCode: map['ThesaurusCode'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (thesaurusCode != null) map['ThesaurusCode'] = thesaurusCode; return map; } } class DeviceExamReportDTO extends ReportDTO{ String? shareUrl; List? reportBytes; DeviceExamReportDTO({ this.shareUrl, this.reportBytes, String? reportTemplateJson, String? reportDatasJson, String? reportMeasureDatasJson, String? encryptPatientName, bool canEditReport = false, String? deviceName, String? reportTemplateName, String? reportTemplateCode, DateTime? examDate, String? reportCode, String? recordCode, String? reportUserCode, String? deviceCode, String? patientCode, String? patientId, String? patientName, List? reportLabels, List? platformLabels, List? diagnosisLabels, DiagnosisOrganEnum reportOrgan = DiagnosisOrganEnum.Null, DateTime? reportTime, String? reportUserName, List? reportPreviewList, String? referralRecordCode, ReportTypeEnum reportType = ReportTypeEnum.RemoteDiagnosis, bool isReferral = false, QualityType qualityType = QualityType.None, QualifiedState qualifiedState = QualifiedState.UnSet, ReportQualityControl? qualityControlDatas, bool isQualityControlled = false, DateTime? createTime, DateTime? updateTime, }) : super( reportTemplateJson: reportTemplateJson, reportDatasJson: reportDatasJson, reportMeasureDatasJson: reportMeasureDatasJson, encryptPatientName: encryptPatientName, canEditReport: canEditReport, deviceName: deviceName, reportTemplateName: reportTemplateName, reportTemplateCode: reportTemplateCode, examDate: examDate, reportCode: reportCode, recordCode: recordCode, reportUserCode: reportUserCode, deviceCode: deviceCode, patientCode: patientCode, patientId: patientId, patientName: patientName, reportLabels: reportLabels, platformLabels: platformLabels, diagnosisLabels: diagnosisLabels, reportOrgan: reportOrgan, reportTime: reportTime, reportUserName: reportUserName, reportPreviewList: reportPreviewList, referralRecordCode: referralRecordCode, reportType: reportType, isReferral: isReferral, qualityType: qualityType, qualifiedState: qualifiedState, qualityControlDatas: qualityControlDatas, isQualityControlled: isQualityControlled, createTime: createTime, updateTime: updateTime, ); factory DeviceExamReportDTO.fromJson(Map map) { final reportBytesData = map['ReportBytes']; return DeviceExamReportDTO( shareUrl: map['ShareUrl'], reportBytes: reportBytesData != null ? (reportBytesData as List).map((e) => e as int).toList(): null, reportTemplateJson: map['ReportTemplateJson'], reportDatasJson: map['ReportDatasJson'], reportMeasureDatasJson: map['ReportMeasureDatasJson'], encryptPatientName: map['EncryptPatientName'], canEditReport: map['CanEditReport'], deviceName: map['DeviceName'], reportTemplateName: map['ReportTemplateName'], reportTemplateCode: map['ReportTemplateCode'], examDate: map['ExamDate'] != null ? DateTime.parse(map['ExamDate']) : null, reportCode: map['ReportCode'], recordCode: map['RecordCode'], reportUserCode: map['ReportUserCode'], deviceCode: map['DeviceCode'], patientCode: map['PatientCode'], patientId: map['PatientId'], patientName: map['PatientName'], reportLabels: map['ReportLabels']?.cast().toList(), platformLabels: map['PlatformLabels']?.cast().toList(), diagnosisLabels: map['DiagnosisLabels']?.cast().toList(), reportOrgan: DiagnosisOrganEnum.values.firstWhere((e) => e.index == map['ReportOrgan']), reportTime: map['ReportTime'] != null ? DateTime.parse(map['ReportTime']) : null, reportUserName: map['ReportUserName'], reportPreviewList: map['ReportPreviewList'] != null ? (map['ReportPreviewList'] as List).map((e)=>ReportPreviewDTO.fromJson(e as Map)).toList() : null, referralRecordCode: map['ReferralRecordCode'], reportType: ReportTypeEnum.values.firstWhere((e) => e.index == map['ReportType']), isReferral: map['IsReferral'], qualityType: QualityType.values.firstWhere((e) => e.index == map['QualityType']), qualifiedState: QualifiedState.values.firstWhere((e) => e.index == map['QualifiedState']), qualityControlDatas: map['QualityControlDatas'] != null ? ReportQualityControl.fromJson(map['QualityControlDatas']) : null, isQualityControlled: map['IsQualityControlled'], createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null, updateTime: map['UpdateTime'] != null ? DateTime.parse(map['UpdateTime']) : null, ); } Map toJson() { final map = super.toJson(); if (shareUrl != null) map['ShareUrl'] = shareUrl; if (reportBytes != null) map['ReportBytes'] = reportBytes; return map; } } class GetDeviceExamReportsRequest extends TokenRequest{ String? recordCode; String? languageCode; GetDeviceExamReportsRequest({ this.recordCode, this.languageCode, String? token, }) : super( token: token, ); factory GetDeviceExamReportsRequest.fromJson(Map map) { return GetDeviceExamReportsRequest( recordCode: map['RecordCode'], languageCode: map['LanguageCode'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (recordCode != null) map['RecordCode'] = recordCode; if (languageCode != null) map['LanguageCode'] = languageCode; return map; } } class GetDeviceExamReportByCodeRequest extends TokenRequest{ String? reportCode; String? languageCode; bool includeReportBytes; GetDeviceExamReportByCodeRequest({ this.reportCode, this.languageCode, this.includeReportBytes = false, String? token, }) : super( token: token, ); factory GetDeviceExamReportByCodeRequest.fromJson(Map map) { return GetDeviceExamReportByCodeRequest( reportCode: map['ReportCode'], languageCode: map['LanguageCode'], includeReportBytes: map['IncludeReportBytes'], token: map['Token'], ); } Map toJson() { final map = super.toJson(); if (reportCode != null) map['ReportCode'] = reportCode; if (languageCode != null) map['LanguageCode'] = languageCode; map['IncludeReportBytes'] = includeReportBytes; return map; } }