diff --git a/lib/config/config.dart b/lib/config/config.dart index c01434ce..2afbe5ac 100644 --- a/lib/config/config.dart +++ b/lib/config/config.dart @@ -380,6 +380,10 @@ const CHECK_ACTIVATION_CODE_FOR_PATIENT = const PATIENT_REGISTRATION = "Services/Authentication.svc/REST/PatientRegistration"; const GET_PATIENT_INFO= "Services/NHIC.svc/REST/GetPatientInfo"; + +/// Discharge Summary +const GET_PENDING_DISCHARGE_SUMMARY = "Services/DoctorApplication.svc/REST/DoctorApp_GetPendingDischargeSummary"; + var selectedPatientType = 1; //*********change value to decode json from Dropdown ************ diff --git a/lib/core/service/patient/profile/discharge_summary_servive.dart b/lib/core/service/patient/profile/discharge_summary_servive.dart new file mode 100644 index 00000000..daea1b42 --- /dev/null +++ b/lib/core/service/patient/profile/discharge_summary_servive.dart @@ -0,0 +1,32 @@ +import 'package:doctor_app_flutter/config/config.dart'; +import 'package:doctor_app_flutter/core/service/base/base_service.dart'; +import 'package:doctor_app_flutter/models/discharge_summary/GetDischargeSummaryReqModel.dart'; +import 'package:doctor_app_flutter/models/discharge_summary/GetDischargeSummaryResModel.dart'; +import 'package:doctor_app_flutter/models/operation_report/create_update_operation_report_request_model.dart'; +import 'package:doctor_app_flutter/models/operation_report/get_operation_details_request_modle.dart'; +import 'package:doctor_app_flutter/models/operation_report/get_operation_details_response_modle.dart'; +import 'package:doctor_app_flutter/models/operation_report/get_reservations_response_model.dart'; +import 'package:doctor_app_flutter/models/operation_report/get_reservations_request_model.dart'; + +class DischargeSummaryService extends BaseService { + List _pendingDischargeSummaryList = []; + List get pendingDischargeSummaryList => _pendingDischargeSummaryList; + + Future getPendingDischargeSummary( + {GetDischargeSummaryReqModel getDischargeSummaryReqModel}) async { + + hasError = false; + await baseAppClient.post(GET_PENDING_DISCHARGE_SUMMARY, + onSuccess: (dynamic response, int statusCode) { + _pendingDischargeSummaryList.clear(); + response['List_PendingDischargeSummary'].forEach( + (v) { + _pendingDischargeSummaryList.add(GetDischargeSummaryResModel.fromJson(v)); + }, + ); + }, onFailure: (String error, int statusCode) { + hasError = true; + super.error = error; + }, body: getDischargeSummaryReqModel.toJson()); + } +} diff --git a/lib/core/service/operation_report_servive.dart b/lib/core/service/patient/profile/operation_report_servive.dart similarity index 100% rename from lib/core/service/operation_report_servive.dart rename to lib/core/service/patient/profile/operation_report_servive.dart diff --git a/lib/core/viewModel/profile/discharge_summary_view_model.dart b/lib/core/viewModel/profile/discharge_summary_view_model.dart new file mode 100644 index 00000000..29910570 --- /dev/null +++ b/lib/core/viewModel/profile/discharge_summary_view_model.dart @@ -0,0 +1,31 @@ +import 'package:doctor_app_flutter/core/enum/viewstate.dart'; +import 'package:doctor_app_flutter/core/service/patient/profile/discharge_summary_servive.dart'; +import 'package:doctor_app_flutter/core/service/patient/profile/operation_report_servive.dart'; +import 'package:doctor_app_flutter/core/viewModel/base_view_model.dart'; +import 'package:doctor_app_flutter/locator.dart'; +import 'package:doctor_app_flutter/models/discharge_summary/GetDischargeSummaryReqModel.dart'; +import 'package:doctor_app_flutter/models/discharge_summary/GetDischargeSummaryResModel.dart'; + +class DischargeSummaryViewModel extends BaseViewModel { + bool hasError = false; + DischargeSummaryService _dischargeSummaryService = + locator(); + + List get pendingDischargeSummaryList => + _dischargeSummaryService.pendingDischargeSummaryList; + + + Future getPendingDischargeSummary({int patientId, int admissionNo, }) async { + GetDischargeSummaryReqModel getDischargeSummaryReqModel = GetDischargeSummaryReqModel(admissionNo:admissionNo,patientID: patientId ); + hasError = false; + setState(ViewState.Busy); + await _dischargeSummaryService.getPendingDischargeSummary(getDischargeSummaryReqModel: getDischargeSummaryReqModel); + if (_dischargeSummaryService.hasError) { + error = _dischargeSummaryService.error; + setState(ViewState.ErrorLocal); + } else { + setState(ViewState.Idle); + } + } + +} diff --git a/lib/core/viewModel/operation_report_view_model.dart b/lib/core/viewModel/profile/operation_report_view_model.dart similarity index 96% rename from lib/core/viewModel/operation_report_view_model.dart rename to lib/core/viewModel/profile/operation_report_view_model.dart index 2bfdebce..e3f4f430 100644 --- a/lib/core/viewModel/operation_report_view_model.dart +++ b/lib/core/viewModel/profile/operation_report_view_model.dart @@ -1,5 +1,5 @@ import 'package:doctor_app_flutter/core/enum/viewstate.dart'; -import 'package:doctor_app_flutter/core/service/operation_report_servive.dart'; +import 'package:doctor_app_flutter/core/service/patient/profile/operation_report_servive.dart'; import 'package:doctor_app_flutter/core/viewModel/base_view_model.dart'; import 'package:doctor_app_flutter/locator.dart'; import 'package:doctor_app_flutter/models/operation_report/create_update_operation_report_request_model.dart'; diff --git a/lib/locator.dart b/lib/locator.dart index 243905d8..18c04ffc 100644 --- a/lib/locator.dart +++ b/lib/locator.dart @@ -1,11 +1,12 @@ import 'package:doctor_app_flutter/core/service/authentication_service.dart'; import 'package:doctor_app_flutter/core/service/home/scan_qr_service.dart'; -import 'package:doctor_app_flutter/core/service/operation_report_servive.dart'; +import 'package:doctor_app_flutter/core/service/patient/profile/discharge_summary_servive.dart'; import 'package:doctor_app_flutter/core/service/pending_order_service.dart'; import 'package:doctor_app_flutter/core/viewModel/dashboard_view_model.dart'; import 'package:doctor_app_flutter/core/viewModel/hospitals_view_model.dart'; import 'package:doctor_app_flutter/core/viewModel/medical_file_view_model.dart'; -import 'package:doctor_app_flutter/core/viewModel/operation_report_view_model.dart'; +import 'package:doctor_app_flutter/core/viewModel/profile/discharge_summary_view_model.dart'; +import 'package:doctor_app_flutter/core/viewModel/profile/operation_report_view_model.dart'; import 'package:doctor_app_flutter/core/viewModel/patient_view_model.dart'; import 'package:doctor_app_flutter/core/viewModel/pednding_orders_view_model.dart'; import 'package:doctor_app_flutter/core/viewModel/prescription_view_model.dart'; @@ -31,6 +32,7 @@ import 'core/service/patient/out_patient_service.dart'; import 'core/service/patient/patient-doctor-referral-service.dart'; import 'core/service/patient/patientInPatientService.dart'; import 'core/service/patient/patient_service.dart'; +import 'core/service/patient/profile/operation_report_servive.dart'; import 'core/service/patient/referral_patient_service.dart'; import 'core/service/patient_medical_file/admission_request/patient-admission-request-service.dart'; import 'core/service/patient_medical_file/insurance/InsuranceCardService.dart'; @@ -109,6 +111,7 @@ void setupLocator() { locator.registerLazySingleton(() => OperationReportService()); locator.registerLazySingleton(() => PendingOrderService()); locator.registerLazySingleton(() => PatientRegistrationService()); + locator.registerLazySingleton(() => DischargeSummaryService()); /// View Model locator.registerFactory(() => DoctorReplayViewModel()); @@ -140,5 +143,6 @@ void setupLocator() { locator.registerFactory(() => OperationReportViewModel()); locator.registerFactory(() => PatientRegistrationViewModel()); locator.registerFactory(() => PendingOrdersViewModel()); + locator.registerFactory(() => DischargeSummaryViewModel()); } diff --git a/lib/models/discharge_summary/GetDischargeSummaryReqModel.dart b/lib/models/discharge_summary/GetDischargeSummaryReqModel.dart new file mode 100644 index 00000000..2d2c14ad --- /dev/null +++ b/lib/models/discharge_summary/GetDischargeSummaryReqModel.dart @@ -0,0 +1,27 @@ +class GetDischargeSummaryReqModel { + int patientID; + int admissionNo; + int patientType; + int patientTypeID; + + GetDischargeSummaryReqModel( + {this.patientID, this.admissionNo, this.patientType = 1, this.patientTypeID=1}); + + GetDischargeSummaryReqModel.fromJson(Map json) { + patientID = json['PatientID']; + admissionNo = json['AdmissionNo']; + patientType = json['PatientType']; + patientTypeID = json['PatientTypeID']; + } + + Map toJson() { + final Map data = new Map(); + data['PatientID'] = this.patientID; + data['AdmissionNo'] = this.admissionNo; + data['PatientType'] = this.patientType; + data['PatientTypeID'] = this.patientTypeID; + data['SetupID'] = "010266"; + data['isDentalAllowedBackend'] = false; + return data; + } +} diff --git a/lib/models/discharge_summary/GetDischargeSummaryResModel.dart b/lib/models/discharge_summary/GetDischargeSummaryResModel.dart new file mode 100644 index 00000000..006ac6a2 --- /dev/null +++ b/lib/models/discharge_summary/GetDischargeSummaryResModel.dart @@ -0,0 +1,192 @@ +class GetDischargeSummaryResModel { + String setupID; + int projectID; + int dischargeNo; + String dischargeDate; + int admissionNo; + int assessmentNo; + int patientType; + int patientID; + int clinicID; + int doctorID; + String finalDiagnosis; + String persentation; + String pastHistory; + String planOfCare; + String investigations; + String followupPlan; + String conditionOnDischarge; + String significantFindings; + String planedProcedure; + int daysStayed; + String remarks; + String eRCare; + int status; + bool isActive; + int createdBy; + String createdOn; + int editedBy; + String editedOn; + bool isPatientDied; + Null isMedicineApproved; + Null isOpenBillDischarge; + Null activatedDate; + Null activatedBy; + Null lAMA; + Null patientCodition; + Null others; + Null reconciliationInstruction; + String dischargeInstructions; + String reason; + Null dischargeDisposition; + Null hospitalID; + String createdByName; + Null createdByNameN; + String editedByName; + Null editedByNameN; + + GetDischargeSummaryResModel( + {this.setupID, + this.projectID, + this.dischargeNo, + this.dischargeDate, + this.admissionNo, + this.assessmentNo, + this.patientType, + this.patientID, + this.clinicID, + this.doctorID, + this.finalDiagnosis, + this.persentation, + this.pastHistory, + this.planOfCare, + this.investigations, + this.followupPlan, + this.conditionOnDischarge, + this.significantFindings, + this.planedProcedure, + this.daysStayed, + this.remarks, + this.eRCare, + this.status, + this.isActive, + this.createdBy, + this.createdOn, + this.editedBy, + this.editedOn, + this.isPatientDied, + this.isMedicineApproved, + this.isOpenBillDischarge, + this.activatedDate, + this.activatedBy, + this.lAMA, + this.patientCodition, + this.others, + this.reconciliationInstruction, + this.dischargeInstructions, + this.reason, + this.dischargeDisposition, + this.hospitalID, + this.createdByName, + this.createdByNameN, + this.editedByName, + this.editedByNameN}); + + GetDischargeSummaryResModel.fromJson(Map json) { + setupID = json['SetupID']; + projectID = json['ProjectID']; + dischargeNo = json['DischargeNo']; + dischargeDate = json['DischargeDate']; + admissionNo = json['AdmissionNo']; + assessmentNo = json['AssessmentNo']; + patientType = json['PatientType']; + patientID = json['PatientID']; + clinicID = json['ClinicID']; + doctorID = json['DoctorID']; + finalDiagnosis = json['FinalDiagnosis']; + persentation = json['Persentation']; + pastHistory = json['PastHistory']; + planOfCare = json['PlanOfCare']; + investigations = json['Investigations']; + followupPlan = json['FollowupPlan']; + conditionOnDischarge = json['ConditionOnDischarge']; + significantFindings = json['SignificantFindings']; + planedProcedure = json['PlanedProcedure']; + daysStayed = json['DaysStayed']; + remarks = json['Remarks']; + eRCare = json['ERCare']; + status = json['Status']; + isActive = json['IsActive']; + createdBy = json['CreatedBy']; + createdOn = json['CreatedOn']; + editedBy = json['EditedBy']; + editedOn = json['EditedOn']; + isPatientDied = json['IsPatientDied']; + isMedicineApproved = json['IsMedicineApproved']; + isOpenBillDischarge = json['IsOpenBillDischarge']; + activatedDate = json['ActivatedDate']; + activatedBy = json['ActivatedBy']; + lAMA = json['LAMA']; + patientCodition = json['PatientCodition']; + others = json['Others']; + reconciliationInstruction = json['ReconciliationInstruction']; + dischargeInstructions = json['DischargeInstructions']; + reason = json['Reason']; + dischargeDisposition = json['DischargeDisposition']; + hospitalID = json['HospitalID']; + createdByName = json['CreatedByName']; + createdByNameN = json['CreatedByNameN']; + editedByName = json['EditedByName']; + editedByNameN = json['EditedByNameN']; + } + + Map toJson() { + final Map data = new Map(); + data['SetupID'] = this.setupID; + data['ProjectID'] = this.projectID; + data['DischargeNo'] = this.dischargeNo; + data['DischargeDate'] = this.dischargeDate; + data['AdmissionNo'] = this.admissionNo; + data['AssessmentNo'] = this.assessmentNo; + data['PatientType'] = this.patientType; + data['PatientID'] = this.patientID; + data['ClinicID'] = this.clinicID; + data['DoctorID'] = this.doctorID; + data['FinalDiagnosis'] = this.finalDiagnosis; + data['Persentation'] = this.persentation; + data['PastHistory'] = this.pastHistory; + data['PlanOfCare'] = this.planOfCare; + data['Investigations'] = this.investigations; + data['FollowupPlan'] = this.followupPlan; + data['ConditionOnDischarge'] = this.conditionOnDischarge; + data['SignificantFindings'] = this.significantFindings; + data['PlanedProcedure'] = this.planedProcedure; + data['DaysStayed'] = this.daysStayed; + data['Remarks'] = this.remarks; + data['ERCare'] = this.eRCare; + data['Status'] = this.status; + data['IsActive'] = this.isActive; + data['CreatedBy'] = this.createdBy; + data['CreatedOn'] = this.createdOn; + data['EditedBy'] = this.editedBy; + data['EditedOn'] = this.editedOn; + data['IsPatientDied'] = this.isPatientDied; + data['IsMedicineApproved'] = this.isMedicineApproved; + data['IsOpenBillDischarge'] = this.isOpenBillDischarge; + data['ActivatedDate'] = this.activatedDate; + data['ActivatedBy'] = this.activatedBy; + data['LAMA'] = this.lAMA; + data['PatientCodition'] = this.patientCodition; + data['Others'] = this.others; + data['ReconciliationInstruction'] = this.reconciliationInstruction; + data['DischargeInstructions'] = this.dischargeInstructions; + data['Reason'] = this.reason; + data['DischargeDisposition'] = this.dischargeDisposition; + data['HospitalID'] = this.hospitalID; + data['CreatedByName'] = this.createdByName; + data['CreatedByNameN'] = this.createdByNameN; + data['EditedByName'] = this.editedByName; + data['EditedByNameN'] = this.editedByNameN; + return data; + } +} diff --git a/lib/screens/patients/profile/discharge_summary/all_discharge_summary.dart b/lib/screens/patients/profile/discharge_summary/all_discharge_summary.dart index 13c8590b..0ae7bf04 100644 --- a/lib/screens/patients/profile/discharge_summary/all_discharge_summary.dart +++ b/lib/screens/patients/profile/discharge_summary/all_discharge_summary.dart @@ -1,5 +1,6 @@ import 'package:doctor_app_flutter/core/enum/viewstate.dart'; import 'package:doctor_app_flutter/core/viewModel/doctor_replay_view_model.dart'; +import 'package:doctor_app_flutter/core/viewModel/profile/discharge_summary_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/screens/doctor/doctor_replay/doctor_reply_widget.dart'; @@ -9,6 +10,8 @@ import 'package:doctor_app_flutter/widgets/shared/errors/dr_app_embedded_error.d import 'package:doctor_app_flutter/widgets/shared/errors/error_message.dart'; import 'package:flutter/material.dart'; +import 'discharge_Summary_widget.dart'; + class AllDischargeSummary extends StatefulWidget { final Function changeCurrentTab; @@ -24,51 +27,36 @@ class _AllDischargeSummaryState extends State { int pageIndex = 1; @override Widget build(BuildContext context) { - return BaseView( + return BaseView( onModelReady: (model) { - model.getDoctorReply(isLocalBusy: false); + model.getPendingDischargeSummary(); }, builder: (_, model, w) => AppScaffold( baseViewModel: model, - appBarTitle: TranslationBase.of(context).replay2, isShowAppBar: false, - body: model.listDoctorWorkingHoursTable.isEmpty + body: model.pendingDischargeSummaryList.isEmpty ?ErrorMessage(error: TranslationBase.of(context).noItem)// DrAppEmbeddedError(error: TranslationBase.of(context).noItem) : Column( children: [ Expanded( child: Container( padding: EdgeInsetsDirectional.fromSTEB(30, 0, 30, 0), - child: NotificationListener( - child: ListView.builder( - scrollDirection: Axis.vertical, - itemCount: model.listDoctorWorkingHoursTable.length, - shrinkWrap: true, - itemBuilder: (BuildContext ctxt, int index) { - return Column( - children: [ - InkWell( - child: DoctorReplyWidget( - reply: model - .listDoctorWorkingHoursTable[index]), - ), - if(model.state == ViewState.BusyLocal && index == model.listDoctorWorkingHoursTable.length-1) - DrAppCircularProgressIndeicator() + child: ListView.builder( + scrollDirection: Axis.vertical, + itemCount: model.pendingDischargeSummaryList.length, + shrinkWrap: true, + itemBuilder: (BuildContext ctxt, int index) { + return Column( + children: [ + InkWell( + child: DischargeSummaryWidget( + dischargeSummary: model + .pendingDischargeSummaryList[index]), + ), - ], - ); - }), - onNotification: (t) { - if (t is ScrollUpdateNotification && t.metrics.pixels >= t.metrics.maxScrollExtent - 50 && - model.state != ViewState.BusyLocal) { - setState(() { - pageIndex++; - }); - model.getDoctorReply(pageIndex: pageIndex); - } - return; - }, - ), + ], + ); + }), ), ), ], diff --git a/lib/screens/patients/profile/discharge_summary/discharge_Summary_widget.dart b/lib/screens/patients/profile/discharge_summary/discharge_Summary_widget.dart index 8e555b62..f4c67442 100644 --- a/lib/screens/patients/profile/discharge_summary/discharge_Summary_widget.dart +++ b/lib/screens/patients/profile/discharge_summary/discharge_Summary_widget.dart @@ -2,6 +2,7 @@ import 'package:doctor_app_flutter/config/config.dart'; import 'package:doctor_app_flutter/config/size_config.dart'; import 'package:doctor_app_flutter/core/viewModel/project_view_model.dart'; import 'package:doctor_app_flutter/icons_app/doctor_app_icons.dart'; +import 'package:doctor_app_flutter/models/discharge_summary/GetDischargeSummaryResModel.dart'; import 'package:doctor_app_flutter/models/doctor/list_gt_my_patients_question_model.dart'; import 'package:doctor_app_flutter/util/date-utils.dart'; import 'package:doctor_app_flutter/util/helpers.dart'; @@ -15,10 +16,10 @@ import 'package:provider/provider.dart'; import 'package:url_launcher/url_launcher.dart'; class DischargeSummaryWidget extends StatefulWidget { - final ListGtMyPatientsQuestions reply; + final GetDischargeSummaryResModel dischargeSummary; bool isShowMore = false; - DischargeSummaryWidget({Key key, this.reply}); + DischargeSummaryWidget({Key key, this.dischargeSummary}); @override _DischargeSummaryWidgetState createState() => _DischargeSummaryWidgetState(); @@ -31,77 +32,34 @@ class _DischargeSummaryWidgetState extends State { return Container( child: CardWithBgWidget( - bgColor: widget.reply.infoStatus == 99 - ? Color(0xFF2B353E) - : widget.reply.infoStatus == 4 - ? IN_PROGRESS_COLOR - : widget.reply.infoStatus == 3 - ? Color(0xFFD02127) - : Colors.green[600], + bgColor:Colors.transparent, hasBorder: false, widget: Container( child: InkWell( child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ - if(widget.reply.infoStatus != 0) Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ - RichText( - text: new TextSpan( - style: new TextStyle( - fontSize: 2.0 * SizeConfig.textMultiplier, - color: Colors.black), - children: [ - new TextSpan( - text: widget.reply.infoStatus == 99 - ? TranslationBase.of(context).notReplied:widget.reply.infoStatus == 1 - ? TranslationBase.of(context).replayCallStatus - : widget.reply.infoStatus == 2 - ? TranslationBase.of(context).patientArrived - : widget.reply.infoStatus == 3 - ? TranslationBase.of(context) - .calledAndNoResponse - : widget.reply.infoStatus == 4 - ? TranslationBase.of(context) - .underProcess - : widget.reply.infoStatus == 6 - ? TranslationBase.of(context) - .textResponse - : '', - style: TextStyle( - color: widget.reply.infoStatus == 99 - ? Color(0xFF2B353E) - : widget.reply.infoStatus == 4 - ? IN_PROGRESS_COLOR - : widget.reply.infoStatus == 3 - ? Color(0xFFD02127) - : Colors.green[600], - fontWeight: FontWeight.w700, - fontFamily: 'Poppins', - fontSize: 1.8 * SizeConfig.textMultiplier)), - ], - ), - ), Column( crossAxisAlignment: CrossAxisAlignment.end, children: [ AppText( AppDateUtils.getDateTimeFromServerFormat( - widget.reply.createdOn) + widget.dischargeSummary.createdOn) .day .toString() + " " + AppDateUtils.getMonth( AppDateUtils.getDateTimeFromServerFormat( - widget.reply.createdOn) + widget.dischargeSummary.createdOn) .month) .toString() .substring(0, 3) + ' ' + AppDateUtils.getDateTimeFromServerFormat( - widget.reply.createdOn) + widget.dischargeSummary.createdOn) .year .toString(), fontFamily: 'Poppins', @@ -109,12 +67,12 @@ class _DischargeSummaryWidgetState extends State { ), AppText( AppDateUtils.getDateTimeFromServerFormat( - widget.reply.createdOn) + widget.dischargeSummary.createdOn) .hour .toString() + ":" + AppDateUtils.getDateTimeFromServerFormat( - widget.reply.createdOn) + widget.dischargeSummary.createdOn) .minute .toString(), fontFamily: 'Poppins', @@ -124,43 +82,6 @@ class _DischargeSummaryWidgetState extends State { ), ], ), - Row( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Expanded( - child: AppText( - Helpers.capitalize(widget.reply.patientName), - fontSize: SizeConfig.textMultiplier * 2.5, - fontWeight: FontWeight.bold, - fontFamily: 'Poppins', - ), - ), - Container( - margin: EdgeInsets.symmetric(horizontal: 4), - child: InkWell( - onTap: () { - launch("tel://" + widget.reply.mobileNumber); - }, - child: Icon( - Icons.phone, - color: Colors.black87, - ), - ), - ), - SizedBox( - width: 4, - ), - widget.reply.gender == 1 - ? Icon( - DoctorApp.male_2, - color: Colors.blue, - ) - : Icon( - DoctorApp.female_1, - color: Colors.pink, - ), - ], - ), SizedBox( height: 20, ), @@ -169,22 +90,6 @@ class _DischargeSummaryWidgetState extends State { crossAxisAlignment: CrossAxisAlignment.start, mainAxisAlignment: MainAxisAlignment.start, children: [ - Column( - mainAxisAlignment: MainAxisAlignment.start, - children: [ - Container( - margin: EdgeInsets.only(top: 5), - width: 60, - height: 60, - child: Image.asset( - widget.reply.gender == 1 - ? 'assets/images/male_avatar.png' - : 'assets/images/female_avatar.png', - fit: BoxFit.cover, - ), - ), - ], - ), SizedBox( width: 20, ), @@ -201,15 +106,9 @@ class _DischargeSummaryWidgetState extends State { children: [ CustomRow( label: TranslationBase.of(context).fileNumber, - value: widget.reply.patientID.toString(), + value: widget.dischargeSummary.patientID.toString(), isCopyable:false, ), - CustomRow( - label: TranslationBase.of(context).age + " : ", - isCopyable:false, - value: - "${AppDateUtils.getAgeByBirthday(widget.reply.dateofBirth, context)}", - ), SizedBox( height: 8, ), @@ -241,7 +140,7 @@ class _DischargeSummaryWidgetState extends State { )), new TextSpan( text: - "${widget.reply.requestTypeDescription}", + "${widget.dischargeSummary.dischargeInstructions}", style: TextStyle( fontFamily: 'Poppins', fontSize: SizeConfig diff --git a/lib/screens/patients/profile/discharge_summary/discharge_summary.dart b/lib/screens/patients/profile/discharge_summary/discharge_summary.dart index 1530f917..1625d7bb 100644 --- a/lib/screens/patients/profile/discharge_summary/discharge_summary.dart +++ b/lib/screens/patients/profile/discharge_summary/discharge_summary.dart @@ -125,7 +125,7 @@ class _DoctorReplyScreenState extends State physics: BouncingScrollPhysics(), controller: _tabController, children: [ - PendingDischargeSummary(), + PendingDischargeSummary(patient:patient ,), AllDischargeSummary(), ], ), diff --git a/lib/screens/patients/profile/discharge_summary/pending_discharge_summary.dart b/lib/screens/patients/profile/discharge_summary/pending_discharge_summary.dart index c0c36732..3981163e 100644 --- a/lib/screens/patients/profile/discharge_summary/pending_discharge_summary.dart +++ b/lib/screens/patients/profile/discharge_summary/pending_discharge_summary.dart @@ -1,5 +1,7 @@ import 'package:doctor_app_flutter/core/enum/viewstate.dart'; import 'package:doctor_app_flutter/core/viewModel/doctor_replay_view_model.dart'; +import 'package:doctor_app_flutter/core/viewModel/profile/discharge_summary_view_model.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/util/translations_delegate_base.dart'; import 'package:doctor_app_flutter/screens/doctor/doctor_replay/doctor_reply_widget.dart'; @@ -9,11 +11,13 @@ import 'package:doctor_app_flutter/widgets/shared/errors/dr_app_embedded_error.d import 'package:doctor_app_flutter/widgets/shared/errors/error_message.dart'; import 'package:flutter/material.dart'; +import 'discharge_Summary_widget.dart'; class PendingDischargeSummary extends StatefulWidget { final Function changeCurrentTab; + final PatiantInformtion patient; - const PendingDischargeSummary({Key key, this.changeCurrentTab}) + const PendingDischargeSummary({Key key, this.changeCurrentTab, this.patient}) : super(key: key); @override @@ -26,58 +30,41 @@ class _PendingDischargeSummaryState extends State { @override Widget build(BuildContext context) { - return BaseView( + return BaseView( onModelReady: (model) { - model.getDoctorReply(isLocalBusy: false, isGettingNotReply: true); + model.getPendingDischargeSummary( + patientId: widget.patient.patientId, + admissionNo: int.parse(widget.patient.admissionNo), + + ); }, builder: (_, model, w) => AppScaffold( baseViewModel: model, - appBarTitle: TranslationBase.of(context).replay2, isShowAppBar: false, - body: model.listDoctorNotRepliedQuestions.isEmpty - ? ErrorMessage(error: TranslationBase.of(context).noItem) + body: model.pendingDischargeSummaryList.isEmpty + ? ErrorMessage( + error: TranslationBase.of(context) + .noItem) // DrAppEmbeddedError(error: TranslationBase.of(context).noItem) : Column( children: [ Expanded( child: Container( padding: EdgeInsetsDirectional.fromSTEB(30, 0, 30, 0), - child: NotificationListener( - child: ListView.builder( - scrollDirection: Axis.vertical, - itemCount: - model.listDoctorNotRepliedQuestions.length, - shrinkWrap: true, - itemBuilder: (BuildContext ctxt, int index) { - return Column( - children: [ - InkWell( - child: DoctorReplyWidget( - reply: - model.listDoctorNotRepliedQuestions[ - index]), - ), - if (model.state == ViewState.BusyLocal && - index == - model.listDoctorNotRepliedQuestions - .length - - 1) - DrAppCircularProgressIndeicator() - ], - ); - }), - onNotification: (t) { - if (t is ScrollUpdateNotification && - t.metrics.pixels >= - t.metrics.maxScrollExtent - 50 && - model.state != ViewState.BusyLocal) { - setState(() { - pageIndex++; - }); - model.getDoctorReply(pageIndex: pageIndex, isGettingNotReply: true); - } - return; - }, - ), + child: ListView.builder( + scrollDirection: Axis.vertical, + itemCount: model.pendingDischargeSummaryList.length, + shrinkWrap: true, + itemBuilder: (BuildContext ctxt, int index) { + return Column( + children: [ + InkWell( + child: DischargeSummaryWidget( + dischargeSummary: model + .pendingDischargeSummaryList[index]), + ), + ], + ); + }), ), ), ], diff --git a/lib/screens/patients/profile/operation_report/operation_report.dart b/lib/screens/patients/profile/operation_report/operation_report.dart index a445309e..c2751424 100644 --- a/lib/screens/patients/profile/operation_report/operation_report.dart +++ b/lib/screens/patients/profile/operation_report/operation_report.dart @@ -2,7 +2,7 @@ import 'package:doctor_app_flutter/core/model/note/note_model.dart'; import 'package:doctor_app_flutter/core/model/note/update_note_model.dart'; import 'package:doctor_app_flutter/core/service/AnalyticsService.dart'; import 'package:doctor_app_flutter/core/viewModel/authentication_view_model.dart'; -import 'package:doctor_app_flutter/core/viewModel/operation_report_view_model.dart'; +import 'package:doctor_app_flutter/core/viewModel/profile/operation_report_view_model.dart'; import 'package:doctor_app_flutter/core/viewModel/patient_view_model.dart'; import 'package:doctor_app_flutter/core/viewModel/project_view_model.dart'; import 'package:doctor_app_flutter/icons_app/doctor_app_icons.dart'; diff --git a/lib/screens/patients/profile/operation_report/update_operation_report.dart b/lib/screens/patients/profile/operation_report/update_operation_report.dart index 0800bc16..d042ff2f 100644 --- a/lib/screens/patients/profile/operation_report/update_operation_report.dart +++ b/lib/screens/patients/profile/operation_report/update_operation_report.dart @@ -6,7 +6,7 @@ import 'package:doctor_app_flutter/core/model/note/CreateNoteModel.dart'; import 'package:doctor_app_flutter/core/model/note/note_model.dart'; import 'package:doctor_app_flutter/core/model/note/update_note_model.dart'; import 'package:doctor_app_flutter/core/provider/robot_provider.dart'; -import 'package:doctor_app_flutter/core/viewModel/operation_report_view_model.dart'; +import 'package:doctor_app_flutter/core/viewModel/profile/operation_report_view_model.dart'; import 'package:doctor_app_flutter/core/viewModel/patient_view_model.dart'; import 'package:doctor_app_flutter/core/viewModel/project_view_model.dart'; import 'package:doctor_app_flutter/icons_app/doctor_app_icons.dart'; diff --git a/lib/screens/patients/register_patient/RegisterConfirmationPatientPage.dart b/lib/screens/patients/register_patient/RegisterConfirmationPatientPage.dart index 1f0a743f..c03c6f96 100644 --- a/lib/screens/patients/register_patient/RegisterConfirmationPatientPage.dart +++ b/lib/screens/patients/register_patient/RegisterConfirmationPatientPage.dart @@ -8,7 +8,7 @@ import 'package:doctor_app_flutter/core/model/note/note_model.dart'; import 'package:doctor_app_flutter/core/model/note/update_note_model.dart'; import 'package:doctor_app_flutter/core/provider/robot_provider.dart'; import 'package:doctor_app_flutter/core/viewModel/PatientRegistrationViewModel.dart'; -import 'package:doctor_app_flutter/core/viewModel/operation_report_view_model.dart'; +import 'package:doctor_app_flutter/core/viewModel/profile/operation_report_view_model.dart'; import 'package:doctor_app_flutter/core/viewModel/patient_view_model.dart'; import 'package:doctor_app_flutter/core/viewModel/project_view_model.dart'; import 'package:doctor_app_flutter/icons_app/doctor_app_icons.dart';