From fb8381ea6157bda8c5d40f72e4cfe96a4db77dd5 Mon Sep 17 00:00:00 2001 From: hussam al-habibeh Date: Mon, 25 Jan 2021 16:10:21 +0200 Subject: [PATCH] bugs fix --- lib/core/model/procedure/ControlsModel.dart | 18 +++ .../procedure/post_procedure_req_model.dart | 21 +-- .../update_procedure_request_model.dart | 75 ++++++++++ lib/core/service/procedure_service.dart | 6 +- lib/core/viewModel/procedure_View_model.dart | 9 +- lib/screens/base/base_view.dart | 4 +- .../prescription/add_prescription_form.dart | 139 ++++++------------ .../prescription/prescription_screen.dart | 80 +++++++++- lib/screens/procedures/procedure_screen.dart | 39 +++-- lib/util/dr_app_toast_msg.dart | 10 +- 10 files changed, 259 insertions(+), 142 deletions(-) create mode 100644 lib/core/model/procedure/ControlsModel.dart create mode 100644 lib/core/model/procedure/update_procedure_request_model.dart diff --git a/lib/core/model/procedure/ControlsModel.dart b/lib/core/model/procedure/ControlsModel.dart new file mode 100644 index 00000000..b3e8ae9c --- /dev/null +++ b/lib/core/model/procedure/ControlsModel.dart @@ -0,0 +1,18 @@ +class Controls { + String code; + String controlValue; + + Controls({this.code, this.controlValue}); + + Controls.fromJson(Map json) { + code = json['Code']; + controlValue = json['ControlValue']; + } + + Map toJson() { + final Map data = new Map(); + data['Code'] = this.code; + data['ControlValue'] = this.controlValue; + return data; + } +} diff --git a/lib/core/model/procedure/post_procedure_req_model.dart b/lib/core/model/procedure/post_procedure_req_model.dart index 52f62a11..b12563f8 100644 --- a/lib/core/model/procedure/post_procedure_req_model.dart +++ b/lib/core/model/procedure/post_procedure_req_model.dart @@ -1,3 +1,5 @@ +import 'ControlsModel.dart'; + class PostProcedureReqModel { int patientMRN; int appointmentNo; @@ -66,22 +68,3 @@ class Procedures { return data; } } - -class Controls { - String code; - String controlValue; - - Controls({this.code, this.controlValue}); - - Controls.fromJson(Map json) { - code = json['Code']; - controlValue = json['ControlValue']; - } - - Map toJson() { - final Map data = new Map(); - data['Code'] = this.code; - data['ControlValue'] = this.controlValue; - return data; - } -} diff --git a/lib/core/model/procedure/update_procedure_request_model.dart b/lib/core/model/procedure/update_procedure_request_model.dart new file mode 100644 index 00000000..aee39879 --- /dev/null +++ b/lib/core/model/procedure/update_procedure_request_model.dart @@ -0,0 +1,75 @@ +import 'ControlsModel.dart'; + +class UpdateProcedureRequestModel { + int orderNo; + int patientMRN; + int appointmentNo; + int episodeID; + int lineItemNo; + ProcedureDetail procedureDetail; + String vidaAuthTokenID; + + UpdateProcedureRequestModel( + {this.orderNo, + this.patientMRN, + this.appointmentNo, + this.episodeID, + this.lineItemNo, + this.procedureDetail, + this.vidaAuthTokenID}); + + UpdateProcedureRequestModel.fromJson(Map json) { + orderNo = json['OrderNo']; + patientMRN = json['PatientMRN']; + appointmentNo = json['AppointmentNo']; + episodeID = json['EpisodeID']; + lineItemNo = json['LineItemNo']; + procedureDetail = json['procedureDetail'] != null + ? new ProcedureDetail.fromJson(json['procedureDetail']) + : null; + vidaAuthTokenID = json['VidaAuthTokenID']; + } + + Map toJson() { + final Map data = new Map(); + data['OrderNo'] = this.orderNo; + data['PatientMRN'] = this.patientMRN; + data['AppointmentNo'] = this.appointmentNo; + data['EpisodeID'] = this.episodeID; + data['LineItemNo'] = this.lineItemNo; + if (this.procedureDetail != null) { + data['procedureDetail'] = this.procedureDetail.toJson(); + } + data['VidaAuthTokenID'] = this.vidaAuthTokenID; + return data; + } +} + +class ProcedureDetail { + String procedure; + String category; + List controls; + + ProcedureDetail({this.procedure, this.category, this.controls}); + + ProcedureDetail.fromJson(Map json) { + procedure = json['Procedure']; + category = json['Category']; + if (json['Controls'] != null) { + controls = new List(); + json['Controls'].forEach((v) { + controls.add(new Controls.fromJson(v)); + }); + } + } + + Map toJson() { + final Map data = new Map(); + data['Procedure'] = this.procedure; + data['Category'] = this.category; + if (this.controls != null) { + data['Controls'] = this.controls.map((v) => v.toJson()).toList(); + } + return data; + } +} diff --git a/lib/core/service/procedure_service.dart b/lib/core/service/procedure_service.dart index 89fe6be3..515e0e50 100644 --- a/lib/core/service/procedure_service.dart +++ b/lib/core/service/procedure_service.dart @@ -5,6 +5,7 @@ import 'package:doctor_app_flutter/core/model/procedure/get_ordered_procedure_re import 'package:doctor_app_flutter/core/model/procedure/get_procedure_model.dart'; import 'package:doctor_app_flutter/core/model/procedure/get_procedure_req_model.dart'; import 'package:doctor_app_flutter/core/model/procedure/post_procedure_req_model.dart'; +import 'package:doctor_app_flutter/core/model/procedure/update_procedure_request_model.dart'; import 'package:doctor_app_flutter/core/service/base/base_service.dart'; import 'package:flutter/foundation.dart'; @@ -104,7 +105,8 @@ class ProcedureService extends BaseService { }, body: postProcedureReqModel.toJson()); } - Future updateProcedure(PostProcedureReqModel postProcedureReqModel) async { + Future updateProcedure( + UpdateProcedureRequestModel updateProcedureRequestModel) async { hasError = false; _procedureList.clear(); await baseAppClient.post(UPDATE_PROCEDURE, @@ -113,6 +115,6 @@ class ProcedureService extends BaseService { }, onFailure: (String error, int statusCode) { hasError = true; super.error = error; - }, body: postProcedureReqModel.toJson()); + }, body: updateProcedureRequestModel.toJson()); } } diff --git a/lib/core/viewModel/procedure_View_model.dart b/lib/core/viewModel/procedure_View_model.dart index 5c253025..6be63be0 100644 --- a/lib/core/viewModel/procedure_View_model.dart +++ b/lib/core/viewModel/procedure_View_model.dart @@ -3,6 +3,7 @@ import 'package:doctor_app_flutter/core/model/procedure/categories_procedure.dar import 'package:doctor_app_flutter/core/model/procedure/get_ordered_procedure_model.dart'; import 'package:doctor_app_flutter/core/model/procedure/get_procedure_model.dart'; import 'package:doctor_app_flutter/core/model/procedure/post_procedure_req_model.dart'; +import 'package:doctor_app_flutter/core/model/procedure/update_procedure_request_model.dart'; import 'package:doctor_app_flutter/core/service/procedure_service.dart'; import 'package:doctor_app_flutter/core/viewModel/base_view_model.dart'; import 'package:doctor_app_flutter/locator.dart'; @@ -61,7 +62,6 @@ class ProcedureViewModel extends BaseViewModel { if (_procedureService.hasError) { error = _procedureService.error; setState(ViewState.ErrorLocal); - await getProcedure(mrn: mrn); } else { await getProcedure(mrn: mrn); setState(ViewState.Idle); @@ -69,16 +69,17 @@ class ProcedureViewModel extends BaseViewModel { } Future updateProcedure( - {PostProcedureReqModel postProcedureReqModel, int mrn}) async { + {UpdateProcedureRequestModel updateProcedureRequestModel, + int mrn}) async { hasError = false; //_insuranceCardService.clearInsuranceCard(); setState(ViewState.Busy); - await _procedureService.updateProcedure(postProcedureReqModel); + await _procedureService.updateProcedure(updateProcedureRequestModel); if (_procedureService.hasError) { error = _procedureService.error; setState(ViewState.ErrorLocal); } else setState(ViewState.Idle); - await getProcedure(mrn: mrn); + // await getProcedure(mrn: mrn); } } diff --git a/lib/screens/base/base_view.dart b/lib/screens/base/base_view.dart index cf24b47f..7a5c93e6 100644 --- a/lib/screens/base/base_view.dart +++ b/lib/screens/base/base_view.dart @@ -33,8 +33,8 @@ class _BaseViewState extends State> { @override Widget build(BuildContext context) { - return ChangeNotifierProvider( - create: (BuildContext context) => model, + return ChangeNotifierProvider.value( + value: model, child: Consumer(builder: widget.builder), ); } diff --git a/lib/screens/prescription/add_prescription_form.dart b/lib/screens/prescription/add_prescription_form.dart index 53d78b1e..c519d134 100644 --- a/lib/screens/prescription/add_prescription_form.dart +++ b/lib/screens/prescription/add_prescription_form.dart @@ -1,6 +1,5 @@ import 'package:autocomplete_textfield/autocomplete_textfield.dart'; import 'package:doctor_app_flutter/client/base_app_client.dart'; -import 'package:doctor_app_flutter/config/config.dart'; import 'package:doctor_app_flutter/config/size_config.dart'; import 'package:doctor_app_flutter/core/enum/viewstate.dart'; import 'package:doctor_app_flutter/core/model/get_medication_response_model.dart'; @@ -8,29 +7,21 @@ import 'package:doctor_app_flutter/core/model/post_prescrition_req_model.dart'; import 'package:doctor_app_flutter/core/model/Prescription_model.dart'; import 'package:doctor_app_flutter/core/viewModel/medicine_view_model.dart'; import 'package:doctor_app_flutter/core/viewModel/prescription_view_model.dart'; -import 'package:doctor_app_flutter/models/livecare/transfer_to_admin.dart'; import 'package:doctor_app_flutter/models/patient/patiant_info_model.dart'; import 'package:doctor_app_flutter/screens/base/base_view.dart'; import 'package:doctor_app_flutter/screens/prescription/drugtodrug.dart'; -import 'package:doctor_app_flutter/screens/prescription/prescription_screen.dart'; -import 'package:doctor_app_flutter/screens/prescription/prescription_warnings.dart'; import 'package:doctor_app_flutter/util/date-utils.dart'; import 'package:doctor_app_flutter/util/dr_app_toast_msg.dart'; import 'package:doctor_app_flutter/util/helpers.dart'; import 'package:doctor_app_flutter/util/translations_delegate_base.dart'; -import 'package:doctor_app_flutter/widgets/patients/dynamic_elements.dart'; import 'package:doctor_app_flutter/widgets/shared/Text.dart'; import 'package:doctor_app_flutter/widgets/shared/TextFields.dart'; import 'package:doctor_app_flutter/widgets/shared/app_buttons_widget.dart'; -import 'package:doctor_app_flutter/widgets/shared/app_text_form_field.dart'; import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart'; import 'package:doctor_app_flutter/widgets/shared/dialogs/dailog-list-select.dart'; -import 'package:doctor_app_flutter/widgets/shared/loader/gif_loader_dialog_utils.dart'; import 'package:doctor_app_flutter/widgets/shared/network_base_view.dart'; -import 'package:eva_icons_flutter/eva_icons_flutter.dart'; import 'package:flutter/material.dart'; import 'package:hexcolor/hexcolor.dart'; -import 'package:intl/intl.dart'; addPrescriptionForm(context, PrescriptionViewModel model, PatiantInformtion patient, prescription) { @@ -198,14 +189,25 @@ class _PrescriptionFormWidgetState extends State { dynamic route25 = {"id": 37, "name": "Inserted into Vagina"}; dynamic route26 = {"id": 36, "name": "Inserted into Rectum"}; dynamic route27 = {"id": 31, "name": "In Each Nostril"}; - dynamic frequency1 = {"id": 1, "name": "2 Times a day"}; - dynamic frequency2 = {"id": 2, "name": "3 Times a day"}; - dynamic frequency3 = {"id": 3, "name": "4 Times a day"}; + dynamic frequency1 = {"id": 2, "name": "2 Times a day"}; + dynamic frequency2 = {"id": 3, "name": "3 Times a day"}; + dynamic frequency3 = {"id": 4, "name": "4 Times a day"}; dynamic frequency4 = {"id": 8, "name": "As Needed"}; dynamic frequency5 = {"id": 9, "name": "Bed Time"}; dynamic frequency6 = {"id": 11, "name": "Every Other Day"}; dynamic frequency7 = {"id": 29, "name": "Every Eight Hours"}; dynamic frequency8 = {"id": 34, "name": "As Directed"}; + dynamic frequency9 = {"id": 22, "name": "Once Per Month"}; + dynamic frequency10 = {"id": 2, "name": "3 Times a day"}; + dynamic frequency11 = {"id": 21, "name": "Every 3 hours"}; + dynamic frequency12 = {"id": 20, "name": "Once a Week"}; + dynamic frequency13 = {"id": 12, "name": "Every Half Hour"}; + dynamic frequency14 = {"id": 10, "name": "4 Times a Day"}; + dynamic frequency15 = {"id": 24, "name": "Once Every 2 Months"}; + dynamic frequency16 = {"id": 25, "name": "Every One Hour"}; + dynamic frequency17 = {"id": 26, "name": "Every Two Hours"}; + dynamic frequency18 = {"id": 28, "name": "Every Six Hours"}; + dynamic duration1 = {"id": 1, "name": "For 1 Day"}; dynamic duration2 = {"id": 2, "name": "For 2 Days"}; dynamic duration3 = {"id": 3, "name": "For 3 Days"}; @@ -234,6 +236,15 @@ class _PrescriptionFormWidgetState extends State { dynamic doseTime10 = {"id": 10, "name": "While wake"}; dynamic doseTime11 = {"id": 12, "name": "Any Time"}; dynamic doseTime12 = {"id": 21, "name": "Bed Time"}; + dynamic doseTime13 = {"id": 13, "name": "30 Minutes Before Meals"}; + dynamic doseTime14 = {"id": 14, "name": "1 Hour Before Meals"}; + dynamic doseTime15 = {"id": 15, "name": "2 Hours After Meal"}; + dynamic doseTime16 = {"id": 16, "name": "After Breakfast"}; + dynamic doseTime17 = {"id": 17, "name": "Before Lunch"}; + dynamic doseTime18 = {"id": 18, "name": "After Lunch"}; + dynamic doseTime19 = {"id": 20, "name": "After Dinner"}; + dynamic doseTime20 = {"id": 21, "name": "Bed Time"}; + dynamic doseTime21 = {"id": 11, "name": "Now"}; dynamic indication1 = {"id": 545, "name": "Gingival Hyperplasia"}; dynamic indication2 = {"id": 546, "name": "Mild Drowsiness"}; dynamic indication3 = {"id": 547, "name": "Hypertrichosis"}; @@ -273,6 +284,17 @@ class _PrescriptionFormWidgetState extends State { doseTimeList.add(doseTime9); doseTimeList.add(doseTime10); doseTimeList.add(doseTime11); + doseTimeList.add(doseTime12); + doseTimeList.add(doseTime13); + doseTimeList.add(doseTime14); + doseTimeList.add(doseTime15); + doseTimeList.add(doseTime16); + doseTimeList.add(doseTime17); + doseTimeList.add(doseTime18); + doseTimeList.add(doseTime19); + doseTimeList.add(doseTime20); + doseTimeList.add(doseTime21); + doseTimeList.add(doseTime12); frequencyList.add(frequency1); frequencyList.add(frequency2); @@ -282,6 +304,16 @@ class _PrescriptionFormWidgetState extends State { frequencyList.add(frequency6); frequencyList.add(frequency7); frequencyList.add(frequency8); + frequencyList.add(frequency9); + frequencyList.add(frequency10); + frequencyList.add(frequency11); + frequencyList.add(frequency12); + frequencyList.add(frequency13); + frequencyList.add(frequency14); + frequencyList.add(frequency15); + frequencyList.add(frequency16); + frequencyList.add(frequency17); + frequencyList.add(frequency18); routeList.add(route1); routeList.add(route2); routeList.add(route3); @@ -484,46 +516,6 @@ class _PrescriptionFormWidgetState extends State { ], ), ), - // Container( - // height: screenSize.height * 0.070, - // child: InkWell( - // onTap: referToList != null - // ? () { - // ListSelectDialog dialog = - // ListSelectDialog( - // list: referToList, - // attributeName: 'name', - // attributeValueId: 'id', - // okText: - // TranslationBase.of(context) - // .ok, - // okFunction: (selectedValue) { - // setState(() { - // type = selectedValue; - // _selectedBranch = null; - // }); - // }, - // ); - // showDialog( - // barrierDismissible: false, - // context: context, - // builder: - // (BuildContext context) { - // return dialog; - // }, - // ); - // } - // : null, - // child: TextField( - // decoration: textFieldSelectorDecoration( - // TranslationBase.of(context) - // .orderType, - // type != null ? type['name'] : null, - // true), - // enabled: false, - // ), - // ), - // ), SizedBox(height: spaceBetweenTextFileds), Container( height: screenSize.height * 0.070, @@ -863,15 +855,13 @@ class _PrescriptionFormWidgetState extends State { // formKey.currentState.save(); // Navigator.pop(context); // openDrugToDrug(); - if (strength == null || - route == null || + if (route == null || frequency == null || indication == null || doseTime == null || duration == null || selectedDate == null || - units == null || - _selectedMedication == null) { + units == null) { DrAppToastMsg.showErrorToast( "Please Fill All Fields"); return; @@ -1023,41 +1013,4 @@ class _PrescriptionFormWidgetState extends State { ); }); } - - // searchData(String str, PrescriptionViewModel model) { - // var strExist = str.length > 0 ? true : false; - // - // if (strExist) { - // filteredNotesList = null; - // filteredNotesList = model.drugsList - // .where((note) => - // note["GenericName"].toString().contains(str.toUpperCase())) - // .toList(); - // setState(() { - // notesList = filteredNotesList; - // }); - // } else { - // setState(() { - // notesList = model.drugsList; - // }); - // } - // } - - searchMedicine(context, PrescriptionViewModel model, String str) async { - FocusScope.of(context).unfocus(); - // if (searchController.text.isEmpty()) { - // helpers.showErrorToast(TranslationBase.of(context).typeMedicineName); - // //"Type Medicine Name") - // return; - // } - if (searchController.text.length < 0) { - helpers.showErrorToast(TranslationBase.of(context).moreThan3Letter); - return; - } - - GifLoaderDialogUtils.showMyDialog(context); - - await model.getDrugs(drugName: searchController.text); - GifLoaderDialogUtils.hideDialog(context); - } } diff --git a/lib/screens/prescription/prescription_screen.dart b/lib/screens/prescription/prescription_screen.dart index 00fc38b8..4208c599 100644 --- a/lib/screens/prescription/prescription_screen.dart +++ b/lib/screens/prescription/prescription_screen.dart @@ -49,14 +49,24 @@ class _NewPrescriptionScreenState extends State { doseTimeList = List(); frequencyList = List(); - dynamic frequency1 = {"id": 1, "name": "2 Times a day"}; - dynamic frequency2 = {"id": 2, "name": "3 Times a day"}; - dynamic frequency3 = {"id": 3, "name": "4 Times a day"}; + dynamic frequency1 = {"id": 2, "name": "2 Times a day"}; + dynamic frequency2 = {"id": 3, "name": "3 Times a day"}; + dynamic frequency3 = {"id": 4, "name": "4 Times a day"}; dynamic frequency4 = {"id": 8, "name": "As Needed"}; dynamic frequency5 = {"id": 9, "name": "Bed Time"}; dynamic frequency6 = {"id": 11, "name": "Every Other Day"}; dynamic frequency7 = {"id": 29, "name": "Every Eight Hours"}; dynamic frequency8 = {"id": 34, "name": "As Directed"}; + dynamic frequency9 = {"id": 22, "name": "Once Per Month"}; + dynamic frequency10 = {"id": 2, "name": "3 Times a day"}; + dynamic frequency11 = {"id": 21, "name": "Every 3 hours"}; + dynamic frequency12 = {"id": 20, "name": "Once a Week"}; + dynamic frequency13 = {"id": 12, "name": "Every Half Hour"}; + dynamic frequency14 = {"id": 10, "name": "4 Times a Day"}; + dynamic frequency15 = {"id": 24, "name": "Once Every 2 Months"}; + dynamic frequency16 = {"id": 25, "name": "Every One Hour"}; + dynamic frequency17 = {"id": 26, "name": "Every Two Hours"}; + dynamic frequency18 = {"id": 28, "name": "Every Six Hours"}; dynamic doseTime1 = {"id": 1, "name": "Before Meals"}; dynamic doseTime2 = {"id": 2, "name": "After Meals"}; dynamic doseTime3 = {"id": 3, "name": "With Meals"}; @@ -69,6 +79,15 @@ class _NewPrescriptionScreenState extends State { dynamic doseTime10 = {"id": 10, "name": "While wake"}; dynamic doseTime11 = {"id": 12, "name": "Any Time"}; dynamic doseTime12 = {"id": 21, "name": "Bed Time"}; + dynamic doseTime13 = {"id": 13, "name": "30 Minutes Before Meals"}; + dynamic doseTime14 = {"id": 14, "name": "1 Hour Before Meals"}; + dynamic doseTime15 = {"id": 15, "name": "2 Hours After Meal"}; + dynamic doseTime16 = {"id": 16, "name": "After Breakfast"}; + dynamic doseTime17 = {"id": 17, "name": "Before Lunch"}; + dynamic doseTime18 = {"id": 18, "name": "After Lunch"}; + dynamic doseTime19 = {"id": 20, "name": "After Dinner"}; + dynamic doseTime20 = {"id": 21, "name": "Bed Time"}; + dynamic doseTime21 = {"id": 11, "name": "Now"}; dynamic route1 = {"id": 7, "name": "By Mouth"}; dynamic route2 = {"id": 10, "name": "Inhale by Mouth"}; dynamic route3 = {"id": 15, "name": "for INJECTION"}; @@ -78,6 +97,24 @@ class _NewPrescriptionScreenState extends State { dynamic route7 = {"id": 27, "name": "In Both EYES"}; dynamic route8 = {"id": 28, "name": "In Both Ears"}; dynamic route9 = {"id": 32, "name": "Intramuscular"}; + dynamic route10 = {"id": 60, "name": "TRANSDERMAL"}; + dynamic route11 = {"id": 59, "name": "OROPHARYNGEAL"}; + dynamic route12 = {"id": 15, "name": "for INJECTION"}; + dynamic route13 = {"id": 58, "name": "SUBCUTANEOUS"}; + dynamic route14 = {"id": 57, "name": "NASOGASTRIC"}; + dynamic route15 = {"id": 56, "name": "IRRIGATION"}; + dynamic route16 = {"id": 55, "name": "INTRAVITREAL"}; + dynamic route17 = {"id": 54, "name": "INTRAVENOUS BOLUS"}; + dynamic route18 = {"id": 51, "name": "EPIDURAL"}; + dynamic route19 = {"id": 47, "name": "Parenteral"}; + dynamic route20 = {"id": 43, "name": "IM"}; + dynamic route21 = {"id": 42, "name": "IV"}; + dynamic route22 = {"id": 41, "name": "Sublingual"}; + dynamic route23 = {"id": 40, "name": "For Nebulization"}; + dynamic route24 = {"id": 39, "name": "Nasal"}; + dynamic route25 = {"id": 37, "name": "Inserted into Vagina"}; + dynamic route26 = {"id": 36, "name": "Inserted into Rectum"}; + dynamic route27 = {"id": 31, "name": "In Each Nostril"}; frequencyList.add(frequency1); frequencyList.add(frequency2); @@ -87,6 +124,16 @@ class _NewPrescriptionScreenState extends State { frequencyList.add(frequency6); frequencyList.add(frequency7); frequencyList.add(frequency8); + frequencyList.add(frequency9); + frequencyList.add(frequency10); + frequencyList.add(frequency11); + frequencyList.add(frequency12); + frequencyList.add(frequency13); + frequencyList.add(frequency14); + frequencyList.add(frequency15); + frequencyList.add(frequency16); + frequencyList.add(frequency17); + frequencyList.add(frequency18); doseTimeList.add(doseTime1); doseTimeList.add(doseTime2); doseTimeList.add(doseTime3); @@ -99,6 +146,15 @@ class _NewPrescriptionScreenState extends State { doseTimeList.add(doseTime10); doseTimeList.add(doseTime11); doseTimeList.add(doseTime12); + doseTimeList.add(doseTime13); + doseTimeList.add(doseTime14); + doseTimeList.add(doseTime15); + doseTimeList.add(doseTime16); + doseTimeList.add(doseTime17); + doseTimeList.add(doseTime18); + doseTimeList.add(doseTime19); + doseTimeList.add(doseTime20); + doseTimeList.add(doseTime21); routeList.add(route1); routeList.add(route2); routeList.add(route3); @@ -108,6 +164,24 @@ class _NewPrescriptionScreenState extends State { routeList.add(route7); routeList.add(route8); routeList.add(route9); + routeList.add(route10); + routeList.add(route11); + routeList.add(route12); + routeList.add(route13); + routeList.add(route14); + routeList.add(route15); + routeList.add(route16); + routeList.add(route17); + routeList.add(route18); + routeList.add(route19); + routeList.add(route20); + routeList.add(route21); + routeList.add(route22); + routeList.add(route23); + routeList.add(route24); + routeList.add(route25); + routeList.add(route26); + routeList.add(route27); } Widget build(BuildContext context) { diff --git a/lib/screens/procedures/procedure_screen.dart b/lib/screens/procedures/procedure_screen.dart index 5483ffd9..b78bf65d 100644 --- a/lib/screens/procedures/procedure_screen.dart +++ b/lib/screens/procedures/procedure_screen.dart @@ -2,8 +2,10 @@ import 'package:doctor_app_flutter/client/base_app_client.dart'; import 'package:doctor_app_flutter/config/config.dart'; import 'package:doctor_app_flutter/config/size_config.dart'; import 'package:doctor_app_flutter/core/enum/viewstate.dart'; +import 'package:doctor_app_flutter/core/model/procedure/ControlsModel.dart'; import 'package:doctor_app_flutter/core/model/procedure/categories_procedure.dart'; import 'package:doctor_app_flutter/core/model/procedure/post_procedure_req_model.dart'; +import 'package:doctor_app_flutter/core/model/procedure/update_procedure_request_model.dart'; import 'package:doctor_app_flutter/core/viewModel/prescription_view_model.dart'; import 'package:doctor_app_flutter/core/viewModel/procedure_View_model.dart'; import 'package:doctor_app_flutter/icons_app/doctor_app_icons.dart'; @@ -676,10 +678,11 @@ postProcedure( postProcedureReqModel.episodeID = patient.episodeNo; postProcedureReqModel.patientMRN = patient.patientMRN; - - controls.add( - Controls(code: remarks.isEmpty ? '' : remarks, controlValue: 'test'), - ); + entityList.forEach((element) { + controls.add( + Controls(code: "remarks", controlValue: remarks.isEmpty ? '' : remarks), + ); + }); entityList.forEach((element) { controlsProcedure.add(Procedures( @@ -693,6 +696,7 @@ postProcedure( if (model.state == ViewState.ErrorLocal) { helpers.showErrorToast(model.error); + model.getProcedure(mrn: patient.patientMRN); } else if (model.state == ViewState.Idle) { DrAppToastMsg.showSuccesToast('procedure has been added'); } @@ -704,30 +708,37 @@ updateProcedure( String procedureId, PatiantInformtion patient, String categorieId}) async { - PostProcedureReqModel updateProcedureReqModel = new PostProcedureReqModel(); + UpdateProcedureRequestModel updateProcedureReqModel = + new UpdateProcedureRequestModel(); List controls = List(); - List controlsProcedure = List(); + ProcedureDetail controlsProcedure = new ProcedureDetail(); updateProcedureReqModel.appointmentNo = patient.appointmentNo; updateProcedureReqModel.episodeID = patient.episodeNo; updateProcedureReqModel.patientMRN = patient.patientMRN; + updateProcedureReqModel.lineItemNo = 1; + updateProcedureReqModel.orderNo = 0; controls.add( - Controls( - code: remarks.isEmpty ? '' : remarks, - controlValue: 'Testing', - ), + Controls(code: "02", controlValue: remarks.isEmpty ? '' : remarks), ); - controlsProcedure.add(Procedures( - category: categorieId, procedure: procedureId, controls: controls)); - updateProcedureReqModel.procedures = controlsProcedure; + + controlsProcedure.procedure = procedureId; + controlsProcedure.category = categorieId; + controlsProcedure.controls = controls; + + // controlsProcedure.add(ProcedureDetail( + // category: categorieId, procedure: procedureId, controls: controls)); + updateProcedureReqModel.procedureDetail = controlsProcedure; await model.updateProcedure( - postProcedureReqModel: updateProcedureReqModel, mrn: patient.patientMRN); + updateProcedureRequestModel: updateProcedureReqModel, + mrn: patient.patientMRN); if (model.state == ViewState.ErrorLocal) { helpers.showErrorToast(model.error); + model.getProcedure(mrn: patient.patientMRN); } else if (model.state == ViewState.Idle) { DrAppToastMsg.showSuccesToast('procedure has been updated'); } diff --git a/lib/util/dr_app_toast_msg.dart b/lib/util/dr_app_toast_msg.dart index 09259b45..48addfba 100644 --- a/lib/util/dr_app_toast_msg.dart +++ b/lib/util/dr_app_toast_msg.dart @@ -1,6 +1,7 @@ import 'package:flutter/material.dart'; import 'package:flutter_flexible_toast/flutter_flexible_toast.dart'; - class DrAppToastMsg { + +class DrAppToastMsg { void showLongToast(msg) { FlutterFlexibleToast.showToast( message: msg, @@ -8,7 +9,7 @@ import 'package:flutter_flexible_toast/flutter_flexible_toast.dart'; ); } - static void showSuccesToast(msg) { + static void showSuccesToast(msg) { FlutterFlexibleToast.showToast( message: msg, toastLength: Toast.LENGTH_SHORT, @@ -19,7 +20,6 @@ import 'package:flutter_flexible_toast/flutter_flexible_toast.dart'; textColor: Colors.white); } - static void showErrorToast(msg) { FlutterFlexibleToast.showToast( message: msg, @@ -29,7 +29,7 @@ import 'package:flutter_flexible_toast/flutter_flexible_toast.dart'; icon: ICON.CLOSE, fontSize: 16, imageSize: 35, - timeInSeconds: 110, + timeInSeconds: 185, textColor: Colors.white); } @@ -75,4 +75,4 @@ import 'package:flutter_flexible_toast/flutter_flexible_toast.dart'; void cancelToast(msg) { FlutterFlexibleToast.cancel(); } -} \ No newline at end of file +}