From 64dbcce06fa595c5259b488fd6a11bda2c9b53fc Mon Sep 17 00:00:00 2001 From: Elham Rababah Date: Sun, 13 Dec 2020 11:52:16 +0200 Subject: [PATCH] finish and remove patient provider --- lib/main.dart | 3 - lib/providers/patients_provider.dart | 282 ------------------ lib/screens/QR_reader_screen.dart | 4 +- ...t_patient_prescription_details_screen.dart | 5 +- lib/screens/patients/patients_screen.dart | 159 +++++----- .../profile/insurance_approvals_screen.dart | 3 - .../profile/lab_result/lab_orders_screen.dart | 1 - .../profile/patient_orders_screen.dart | 2 - .../prescriptions/prescriptions_screen.dart | 5 - .../profile/radiology/radiology_screen.dart | 8 +- .../profile/refer_patient_screen.dart | 1 - .../vital_sign/vital_sign_details_screen.dart | 3 - .../vital_sign_item_details_screen.dart | 2 +- lib/widgets/auth/show_timer_text.dart | 3 +- .../profile/Profile_general_info_Widget.dart | 3 - 15 files changed, 85 insertions(+), 399 deletions(-) delete mode 100644 lib/providers/patients_provider.dart diff --git a/lib/main.dart b/lib/main.dart index 1202c319..4a431d64 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -9,7 +9,6 @@ import 'package:provider/provider.dart'; import './config/size_config.dart'; import './providers/auth_provider.dart'; import './providers/hospital_provider.dart'; -import './providers/patients_provider.dart'; import './routes.dart'; import 'config/config.dart'; import 'locator.dart'; @@ -30,8 +29,6 @@ class MyApp extends StatelessWidget { SizeConfig().init(constraints, orientation); return MultiProvider( providers: [ - ChangeNotifierProvider( - create: (context) => PatientsProvider()), ChangeNotifierProvider( create: (context) => AuthProvider()), ChangeNotifierProvider( diff --git a/lib/providers/patients_provider.dart b/lib/providers/patients_provider.dart deleted file mode 100644 index a562790c..00000000 --- a/lib/providers/patients_provider.dart +++ /dev/null @@ -1,282 +0,0 @@ - -import 'package:doctor_app_flutter/client/base_app_client.dart'; -import 'package:doctor_app_flutter/config/shared_pref_kay.dart'; -import 'package:doctor_app_flutter/models/doctor/doctor_profile_model.dart'; -import 'package:doctor_app_flutter/models/patient/get_clinic_by_project_id_request.dart'; -import 'package:doctor_app_flutter/models/patient/get_doctor_by_clinic_id_request.dart'; -import 'package:doctor_app_flutter/models/patient/get_list_stp_referral_frequency_request.dart'; -import 'package:doctor_app_flutter/models/patient/lab_orders/lab_orders_res_model.dart'; -import 'package:doctor_app_flutter/models/patient/lab_result/lab_result.dart'; -import 'package:doctor_app_flutter/models/patient/patiant_info_model.dart'; -import 'package:doctor_app_flutter/models/patient/prescription/prescription_report.dart'; -import 'package:doctor_app_flutter/models/patient/prescription/prescription_report_for_in_patient.dart'; -import 'package:doctor_app_flutter/models/patient/prescription/prescription_res_model.dart'; -import 'package:doctor_app_flutter/models/patient/radiology/radiology_res_model.dart'; -import 'package:doctor_app_flutter/models/patient/refer_to_doctor_request.dart'; -import 'package:doctor_app_flutter/util/dr_app_shared_pref.dart'; -import 'package:flutter/cupertino.dart'; - -import '../config/config.dart'; -import '../models/patient/lab_orders/lab_orders_res_model.dart'; -import '../models/patient/patiant_info_model.dart'; -import '../models/patient/patient_model.dart'; -import '../models/patient/prescription/prescription_res_model.dart'; -import '../models/patient/radiology/radiology_res_model.dart'; -import '../models/patient/vital_sign/vital_sign_res_model.dart'; -import '../util/helpers.dart'; - -Helpers helpers = Helpers(); -DrAppSharedPreferances sharedPref = new DrAppSharedPreferances(); - -class PatientsProvider with ChangeNotifier { - bool isLoading = false; - bool isError = false; - String error = ''; - List patientVitalSignList = []; - List patientVitalSignOrderdSubList = []; - List patientLabResultOrdersList = []; - List patientPrescriptionsList = []; - List patientRadiologyList = []; - List prescriptionReportForInPatientList = []; - List prescriptionReport = []; - BaseAppClient baseAppClient = BaseAppClient(); - - /*@author: ibrahe albitar - *@Date:2/6/2020 - *@desc: getPatientPrescriptions - */ - - List labResultList = []; - - var patientProgressNoteList = []; - var insuranceApporvalsList = []; - - var doctorsList = []; - var clinicsList = []; - var referalFrequancyList = []; - - DoctorsByClinicIdRequest _doctorsByClinicIdRequest = - DoctorsByClinicIdRequest(); - STPReferralFrequencyRequest _referralFrequencyRequest = - STPReferralFrequencyRequest(); - ClinicByProjectIdRequest _clinicByProjectIdRequest = - ClinicByProjectIdRequest(); - ReferToDoctorRequest _referToDoctorRequest; - - PatiantInformtion _selectedPatient; - - Future getPatientList(PatientModel patient, patientType) async { - int val = int.parse(patientType); - - try { - dynamic localRes; - await baseAppClient.post(GET_PATIENT + SERVICES_PATIANT[val], - onSuccess: (dynamic response, int statusCode) { - localRes = response; - }, onFailure: (String error, int statusCode) { - throw error; - }, body: { - "ProjectID": patient.ProjectID, - "ClinicID": patient.ClinicID, - "DoctorID": patient.DoctorID, - "FirstName": patient.FirstName, - "MiddleName": patient.MiddleName, - "LastName": patient.LastName, - "PatientMobileNumber": patient.PatientMobileNumber, - "PatientIdentificationID": patient.PatientIdentificationID, - "PatientID": patient.PatientID, - "From": patient.From, - "To": patient.To, - "LanguageID": patient.LanguageID, - "stamp": patient.stamp, - "IPAdress": patient.IPAdress, - "VersionID": patient.VersionID, - "Channel": patient.Channel, - "TokenID": patient.TokenID, - "SessionID": patient.SessionID, - "IsLoginForDoctorApp": patient.IsLoginForDoctorApp, - "PatientOutSA": patient.PatientOutSA - }); - - return Future.value(localRes); - } catch (error) { - print(error); - throw error; - } - } - - setBasicData() { - isLoading = true; - isError = false; - error = ''; - notifyListeners(); - } - - - - /*@author: Elham Rababah - *@Date:12/5/2020 - *@param: patient - *@return: - *@desc: getPatientRadiology - */ - handelCatchErrorCase(err) { - isLoading = false; - isError = true; - error = helpers.generateContactAdminMsg(err); - notifyListeners(); - throw err; - } - - // /*@author: ibrahem albitar - // *@Date:3/6/2020 - // *@desc: getDoctorsList - // */ - // getDoctorsList(String clinicId) async { - // setBasicData(); - // try { - // _doctorsByClinicIdRequest.clinicID = clinicId; - // await baseAppClient.post(PATIENT_GET_DOCTOR_BY_CLINIC_URL, - // onSuccess: (dynamic response, int statusCode) { - // doctorsList = response['List_Doctors_All']; - // isLoading = false; - // isError = false; - // this.error = ''; - // }, onFailure: (String error, int statusCode) { - // isLoading = false; - // isError = true; - // this.error = error; - // }, body: _doctorsByClinicIdRequest.toJson()); - // notifyListeners(); - // } catch (err) { - // handelCatchErrorCase(err); - // } - // } - // - // List getDoctorNameList() { - // var doctorNamelist = - // doctorsList.map((value) => value['DoctorName'].toString()).toList(); - // return doctorNamelist; - // } - // - // /*@author: ibrahem albitar - // *@Date:3/6/2020 - // *@desc: getClinicsList - // */ - // getClinicsList() async { - // setBasicData(); - // try { - // await baseAppClient.post(PATIENT_GET_CLINIC_BY_PROJECT_URL, - // onSuccess: (dynamic response, int statusCode) { - // clinicsList = response['List_Clinic_All']; - // isLoading = false; - // isError = false; - // this.error = ''; - // }, onFailure: (String error, int statusCode) { - // isLoading = false; - // isError = true; - // this.error = error; - // }, body: _clinicByProjectIdRequest.toJson()); - // notifyListeners(); - // } catch (err) { - // handelCatchErrorCase(err); - // } - // } - // - // List getClinicNameList() { - // var clinicsNameslist = clinicsList - // .map((value) => value['ClinicDescription'].toString()) - // .toList(); - // return clinicsNameslist; - // } - // - // /*@author: ibrahem albitar - // *@Date:3/6/2020 - // *@desc: getReferralFrequancyList - // */ - // getReferralFrequancyList() async { - // setBasicData(); - // try { - // await baseAppClient.post(PATIENT_GET_LIST_REFERAL_URL, - // onSuccess: (dynamic response, int statusCode) { - // referalFrequancyList = response['list_STPReferralFrequency']; - // isLoading = false; - // isError = false; - // this.error = ''; - // }, onFailure: (String error, int statusCode) { - // isLoading = false; - // isError = true; - // this.error = error; - // }, body: _referralFrequencyRequest.toJson()); - // notifyListeners(); - // } catch (err) { - // handelCatchErrorCase(err); - // } - // } - // - // List getReferralNamesList() { - // var referralNamesList = referalFrequancyList - // .map((value) => value['Description'].toString()) - // .toList(); - // return referralNamesList; - // } - - /*@author: ibrahem albitar - *@Date:3/6/2020 - *@desc: referToDoctor - */ - // referToDoctor(context, - // {String selectedDoctorID, - // String selectedClinicID, - // int admissionNo, - // String extension, - // String priority, - // String frequency, - // String referringDoctorRemarks, - // int patientID, - // int patientTypeID, - // String roomID, - // int projectID}) async { - // setBasicData(); - // try { - // String token = await sharedPref.getString(TOKEN); - // Map profile = await sharedPref.getObj(DOCTOR_PROFILE); - // DoctorProfileModel doctorProfile = - // new DoctorProfileModel.fromJson(profile); - // int doctorID = doctorProfile.doctorID; - // int clinicId = doctorProfile.clinicID; - // _referToDoctorRequest = ReferToDoctorRequest( - // projectID: projectID, - // admissionNo: admissionNo, - // roomID: roomID, - // referralClinic: selectedClinicID.toString(), - // referralDoctor: selectedDoctorID.toString(), - // createdBy: doctorID, - // editedBy: doctorID, - // patientID: patientID, - // patientTypeID: patientTypeID, - // referringClinic: clinicId, - // referringDoctor: doctorID, - // referringDoctorRemarks: referringDoctorRemarks, - // priority: priority, - // frequency: frequency, - // extension: extension, - // tokenID: token); - // await baseAppClient.post(PATIENT_REFER_TO_DOCTOR_URL, - // onSuccess: (dynamic response, int statusCode) { - // // print('Done : \n $res'); - // Navigator.pop(context); - // }, - // onFailure: (String error, int statusCode) { - // isLoading = false; - // isError = true; - // this.error = error; - // }, - // body: _referToDoctorRequest.toJson()); - // notifyListeners(); - // - // } catch (err) { - // handelCatchErrorCase(err); - // } - // } -} diff --git a/lib/screens/QR_reader_screen.dart b/lib/screens/QR_reader_screen.dart index 627f5f31..825abb83 100644 --- a/lib/screens/QR_reader_screen.dart +++ b/lib/screens/QR_reader_screen.dart @@ -5,19 +5,19 @@ import 'package:doctor_app_flutter/core/viewModel/patient_view_model.dart'; import 'package:doctor_app_flutter/models/patient/patiant_info_model.dart'; import 'package:doctor_app_flutter/models/patient/patient_model.dart'; import 'package:doctor_app_flutter/models/patient/topten_users_res_model.dart'; -import 'package:doctor_app_flutter/providers/patients_provider.dart'; import 'package:doctor_app_flutter/util/dr_app_shared_pref.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/shared/app_button.dart'; import 'package:doctor_app_flutter/widgets/shared/app_scaffold_widget.dart'; import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; -import 'package:provider/provider.dart'; import '../routes.dart'; import 'base/base_view.dart'; +Helpers helpers = Helpers(); class QrReaderScreen extends StatefulWidget { @override diff --git a/lib/screens/patients/out_patient_prescription_details_screen.dart b/lib/screens/patients/out_patient_prescription_details_screen.dart index 5966b3a8..c7056ce3 100644 --- a/lib/screens/patients/out_patient_prescription_details_screen.dart +++ b/lib/screens/patients/out_patient_prescription_details_screen.dart @@ -1,7 +1,6 @@ import 'package:doctor_app_flutter/core/viewModel/patient_view_model.dart'; import 'package:doctor_app_flutter/models/patient/prescription/prescription_res_model.dart'; import 'package:doctor_app_flutter/models/patient/prescription/request_prescription_report.dart'; -import 'package:doctor_app_flutter/providers/patients_provider.dart'; import 'package:doctor_app_flutter/screens/base/base_view.dart'; import 'package:doctor_app_flutter/screens/patients/profile/prescriptions/out_patient_prescription_details_item.dart'; import 'package:doctor_app_flutter/util/translations_delegate_base.dart'; @@ -22,8 +21,6 @@ class OutPatientPrescriptionDetailsScreen extends StatefulWidget { class _OutPatientPrescriptionDetailsScreenState extends State { - bool _isInit = true; - PatientsProvider patientsProvider; getPrescriptionReport(BuildContext context,PatientViewModel model ){ @@ -43,7 +40,7 @@ class _OutPatientPrescriptionDetailsScreenState appBarTitle: TranslationBase.of(context).prescriptionDetails, body: CardWithBgWidgetNew( widget: ListView.builder( - itemCount: patientsProvider.prescriptionReport.length, + itemCount: model.prescriptionReport.length, itemBuilder: (BuildContext context, int index) { return OutPatientPrescriptionDetailsItem( prescriptionReport: diff --git a/lib/screens/patients/patients_screen.dart b/lib/screens/patients/patients_screen.dart index 3b960c6a..8f092701 100644 --- a/lib/screens/patients/patients_screen.dart +++ b/lib/screens/patients/patients_screen.dart @@ -8,13 +8,14 @@ */ import 'package:doctor_app_flutter/config/config.dart'; +import 'package:doctor_app_flutter/core/viewModel/patient_view_model.dart'; import 'package:doctor_app_flutter/icons_app/doctor_app_icons.dart'; import 'package:doctor_app_flutter/models/patient/patiant_info_model.dart'; import 'package:doctor_app_flutter/models/patient/patient_model.dart'; import 'package:doctor_app_flutter/models/patient/topten_users_res_model.dart'; -import 'package:doctor_app_flutter/providers/patients_provider.dart'; import 'package:doctor_app_flutter/providers/project_provider.dart'; import 'package:doctor_app_flutter/routes.dart'; +import 'package:doctor_app_flutter/screens/base/base_view.dart'; import 'package:doctor_app_flutter/util/translations_delegate_base.dart'; import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart'; import 'package:doctor_app_flutter/widgets/shared/dr_app_circular_progress_Indeicator.dart'; @@ -55,70 +56,15 @@ class _PatientsScreenState extends State { bool _isInit = true; String patientType; String patientTypeTitle; - var _isLoading = false; + var _isLoading = true; - bool _isError = true; + bool _isError = false; String error = ""; ProjectProvider projectsProvider; final _controller = TextEditingController(); PatientModel patient; - PatientsProvider patientsProv; - - @override - void didChangeDependencies() { - projectsProvider = Provider.of(context); - - final routeArgs = ModalRoute.of(context).settings.arguments as Map; - - patient = routeArgs['patientSearchForm']; - - patientType = routeArgs['selectedType']; - - if (!projectsProvider.isArabic) - patientTypeTitle = SERVICES_PATIANT_HEADER[int.parse(patientType)]; - else - patientTypeTitle = SERVICES_PATIANT_HEADER_AR[int.parse(patientType)]; - - print(patientType); - - if (_isInit) { - PatientsProvider patientsProv = Provider.of(context); - setState(() { - _isLoading = true; - _isError = false; - error = ""; - }); - patientsProv.getPatientList(patient, patientType).then((res) { - setState(() { - _isLoading = false; - if (res['MessageStatus'] == 1) { - int val2 = int.parse(patientType); - lItems = res[SERVICES_PATIANT2[val2]]; - parsed = lItems; - responseModelList = new ModelResponse.fromJson(parsed).list; - responseModelList2 = responseModelList; - _isError = false; - } else { - _isError = true; - error = res['ErrorEndUserMessage'] ?? res['ErrorMessage']; - } - }); - }).catchError((error) { - print(error); - setState(() { - _isError = true; - _isLoading = false; - this.error = error; - }); - }); - } - - _isInit = false; - - super.didChangeDependencies(); - } /* *@author: Amjad Amireh @@ -300,24 +246,74 @@ class _PatientsScreenState extends State { @override Widget build(BuildContext context) { _locations = [ - TranslationBase.of(context).all, - TranslationBase.of(context).today, - TranslationBase.of(context).tomorrow, - TranslationBase.of(context).nextWeek, + TranslationBase + .of(context) + .all, + TranslationBase + .of(context) + .today, + TranslationBase + .of(context) + .tomorrow, + TranslationBase + .of(context) + .nextWeek, ]; - PatientsProvider patientsProv = Provider.of(context); - - return AppScaffold( - appBarTitle: patientTypeTitle, - body: _isLoading - ? DrAppCircularProgressIndeicator() - : _isError - ? DrAppEmbeddedError(error: error) - : lItems == null || lItems.length == 0 - ? DrAppEmbeddedError( - error: TranslationBase.of(context).youDontHaveAnyPatient) - : Container( - child: ListView( + projectsProvider = Provider.of(context); + final routeArgs = ModalRoute + .of(context) + .settings + .arguments as Map; + + patient = routeArgs['patientSearchForm']; + + patientType = routeArgs['selectedType']; + + if (!projectsProvider.isArabic) + patientTypeTitle = SERVICES_PATIANT_HEADER[int.parse(patientType)]; + else + patientTypeTitle = SERVICES_PATIANT_HEADER_AR[int.parse(patientType)]; + + return BaseView( + onModelReady: (model) { + // TODO : change all the logic here to make it work with the model and remove future + model.getPatientList(patient, patientType).then((res) { + setState(() { + _isLoading = false; + if (res['MessageStatus'] == 1) { + int val2 = int.parse(patientType); + lItems = res[SERVICES_PATIANT2[val2]]; + parsed = lItems; + responseModelList = new ModelResponse.fromJson(parsed).list; + responseModelList2 = responseModelList; + _isError = false; + } else { + _isError = true; + error = res['ErrorEndUserMessage'] ?? res['ErrorMessage']; + } + }); + }).catchError((error) { + setState(() { + _isError = true; + _isLoading = false; + this.error = error; + }); + }); + }, + builder: (_, model, w) => + AppScaffold( + appBarTitle: patientTypeTitle, + body: _isLoading + ? DrAppCircularProgressIndeicator() + : _isError + ? DrAppEmbeddedError(error: error) + : lItems == null || lItems.length == 0 + ? DrAppEmbeddedError( + error: TranslationBase + .of(context) + .youDontHaveAnyPatient) + : Container( + child: ListView( scrollDirection: Axis.vertical, children: [ Container( @@ -684,17 +680,17 @@ class _PatientsScreenState extends State { : Center( child: DrAppEmbeddedError( error: TranslationBase.of( - context) + context) .youDontHaveAnyPatient), - ), + ), ), ], - ), + ), ) ], - ), - ), - ); + ), + ), + ),); } InputDecoration buildInputDecoration(BuildContext context, hint) { @@ -764,7 +760,6 @@ class _PatientsScreenState extends State { ), ), onTap: () { - print(_locations.indexOf(item)); filterBooking(item.toString()); diff --git a/lib/screens/patients/profile/insurance_approvals_screen.dart b/lib/screens/patients/profile/insurance_approvals_screen.dart index e6b4dd70..9105338b 100644 --- a/lib/screens/patients/profile/insurance_approvals_screen.dart +++ b/lib/screens/patients/profile/insurance_approvals_screen.dart @@ -12,7 +12,6 @@ import 'package:hexcolor/hexcolor.dart'; import '../../../config/shared_pref_kay.dart'; import '../../../config/size_config.dart'; import '../../../models/patient/patiant_info_model.dart'; -import '../../../providers/patients_provider.dart'; import '../../../util/dr_app_shared_pref.dart'; import '../../../widgets/shared/app_scaffold_widget.dart'; import '../../../widgets/shared/app_texts_widget.dart'; @@ -33,11 +32,9 @@ class InsuranceApprovalsScreen extends StatefulWidget { } class _InsuranceApprovalsState extends State { - PatientsProvider patientsProv; var approvalsList; var filteredApprovalsList; final _controller = TextEditingController(); - var _isInit = true; /* *@author: ibrahim al bitar diff --git a/lib/screens/patients/profile/lab_result/lab_orders_screen.dart b/lib/screens/patients/profile/lab_result/lab_orders_screen.dart index 20e30850..41f58564 100644 --- a/lib/screens/patients/profile/lab_result/lab_orders_screen.dart +++ b/lib/screens/patients/profile/lab_result/lab_orders_screen.dart @@ -11,7 +11,6 @@ import '../../../../config/shared_pref_kay.dart'; import '../../../../config/size_config.dart'; import '../../../../models/patient/lab_orders/lab_orders_req_model.dart'; import '../../../../models/patient/patiant_info_model.dart'; -import '../../../../providers/patients_provider.dart'; import '../../../../util/dr_app_shared_pref.dart'; import '../../../../widgets/shared/app_scaffold_widget.dart'; import '../../../../widgets/shared/app_texts_widget.dart'; diff --git a/lib/screens/patients/profile/patient_orders_screen.dart b/lib/screens/patients/profile/patient_orders_screen.dart index 00f6b59a..09834d50 100644 --- a/lib/screens/patients/profile/patient_orders_screen.dart +++ b/lib/screens/patients/profile/patient_orders_screen.dart @@ -10,7 +10,6 @@ import 'package:hexcolor/hexcolor.dart'; import '../../../config/shared_pref_kay.dart'; import '../../../config/size_config.dart'; import '../../../models/patient/patiant_info_model.dart'; -import '../../../providers/patients_provider.dart'; import '../../../util/dr_app_shared_pref.dart'; import '../../../widgets/shared/app_scaffold_widget.dart'; import '../../../widgets/shared/app_texts_widget.dart'; @@ -31,7 +30,6 @@ class PatientsOrdersScreen extends StatefulWidget { } class _PatientsOrdersState extends State { - PatientsProvider patientsProv; var notesList; var filteredNotesList; final _controller = TextEditingController(); diff --git a/lib/screens/patients/profile/prescriptions/prescriptions_screen.dart b/lib/screens/patients/profile/prescriptions/prescriptions_screen.dart index 2a1b60f3..496e5478 100644 --- a/lib/screens/patients/profile/prescriptions/prescriptions_screen.dart +++ b/lib/screens/patients/profile/prescriptions/prescriptions_screen.dart @@ -10,11 +10,8 @@ import 'package:flutter/material.dart'; import '../../../../config/shared_pref_kay.dart'; import '../../../../models/patient/patiant_info_model.dart'; import '../../../../models/patient/prescription/prescription_req_model.dart'; -import '../../../../providers/patients_provider.dart'; import '../../../../util/dr_app_shared_pref.dart'; import '../../../../widgets/shared/app_scaffold_widget.dart'; -import '../../../../widgets/shared/dr_app_circular_progress_Indeicator.dart'; -import '../../../../widgets/shared/errors/dr_app_embedded_error.dart'; DrAppSharedPreferances sharedPref = new DrAppSharedPreferances(); @@ -32,8 +29,6 @@ class PrescriptionScreen extends StatefulWidget { } class _PrescriptionScreenState extends State { - PatientsProvider patientsProv; - bool _isInit = true; String type = '2'; /* diff --git a/lib/screens/patients/profile/radiology/radiology_screen.dart b/lib/screens/patients/profile/radiology/radiology_screen.dart index 5eb08d31..cdab5bca 100644 --- a/lib/screens/patients/profile/radiology/radiology_screen.dart +++ b/lib/screens/patients/profile/radiology/radiology_screen.dart @@ -10,11 +10,9 @@ import 'package:flutter/material.dart'; import '../../../../config/shared_pref_kay.dart'; import '../../../../config/size_config.dart'; import '../../../../models/patient/patiant_info_model.dart'; -import '../../../../providers/patients_provider.dart'; import '../../../../util/dr_app_shared_pref.dart'; import '../../../../widgets/shared/app_scaffold_widget.dart'; import '../../../../widgets/shared/app_texts_widget.dart'; -import '../../../../widgets/shared/dr_app_circular_progress_Indeicator.dart'; DrAppSharedPreferances sharedPref = new DrAppSharedPreferances(); @@ -32,8 +30,6 @@ class RadiologyScreen extends StatefulWidget { } class _RadiologyScreenState extends State { - PatientsProvider patientsProv; - var _isInit = true; /* *@author: Elham Rababah @@ -103,7 +99,7 @@ class _RadiologyScreenState extends State { MaterialPageRoute( builder: (context) => RadiologyReportScreen( - reportData: patientsProv + reportData: model .patientRadiologyList[index] .reportData, )), @@ -133,7 +129,7 @@ class _RadiologyScreenState extends State { Row( children: [ LargeAvatar( - url: patientsProv + url: model .patientRadiologyList[index] .doctorImageURL, ), diff --git a/lib/screens/patients/profile/refer_patient_screen.dart b/lib/screens/patients/profile/refer_patient_screen.dart index f7a969e8..ffef05e6 100644 --- a/lib/screens/patients/profile/refer_patient_screen.dart +++ b/lib/screens/patients/profile/refer_patient_screen.dart @@ -13,7 +13,6 @@ import 'package:hexcolor/hexcolor.dart'; import 'package:intl/intl.dart'; import '../../../config/size_config.dart'; -import '../../../providers/patients_provider.dart'; import '../../../util/dr_app_shared_pref.dart'; import '../../../util/extenstions.dart'; import '../../../widgets/shared/app_scaffold_widget.dart'; diff --git a/lib/screens/patients/profile/vital_sign/vital_sign_details_screen.dart b/lib/screens/patients/profile/vital_sign/vital_sign_details_screen.dart index 75b8be03..cf8ee839 100644 --- a/lib/screens/patients/profile/vital_sign/vital_sign_details_screen.dart +++ b/lib/screens/patients/profile/vital_sign/vital_sign_details_screen.dart @@ -10,7 +10,6 @@ import '../../../../config/size_config.dart'; import '../../../../lookups/patient_lookup.dart'; import '../../../../models/patient/patiant_info_model.dart'; import '../../../../models/patient/vital_sign/vital_sign_res_model.dart'; -import '../../../../providers/patients_provider.dart'; import '../../../../routes.dart'; import '../../../../screens/patients/profile/vital_sign/vital_sign_item.dart'; import '../../../../util/dr_app_shared_pref.dart'; @@ -28,8 +27,6 @@ class _VitalSignDetailsScreenState extends State { VitalSignResModel vitalSing; String url = "assets/images/"; - PatientsProvider patientsProv; - var _isInit = true; /* *@author: Elham Rababah diff --git a/lib/screens/patients/profile/vital_sign/vital_sign_item_details_screen.dart b/lib/screens/patients/profile/vital_sign/vital_sign_item_details_screen.dart index ef7c35fa..853bec15 100644 --- a/lib/screens/patients/profile/vital_sign/vital_sign_item_details_screen.dart +++ b/lib/screens/patients/profile/vital_sign/vital_sign_item_details_screen.dart @@ -1 +1 @@ -import 'package:doctor_app_flutter/util/translations_delegate_base.dart'; import 'package:doctor_app_flutter/widgets/shared/errors/dr_app_embedded_error.dart'; import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; import '../../../../lookups/patient_lookup.dart'; import '../../../../models/patient/vital_sign/vital_sign_res_model.dart'; import '../../../../providers/patients_provider.dart'; import '../../../../screens/patients/profile/vital_sign/vital_sing_chart_and_detials.dart'; import '../../../../widgets/shared/app_scaffold_widget.dart'; /* *@author: Elham Rababah *@Date:03/6/2020 *@param: *@return: *@desc: VitalSignItemDetailsScreen */ class VitalSignItemDetailsScreen extends StatelessWidget { VitalSignItemDetailsScreen(); // ; PatientsProvider patientsProv; List vitalList = []; String pageTitle; @override Widget build(BuildContext context) { patientsProv = Provider.of(context); final routeArgs = ModalRoute.of(context).settings.arguments as Map; pageTitle = routeArgs['title']; var pageKey = routeArgs['key']; List VSchart; vitalList = patientsProv.patientVitalSignOrderdSubList; switch (pageKey) { case vitalSignDetails.bodyMeasurements: VSchart = [ { 'name': 'Highet', 'title1': 'Date', 'title2': 'Cm', 'viewKey': 'HeightCm', }, { 'name': 'Weight Kg', 'title1': 'Date', 'title2': 'Kg', 'viewKey': 'WeightKg', }, { 'name': 'BodyMassIndex', 'title1': 'Date', 'title2': 'BodyMass', 'viewKey': 'BodyMassIndex', }, { 'name': 'HeadCircumCm', 'title1': 'Date', 'title2': 'Cm', 'viewKey': 'HeadCircumCm', }, { 'name': 'Ideal Body Weight (Lbs)', 'title1': 'Date', 'title2': 'Ideal Weight', 'viewKey': 'IdealBodyWeightLbs', }, { 'name': 'LeanBodyWeightLbs (Lbs)', 'title1': 'Date', 'title2': 'Lean Weight', 'viewKey': 'LeanBodyWeightLbs', } ]; break; case vitalSignDetails.temperature: VSchart = [ { 'name': 'Temperature In Celcius', 'title1': 'Date', 'title2': 'C', 'viewKey': 'TemperatureCelcius', }, ]; break; case vitalSignDetails.pulse: VSchart = [ { 'name': 'Pulse Beat Per Minute', 'title1': 'Date', 'title2': 'Minute', 'viewKey': 'PulseBeatPerMinute', }, ]; break; case vitalSignDetails.pespiration: VSchart = [ { 'name': 'Respiration Beat Per Minute', 'title1': 'Date', 'title2': 'Beat Per Minute', 'viewKey': 'RespirationBeatPerMinute', }, ]; break; case vitalSignDetails.bloodPressure: VSchart = [ { 'name': 'Blood Pressure Higher', 'title1': 'Date', 'title2': 'Minute', 'viewKey': 'BloodPressureHigher', }, { 'name': 'Blood Pressure Lower', 'title1': 'Date', 'title2': 'Minute', 'viewKey': 'BloodPressureLower', } ]; break; case vitalSignDetails.oxygenation: VSchart = [ { 'name': 'FIO2', 'title1': 'Date', 'title2': 'Cm', 'viewKey': 'FIO2', }, { 'name': 'SAO2', 'title1': 'Date', 'title2': 'Cm', 'viewKey': 'SAO2', }, ]; break; case vitalSignDetails.painScale: VSchart = [ { 'name': 'PainScore', 'title1': 'Date', 'title2': 'Cm', 'viewKey': 'PainScore', }, ]; break; default: } return AppScaffold( appBarTitle: pageTitle, body: ListView( children: VSchart.map((chartInfo) { var vitalListTemp = vitalList.where( (element) => element.toJson()[chartInfo['viewKey']] != null, ); return vitalListTemp.length != 0 ? VitalSingChartAndDetials( vitalList: vitalList, name: chartInfo['name'], title1: chartInfo['title1'], title2: chartInfo['title2'], viewKey: chartInfo['viewKey']) : Center( child: Container( margin: EdgeInsets.only( top: MediaQuery.of(context).size.height * 0.45), child: Center( child: DrAppEmbeddedError( error: TranslationBase.of(context).youDoNotHaveAnyItem), ), )); }).toList(), ), ); } } \ No newline at end of file +import 'package:doctor_app_flutter/core/viewModel/patient_view_model.dart'; import 'package:doctor_app_flutter/screens/base/base_view.dart'; import 'package:doctor_app_flutter/util/translations_delegate_base.dart'; import 'package:doctor_app_flutter/widgets/shared/errors/dr_app_embedded_error.dart'; import 'package:flutter/material.dart'; import '../../../../lookups/patient_lookup.dart'; import '../../../../models/patient/vital_sign/vital_sign_res_model.dart'; import '../../../../screens/patients/profile/vital_sign/vital_sing_chart_and_detials.dart'; import '../../../../widgets/shared/app_scaffold_widget.dart'; /* *@author: Elham Rababah *@Date:03/6/2020 *@param: *@return: *@desc: VitalSignItemDetailsScreen */ class VitalSignItemDetailsScreen extends StatelessWidget { VitalSignItemDetailsScreen(); List vitalList = []; String pageTitle; @override Widget build(BuildContext context) { final routeArgs = ModalRoute.of(context).settings.arguments as Map; pageTitle = routeArgs['title']; var pageKey = routeArgs['key']; List VSchart; switch (pageKey) { case vitalSignDetails.bodyMeasurements: VSchart = [ { 'name': 'Highet', 'title1': 'Date', 'title2': 'Cm', 'viewKey': 'HeightCm', }, { 'name': 'Weight Kg', 'title1': 'Date', 'title2': 'Kg', 'viewKey': 'WeightKg', }, { 'name': 'BodyMassIndex', 'title1': 'Date', 'title2': 'BodyMass', 'viewKey': 'BodyMassIndex', }, { 'name': 'HeadCircumCm', 'title1': 'Date', 'title2': 'Cm', 'viewKey': 'HeadCircumCm', }, { 'name': 'Ideal Body Weight (Lbs)', 'title1': 'Date', 'title2': 'Ideal Weight', 'viewKey': 'IdealBodyWeightLbs', }, { 'name': 'LeanBodyWeightLbs (Lbs)', 'title1': 'Date', 'title2': 'Lean Weight', 'viewKey': 'LeanBodyWeightLbs', } ]; break; case vitalSignDetails.temperature: VSchart = [ { 'name': 'Temperature In Celcius', 'title1': 'Date', 'title2': 'C', 'viewKey': 'TemperatureCelcius', }, ]; break; case vitalSignDetails.pulse: VSchart = [ { 'name': 'Pulse Beat Per Minute', 'title1': 'Date', 'title2': 'Minute', 'viewKey': 'PulseBeatPerMinute', }, ]; break; case vitalSignDetails.pespiration: VSchart = [ { 'name': 'Respiration Beat Per Minute', 'title1': 'Date', 'title2': 'Beat Per Minute', 'viewKey': 'RespirationBeatPerMinute', }, ]; break; case vitalSignDetails.bloodPressure: VSchart = [ { 'name': 'Blood Pressure Higher', 'title1': 'Date', 'title2': 'Minute', 'viewKey': 'BloodPressureHigher', }, { 'name': 'Blood Pressure Lower', 'title1': 'Date', 'title2': 'Minute', 'viewKey': 'BloodPressureLower', } ]; break; case vitalSignDetails.oxygenation: VSchart = [ { 'name': 'FIO2', 'title1': 'Date', 'title2': 'Cm', 'viewKey': 'FIO2', }, { 'name': 'SAO2', 'title1': 'Date', 'title2': 'Cm', 'viewKey': 'SAO2', }, ]; break; case vitalSignDetails.painScale: VSchart = [ { 'name': 'PainScore', 'title1': 'Date', 'title2': 'Cm', 'viewKey': 'PainScore', }, ]; break; default: } return BaseView( onModelReady: (model) { vitalList = model.patientVitalSignOrderdSubList; }, builder: (_, model, w) => AppScaffold( baseViewModel: model, appBarTitle: pageTitle, body: ListView( children: VSchart.map((chartInfo) { var vitalListTemp = vitalList.where( (element) => element.toJson()[chartInfo['viewKey']] != null, ); return vitalListTemp.length != 0 ? VitalSingChartAndDetials( vitalList: vitalList, name: chartInfo['name'], title1: chartInfo['title1'], title2: chartInfo['title2'], viewKey: chartInfo['viewKey']) : Center( child: Container( margin: EdgeInsets.only( top: MediaQuery.of(context).size.height * 0.45), child: Center( child: DrAppEmbeddedError( error: TranslationBase.of(context).youDoNotHaveAnyItem), ), )); }).toList(), ), ), ); } } \ No newline at end of file diff --git a/lib/widgets/auth/show_timer_text.dart b/lib/widgets/auth/show_timer_text.dart index c3f7a142..73590e1e 100644 --- a/lib/widgets/auth/show_timer_text.dart +++ b/lib/widgets/auth/show_timer_text.dart @@ -3,11 +3,12 @@ import 'dart:async'; import 'package:doctor_app_flutter/config/config.dart'; import 'package:doctor_app_flutter/config/size_config.dart'; import 'package:doctor_app_flutter/providers/auth_provider.dart'; -import 'package:doctor_app_flutter/providers/patients_provider.dart'; import 'package:doctor_app_flutter/routes.dart'; +import 'package:doctor_app_flutter/util/helpers.dart'; import 'package:flutter/material.dart'; import 'package:hexcolor/hexcolor.dart'; import 'package:provider/provider.dart'; +Helpers helpers = Helpers(); class ShowTimerText extends StatefulWidget { ShowTimerText({Key key, this.model}); diff --git a/lib/widgets/patients/profile/Profile_general_info_Widget.dart b/lib/widgets/patients/profile/Profile_general_info_Widget.dart index 53b46884..e0eb5b12 100644 --- a/lib/widgets/patients/profile/Profile_general_info_Widget.dart +++ b/lib/widgets/patients/profile/Profile_general_info_Widget.dart @@ -1,8 +1,5 @@ import 'package:doctor_app_flutter/models/patient/patiant_info_model.dart'; -import 'package:doctor_app_flutter/providers/patients_provider.dart'; - import 'package:flutter/material.dart'; -import 'package:provider/provider.dart'; import './profile_general_info_content_widget.dart'; import '../../../config/size_config.dart';