From ed603c426870733ebdffc43b278d1540c363e5f4 Mon Sep 17 00:00:00 2001 From: "taha.alam" Date: Wed, 18 Dec 2024 20:19:06 +0300 Subject: [PATCH] WD: Chief complaint template id issue resolved. --- .../soap/SOAP_service.dart | 11 ++- lib/core/viewModel/SOAP_view_model.dart | 9 +- .../chief_complaint/AddChiefComplaints.dart | 82 ++++++++++--------- 3 files changed, 59 insertions(+), 43 deletions(-) diff --git a/lib/core/service/patient_medical_file/soap/SOAP_service.dart b/lib/core/service/patient_medical_file/soap/SOAP_service.dart index 405a55f9..4c55f3e7 100644 --- a/lib/core/service/patient_medical_file/soap/SOAP_service.dart +++ b/lib/core/service/patient_medical_file/soap/SOAP_service.dart @@ -684,6 +684,7 @@ class SOAPService extends LookupService { }, onFailure: (String error, int statusCode) { hasError = true; super.error = error; + DrAppToastMsg.showErrorToast(error); }, body: request); } @@ -1393,7 +1394,7 @@ class SOAPService extends LookupService { return success; } - continueEpisodeVidaPlus( + Future continueEpisodeVidaPlus( PatiantInformtion patient, List chiefComplaint) async { List> chiefComplaintList = []; @@ -1407,6 +1408,7 @@ class SOAPService extends LookupService { }); }); }); + bool success = false; Map request = { "appointmentId": patient.appointmentNo, "projectId": patient.projectId, @@ -1420,11 +1422,16 @@ class SOAPService extends LookupService { hasError = false; await baseAppClient.post(CONTINUE_EPISODE_VP, onSuccess: (dynamic response, int statusCode) { - print("Success"); + if ((response['ContinueEpisode']['resultData'] != null && + (response['ContinueEpisode']['resultData'] as List).isNotEmpty)) { + success = true; + } }, onFailure: (String error, int statusCode) { hasError = true; + DrAppToastMsg.showErrorToast(error); super.error = error; }, body: request); + return success; } continueEpisodeVidaPlusFromPrevious(PatiantInformtion patient, diff --git a/lib/core/viewModel/SOAP_view_model.dart b/lib/core/viewModel/SOAP_view_model.dart index 12324692..965e984f 100644 --- a/lib/core/viewModel/SOAP_view_model.dart +++ b/lib/core/viewModel/SOAP_view_model.dart @@ -1123,15 +1123,20 @@ class SOAPViewModel extends BaseViewModel { setState(ViewState.Idle); } - createCCByEpisode( + Future createCCByEpisode( PatiantInformtion patientInfo, List chiefComplaint) async { setState(ViewState.BusyLocal); - await _SOAPService.continueEpisodeVidaPlus(patientInfo, chiefComplaint); + var result = await _SOAPService.continueEpisodeVidaPlus(patientInfo, chiefComplaint); + if(result){ + await getChiefComplaint(patientInfo); + } if (_SOAPService.hasError) { error = _SOAPService.error; setState(ViewState.ErrorLocal); } else setState(ViewState.Idle); + + return result; } continueEpisodeVidaPlusFromPrevious( diff --git a/lib/screens/patients/profile/soap_update_vida_plus/subjective/chief_complaint/AddChiefComplaints.dart b/lib/screens/patients/profile/soap_update_vida_plus/subjective/chief_complaint/AddChiefComplaints.dart index fc551363..7f94935f 100644 --- a/lib/screens/patients/profile/soap_update_vida_plus/subjective/chief_complaint/AddChiefComplaints.dart +++ b/lib/screens/patients/profile/soap_update_vida_plus/subjective/chief_complaint/AddChiefComplaints.dart @@ -19,33 +19,30 @@ class AddChiefComplaint extends StatefulWidget { final String? thirdField; final PatiantInformtion patientInfo; - const AddChiefComplaint({super.key, - required this.complaints, - required this.selectedType, - this.firstField, - this.secondField, - this.thirdField, - required this.patientInfo - }); + const AddChiefComplaint( + {super.key, + required this.complaints, + required this.selectedType, + this.firstField, + this.secondField, + this.thirdField, + required this.patientInfo}); @override State createState() => _AddChiefComplaintState(); } - -class _AddChiefComplaintState extends State { +class _AddChiefComplaintState extends State { @override Widget build(BuildContext context) { return BaseView( - onModelReady: (model){ + onModelReady: (model) { episodeByChiefComplaint(model); }, builder: (_, model, w) => AppScaffold( isShowAppBar: true, - appBar: PatientSearchHeader( - title: TranslationBase.of(context).addChiefComplaint - ), + title: TranslationBase.of(context).addChiefComplaint), body: Padding( padding: const EdgeInsets.all(20.0), child: SingleChildScrollView( @@ -57,27 +54,29 @@ class _AddChiefComplaintState extends State { complaints: widget.complaints, selectedType: widget.selectedType, firstField: widget.firstField, - secondField:widget. secondField, + secondField: widget.secondField, thirdField: widget.thirdField, searchData: model.searchChiefComplaintList, - onSearch:(String value){ + onSearch: (String value) { searchChiefComplaint(model, value); }, - onSave: (String chiefComplaint){ - addChiefComplaint(model, chiefComplaint, context); - }, - onCrossClicked: (GetChiefComplaintVidaPlus chiefComplaint){ + onSave: (String chiefComplaint) { + addChiefComplaint(model, chiefComplaint, context); + }, + onCrossClicked: (GetChiefComplaintVidaPlus chiefComplaint) { updateChiefComplaint(model, chiefComplaint, context); }, ), - SizedBox(height: 16,), + SizedBox( + height: 16, + ), PreviousChiefComplaints( - model.episodeByChiefComplaintListVidaPlus, - (chiefComplains , String){ - var listOfChiefComplaint = [chiefComplains]; - createCCByEpisode(model,listOfChiefComplaint ); - }, - ) + model.episodeByChiefComplaintListVidaPlus, + (chiefComplains, String) { + var listOfChiefComplaint = [chiefComplains]; + createCCByEpisode(model, listOfChiefComplaint); + }, + ) ], ), ), @@ -85,34 +84,39 @@ class _AddChiefComplaintState extends State { ), ); } - addChiefComplaint(SOAPViewModel model, String CC, BuildContext context) async{ + + addChiefComplaint( + SOAPViewModel model, String CC, BuildContext context) async { GifLoaderDialogUtils.showMyDialog(context); await model.saveChiefComplaint(widget.patientInfo, CC); await model.getChiefComplaint(widget.patientInfo); GifLoaderDialogUtils.hideDialog(context); } - searchChiefComplaint(SOAPViewModel model, String CC) async{ - await model.searchChiefComplaint(widget.patientInfo, CC); + searchChiefComplaint(SOAPViewModel model, String CC) async { + await model.searchChiefComplaint(widget.patientInfo, CC); } - updateChiefComplaint(SOAPViewModel model, GetChiefComplaintVidaPlus cc, BuildContext context) async{ + + updateChiefComplaint(SOAPViewModel model, GetChiefComplaintVidaPlus cc, + BuildContext context) async { GifLoaderDialogUtils.showMyDialog(context); await model.updateChiefComplaint(widget.patientInfo, cc); await model.getChiefComplaint(widget.patientInfo); GifLoaderDialogUtils.hideDialog(context); - setState(() { + setState(() {}); + } + episodeByChiefComplaint(SOAPViewModel model) async { + WidgetsBinding.instance.addPostFrameCallback((_) async { + await model.episodeByChiefComplaint(widget.patientInfo); }); } - episodeByChiefComplaint(SOAPViewModel model) async{ - WidgetsBinding.instance.addPostFrameCallback((_) async{ - await model.episodeByChiefComplaint(widget.patientInfo);}); - } - createCCByEpisode(model, List chiefComplaint) async{ + createCCByEpisode(model, List chiefComplaint) async { GifLoaderDialogUtils.showMyDialog(context); - await model.createCCByEpisode(widget.patientInfo, chiefComplaint); + var result = + await model.createCCByEpisode(widget.patientInfo, chiefComplaint); GifLoaderDialogUtils.hideDialog(context); - Navigator.of(context).pop(); + if (result) Navigator.of(context).pop(); } }