diff --git a/lib/config/config.dart b/lib/config/config.dart index 98a8abd8..f17693e0 100644 --- a/lib/config/config.dart +++ b/lib/config/config.dart @@ -5,8 +5,8 @@ const ONLY_NUMBERS = "[0-9]"; const ONLY_LETTERS = "[a-zA-Z &'\"]"; const ONLY_DATE = "[0-9/]"; const BASE_URL_LIVE_CARE = 'https://livecare.hmg.com/'; -const BASE_URL = 'https://hmgwebservices.com/'; -// const BASE_URL = 'https://uat.hmgwebservices.com/'; +// const BASE_URL = 'https://hmgwebservices.com/'; +const BASE_URL = 'https://uat.hmgwebservices.com/'; const PHARMACY_ITEMS_URL = "Services/Lists.svc/REST/GetPharmcyItems_Region_enh"; const PHARMACY_LIST_URL = "Services/Patients.svc/REST/GetPharmcyList"; const PATIENT_PROGRESS_NOTE_URL = diff --git a/lib/core/service/operation_report_servive.dart b/lib/core/service/operation_report_servive.dart index ea61c0fa..5094fbb1 100644 --- a/lib/core/service/operation_report_servive.dart +++ b/lib/core/service/operation_report_servive.dart @@ -1,6 +1,28 @@ +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/operation_report/get_operation_report_model.dart'; +import 'package:doctor_app_flutter/models/operation_report/get_operation_report_request_model.dart'; class OperationReportService extends BaseService { List get operationReportList => List(); + + Future getOperationReport( + {GetOperationReportRequestModel getOperationReportRequestModel, + int patientId}) async { + getOperationReportRequestModel = + GetOperationReportRequestModel(patientID: patientId); + + hasError = false; + await baseAppClient.post(GET_OPERATION_REPORT, + onSuccess: (dynamic response, int statusCode) { + print("Success"); + operationReportList.clear(); + response['List_OTReservationDetails'].forEach((v) { + operationReportList.add(GetOperationReportModel.fromJson(v)); + }); + }, onFailure: (String error, int statusCode) { + hasError = true; + super.error = error; + }, body: getOperationReportRequestModel.toJson()); + } } diff --git a/lib/core/viewModel/operation_report_view_model.dart b/lib/core/viewModel/operation_report_view_model.dart index a2ab680c..673d6522 100644 --- a/lib/core/viewModel/operation_report_view_model.dart +++ b/lib/core/viewModel/operation_report_view_model.dart @@ -1,3 +1,24 @@ +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/viewModel/base_view_model.dart'; +import 'package:doctor_app_flutter/locator.dart'; -class OperationReportViewModel extends BaseViewModel {} +class OperationReportViewModel extends BaseViewModel { + bool hasError = false; + OperationReportService _operationReportService = + locator(); + + get operationReportList => _operationReportService.operationReportList; + + Future getOperationReport(int patientId) async { + hasError = false; + setState(ViewState.Busy); + await _operationReportService.getOperationReport(patientId: patientId); + if (_operationReportService.hasError) { + error = _operationReportService.error; + setState(ViewState.ErrorLocal); + } else { + setState(ViewState.Idle); + } + } +} diff --git a/lib/locator.dart b/lib/locator.dart index 3ee2650c..b5f651eb 100644 --- a/lib/locator.dart +++ b/lib/locator.dart @@ -1,8 +1,10 @@ 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/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/patient_view_model.dart'; import 'package:doctor_app_flutter/core/viewModel/prescription_view_model.dart'; import 'package:doctor_app_flutter/core/viewModel/procedure_View_model.dart'; @@ -100,6 +102,7 @@ void setupLocator() { locator.registerLazySingleton(() => SpecialClinicsService()); locator.registerLazySingleton(() => VideoCallService()); locator.registerLazySingleton(() => AnalyticsService()); + locator.registerLazySingleton(() => OperationReportService()); /// View Model locator.registerFactory(() => DoctorReplayViewModel()); @@ -128,4 +131,5 @@ void setupLocator() { locator.registerFactory(() => LiveCarePatientViewModel()); locator.registerFactory(() => PatientMedicalReportViewModel()); locator.registerFactory(() => ScanQrViewModel()); + locator.registerFactory(() => OperationReportViewModel()); } diff --git a/lib/routes.dart b/lib/routes.dart index 47fccec3..9c8f35f8 100644 --- a/lib/routes.dart +++ b/lib/routes.dart @@ -10,6 +10,7 @@ import 'package:doctor_app_flutter/screens/patients/profile/medical_report/AddVe import 'package:doctor_app_flutter/screens/patients/profile/medical_report/MedicalReportDetailPage.dart'; import 'package:doctor_app_flutter/screens/patients/profile/medical_report/MedicalReportPage.dart'; import 'package:doctor_app_flutter/screens/patients/profile/note/progress_note_screen.dart'; +import 'package:doctor_app_flutter/screens/patients/profile/operation_report/operation_report.dart'; import 'package:doctor_app_flutter/screens/patients/profile/prescriptions/in_patient_prescription_details_screen.dart'; import 'package:doctor_app_flutter/screens/patients/profile/radiology/radiology_home_page.dart'; import 'package:doctor_app_flutter/screens/patients/profile/referral/refer-patient-screen-in-patient.dart'; @@ -47,7 +48,8 @@ const String ORDER_NOTE = 'patients/order-note'; const String MY_REFERRAL_DETAIL = 'my_referral_detail'; const String REFER_PATIENT_TO_DOCTOR = 'patients/refer-to-doctor'; const String REFER_IN_PATIENT_TO_DOCTOR = 'patients/refer-in-patient-to-doctor'; -const String PATIENT_INSURANCE_APPROVALS_NEW = 'patients/patient_insurance_approvals_new'; +const String PATIENT_INSURANCE_APPROVALS_NEW = + 'patients/patient_insurance_approvals_new'; const String VITAL_SIGN_DETAILS = 'patients/vital-sign-details'; const String CREATE_EPISODE = 'patients/create-episode'; const String UPDATE_EPISODE = 'patients/update-episode'; @@ -66,6 +68,7 @@ const String ORDER_PROCEDURE = 'procedure/procedure'; const String ADD_SICKLEAVE = 'add-sickleave'; const String RADIOLOGY_PATIENT = 'radiology-patient'; const String ALL_SPECIAL_LAB_RESULT = 'all-special_lab'; +const String GET_OPERATION_REPORT = 'operation-report'; //todo: change the routing way. var routes = { @@ -109,4 +112,5 @@ var routes = { // PATIENT_UCAF_DETAIL: (_) => UcafDetailScreen(), PATIENT_ECG: (_) => ECGPage(), ALL_SPECIAL_LAB_RESULT: (_) => AllLabSpecialResult(), + GET_OPERATION_REPORT: (_) => OperationReportScreen(), }; diff --git a/lib/screens/patients/profile/operation_report/operation_report.dart b/lib/screens/patients/profile/operation_report/operation_report.dart index 23f9ed28..427c6f7e 100644 --- a/lib/screens/patients/profile/operation_report/operation_report.dart +++ b/lib/screens/patients/profile/operation_report/operation_report.dart @@ -2,6 +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/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'; @@ -9,6 +10,7 @@ import 'package:doctor_app_flutter/locator.dart'; import 'package:doctor_app_flutter/models/patient/progress_note_request.dart'; import 'package:doctor_app_flutter/screens/base/base_view.dart'; import 'package:doctor_app_flutter/screens/patients/profile/note/update_note.dart'; +import 'package:doctor_app_flutter/screens/patients/profile/operation_report/update_operation_report.dart'; import 'package:doctor_app_flutter/util/date-utils.dart'; import 'package:doctor_app_flutter/util/translations_delegate_base.dart'; import 'package:doctor_app_flutter/widgets/patients/profile/add-order/addNewOrder.dart'; @@ -78,8 +80,8 @@ class _ProgressNoteState extends State { String arrivalType = routeArgs['arrivalType']; if (routeArgs.containsKey('isDischargedPatient')) isDischargedPatient = routeArgs['isDischargedPatient']; - return BaseView( - onModelReady: (model) => getProgressNoteList(context, model), + return BaseView( + onModelReady: (model) => model.getOperationReport(patient.patientMRN), builder: (_, model, w) => AppScaffold( baseViewModel: model, backgroundColor: Theme.of(context).scaffoldBackgroundColor, @@ -88,8 +90,8 @@ class _ProgressNoteState extends State { patient, isInpatient: true, ), - body: model.patientProgressNoteList == null || - model.patientProgressNoteList.length == 0 + body: model.operationReportList == null || + model.operationReportList.length == 0 ? DrAppEmbeddedError( error: TranslationBase.of(context).errorNoProgressNote) : Container( @@ -100,13 +102,13 @@ class _ProgressNoteState extends State { AddNewOrder( onTap: () async { await locator().logEvent( - eventCategory: "Progress Note Screen", - eventAction: "Update Progress Note", + eventCategory: "Operation Report Screen", + eventAction: "Update Operation Report ", ); Navigator.push( context, MaterialPageRoute( - builder: (context) => UpdateNoteOrder( + builder: (context) => UpdateOperatiomReport( patientModel: model, patient: patient, visitType: widget.visitType, @@ -123,27 +125,25 @@ class _ProgressNoteState extends State { Expanded( child: Container( child: ListView.builder( - itemCount: model.patientProgressNoteList.length, + itemCount: model.operationReportList.length, itemBuilder: (BuildContext ctxt, int index) { return FractionallySizedBox( widthFactor: 0.95, child: CardWithBgWidget( hasBorder: false, - bgColor: model.patientProgressNoteList[index] + bgColor: model.operationReportList[index] .status == 1 && authenticationViewModel .doctorProfile.doctorID != - model - .patientProgressNoteList[ - index] + model.operationReportList[index] .createdBy ? Color(0xFFCC9B14) - : model.patientProgressNoteList[index] + : model.operationReportList[index] .status == 4 ? Colors.red.shade700 - : model.patientProgressNoteList[index] + : model.operationReportList[index] .status == 2 ? Colors.green[600] @@ -154,15 +154,13 @@ class _ProgressNoteState extends State { crossAxisAlignment: CrossAxisAlignment.start, children: [ - if (model - .patientProgressNoteList[ - index] + if (model.operationReportList[index] .status == 1 && authenticationViewModel .doctorProfile.doctorID != model - .patientProgressNoteList[ + .operationReportList[ index] .createdBy) AppText( @@ -172,9 +170,7 @@ class _ProgressNoteState extends State { color: Color(0xFFCC9B14), fontSize: 12, ), - if (model - .patientProgressNoteList[ - index] + if (model.operationReportList[index] .status == 4) AppText( @@ -184,9 +180,7 @@ class _ProgressNoteState extends State { color: Colors.red.shade700, fontSize: 12, ), - if (model - .patientProgressNoteList[ - index] + if (model.operationReportList[index] .status == 2) AppText( @@ -196,16 +190,16 @@ class _ProgressNoteState extends State { color: Colors.green[600], fontSize: 12, ), - if (model.patientProgressNoteList[index].status != 2 && - model - .patientProgressNoteList[ - index] + if (model.operationReportList[index] + .status != + 2 && + model.operationReportList[index] .status != 4 && authenticationViewModel .doctorProfile.doctorID == model - .patientProgressNoteList[ + .operationReportList[ index] .createdBy) Row( @@ -213,25 +207,25 @@ class _ProgressNoteState extends State { CrossAxisAlignment.start, children: [ InkWell( - onTap: () { - Navigator.push( - context, - MaterialPageRoute( - builder: (context) => - UpdateNoteOrder( - note: model - .patientProgressNoteList[ - index], - patientModel: - model, - patient: - patient, - visitType: widget - .visitType, - isUpdate: true, - )), - ); - }, + // onTap: () { + // Navigator.push( + // context, + // MaterialPageRoute( + // builder: (context) => + // UpdateNoteOrder( + // note: model + // .operationReportList[ + // index], + // patientModel: + // model, + // patient: + // patient, + // visitType: widget + // .visitType, + // isUpdate: true, + // )), + // ); + // }, child: Container( decoration: BoxDecoration( color: Colors.grey[600], @@ -266,168 +260,168 @@ class _ProgressNoteState extends State { SizedBox( width: 10, ), - InkWell( - onTap: () async { - showMyDialog( - context: context, - actionName: "verify", - confirmFun: () async { - GifLoaderDialogUtils - .showMyDialog( - context); - UpdateNoteReqModel - reqModel = - UpdateNoteReqModel( - admissionNo: int - .parse(patient - .admissionNo), - cancelledNote: - false, - lineItemNo: model - .patientProgressNoteList[ - index] - .lineItemNo, - createdBy: model - .patientProgressNoteList[ - index] - .createdBy, - notes: model - .patientProgressNoteList[ - index] - .notes, - verifiedNote: true, - patientTypeID: - patient - .patientType, - patientOutSA: false, - ); - await model - .updatePatientProgressNote( - reqModel); - await getProgressNoteList( - context, model, - isLocalBusy: - true); - GifLoaderDialogUtils - .hideDialog( - context); - }); - }, - child: Container( - decoration: BoxDecoration( - color: Colors.green[600], - borderRadius: - BorderRadius.circular( - 10), - ), - // color:Colors.red[600], - - child: Row( - children: [ - Icon( - FontAwesomeIcons - .check, - size: 12, - color: Colors.white, - ), - SizedBox( - width: 2, - ), - AppText( - TranslationBase.of( - context) - .noteVerify, - fontSize: 10, - color: Colors.white, - ), - ], - ), - padding: EdgeInsets.all(6), - ), - ), + // InkWell( + // onTap: () async { + // showMyDialog( + // context: context, + // actionName: "verify", + // confirmFun: () async { + // GifLoaderDialogUtils + // .showMyDialog( + // context); + // UpdateNoteReqModel + // reqModel = + // UpdateNoteReqModel( + // admissionNo: int + // .parse(patient + // .admissionNo), + // cancelledNote: + // false, + // lineItemNo: model + // .patientProgressNoteList[ + // index] + // .lineItemNo, + // createdBy: model + // .patientProgressNoteList[ + // index] + // .createdBy, + // notes: model + // .patientProgressNoteList[ + // index] + // .notes, + // verifiedNote: true, + // patientTypeID: + // patient + // .patientType, + // patientOutSA: false, + // ); + // await model + // .updatePatientProgressNote( + // reqModel); + // await getProgressNoteList( + // context, model, + // isLocalBusy: + // true); + // GifLoaderDialogUtils + // .hideDialog( + // context); + // }); + // }, + // child: Container( + // decoration: BoxDecoration( + // color: Colors.green[600], + // borderRadius: + // BorderRadius.circular( + // 10), + // ), + // // color:Colors.red[600], + // + // child: Row( + // children: [ + // Icon( + // FontAwesomeIcons + // .check, + // size: 12, + // color: Colors.white, + // ), + // SizedBox( + // width: 2, + // ), + // AppText( + // TranslationBase.of( + // context) + // .noteVerify, + // fontSize: 10, + // color: Colors.white, + // ), + // ], + // ), + // padding: EdgeInsets.all(6), + // ), + // ), SizedBox( width: 10, ), - InkWell( - onTap: () async { - showMyDialog( - context: context, - actionName: - TranslationBase.of( - context) - .cancel, - confirmFun: () async { - GifLoaderDialogUtils - .showMyDialog( - context, - ); - UpdateNoteReqModel - reqModel = - UpdateNoteReqModel( - admissionNo: int - .parse(patient - .admissionNo), - cancelledNote: true, - lineItemNo: model - .patientProgressNoteList[ - index] - .lineItemNo, - createdBy: model - .patientProgressNoteList[ - index] - .createdBy, - notes: model - .patientProgressNoteList[ - index] - .notes, - verifiedNote: false, - patientTypeID: - patient - .patientType, - patientOutSA: false, - ); - await model - .updatePatientProgressNote( - reqModel); - await getProgressNoteList( - context, model, - isLocalBusy: - true); - GifLoaderDialogUtils - .hideDialog( - context); - }); - }, - child: Container( - decoration: BoxDecoration( - color: Colors.red[600], - borderRadius: - BorderRadius.circular( - 10), - ), - // color:Colors.red[600], - - child: Row( - children: [ - Icon( - FontAwesomeIcons - .trash, - size: 12, - color: Colors.white, - ), - SizedBox( - width: 2, - ), - AppText( - 'Cancel', - fontSize: 10, - color: Colors.white, - ), - ], - ), - padding: EdgeInsets.all(6), - ), - ), + // InkWell( + // onTap: () async { + // showMyDialog( + // context: context, + // actionName: + // TranslationBase.of( + // context) + // .cancel, + // confirmFun: () async { + // GifLoaderDialogUtils + // .showMyDialog( + // context, + // ); + // UpdateNoteReqModel + // reqModel = + // UpdateNoteReqModel( + // admissionNo: int + // .parse(patient + // .admissionNo), + // cancelledNote: true, + // lineItemNo: model + // .patientProgressNoteList[ + // index] + // .lineItemNo, + // createdBy: model + // .patientProgressNoteList[ + // index] + // .createdBy, + // notes: model + // .patientProgressNoteList[ + // index] + // .notes, + // verifiedNote: false, + // patientTypeID: + // patient + // .patientType, + // patientOutSA: false, + // ); + // await model + // .updatePatientProgressNote( + // reqModel); + // await getProgressNoteList( + // context, model, + // isLocalBusy: + // true); + // GifLoaderDialogUtils + // .hideDialog( + // context); + // }); + // }, + // child: Container( + // decoration: BoxDecoration( + // color: Colors.red[600], + // borderRadius: + // BorderRadius.circular( + // 10), + // ), + // // color:Colors.red[600], + // + // child: Row( + // children: [ + // Icon( + // FontAwesomeIcons + // .trash, + // size: 12, + // color: Colors.white, + // ), + // SizedBox( + // width: 2, + // ), + // AppText( + // 'Cancel', + // fontSize: 10, + // color: Colors.white, + // ), + // ], + // ), + // padding: EdgeInsets.all(6), + // ), + // ), SizedBox( width: 10, ) @@ -465,7 +459,7 @@ class _ProgressNoteState extends State { Expanded( child: AppText( model - .patientProgressNoteList[ + .operationReportList[ index] .doctorName ?? '', @@ -483,14 +477,14 @@ class _ProgressNoteState extends State { children: [ AppText( model - .patientProgressNoteList[ + .operationReportList[ index] .createdOn != null ? AppDateUtils.getDayMonthYearDateFormatted( AppDateUtils .getDateTimeFromServerFormat(model - .patientProgressNoteList[ + .operationReportList[ index] .createdOn), isArabic: @@ -508,14 +502,14 @@ class _ProgressNoteState extends State { ), AppText( model - .patientProgressNoteList[ + .operationReportList[ index] .createdOn != null ? AppDateUtils.getHour( AppDateUtils .getDateTimeFromServerFormat(model - .patientProgressNoteList[ + .operationReportList[ index] .createdOn)) : AppDateUtils.getHour( @@ -539,7 +533,7 @@ class _ProgressNoteState extends State { Expanded( child: AppText( model - .patientProgressNoteList[ + .operationReportList[ index] .notes, fontSize: 10, 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 768aaabf..8b46ffce 100644 --- a/lib/screens/patients/profile/operation_report/update_operation_report.dart +++ b/lib/screens/patients/profile/operation_report/update_operation_report.dart @@ -6,6 +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/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'; @@ -29,7 +30,7 @@ import 'package:speech_to_text/speech_to_text.dart' as stt; class UpdateOperatiomReport extends StatefulWidget { final NoteModel note; - final PatientViewModel patientModel; + final OperationReportViewModel patientModel; final PatiantInformtion patient; final int visitType; final bool isUpdate; @@ -226,8 +227,8 @@ class _UpdateOperatiomReportState extends State { patientTypeID: widget.patient.patientType, patientOutSA: false, ); - await widget.patientModel - .updatePatientProgressNote(reqModel); + // await widget.patientModel + // .updatePatientProgressNote(reqModel); } else { CreateNoteModel reqModel = CreateNoteModel( admissionNo: @@ -240,8 +241,8 @@ class _UpdateOperatiomReportState extends State { patientOutSA: false, notes: progressNoteController.text); - await widget.patientModel - .createPatientProgressNote(reqModel); + // await widget.patientModel + // .createPatientProgressNote(reqModel); } if (widget.patientModel.state == ViewState.ErrorLocal) { @@ -256,8 +257,8 @@ class _UpdateOperatiomReportState extends State { projectID: widget.patient.projectId, patientTypeID: widget.patient.patientType, languageID: 2); - await widget.patientModel.getPatientProgressNote( - progressNoteRequest.toJson()); + // await widget.patientModel.getPatientProgressNote( + // progressNoteRequest.toJson()); } GifLoaderDialogUtils.hideDialog(context); DrAppToastMsg.showSuccesToast( diff --git a/lib/screens/patients/profile/profile_screen/profile_gird_for_InPatient.dart b/lib/screens/patients/profile/profile_screen/profile_gird_for_InPatient.dart index 5ac21f91..4c4fe12e 100644 --- a/lib/screens/patients/profile/profile_screen/profile_gird_for_InPatient.dart +++ b/lib/screens/patients/profile/profile_screen/profile_gird_for_InPatient.dart @@ -35,36 +35,69 @@ class ProfileGridForInPatient extends StatelessWidget { @override Widget build(BuildContext context) { final List cardsList = [ - PatientProfileCardModel(TranslationBase.of(context).vital, TranslationBase.of(context).signs, VITAL_SIGN_DETAILS, + PatientProfileCardModel( + TranslationBase.of(context).vital, + TranslationBase.of(context).signs, + VITAL_SIGN_DETAILS, 'patient/vital_signs.png', isInPatient: isInpatient), PatientProfileCardModel( - TranslationBase.of(context).lab, TranslationBase.of(context).result, LAB_RESULT, 'patient/lab_results.png', + TranslationBase.of(context).lab, + TranslationBase.of(context).result, + LAB_RESULT, + 'patient/lab_results.png', isInPatient: isInpatient), - PatientProfileCardModel(TranslationBase.of(context).lab, TranslationBase.of(context).special, - ALL_SPECIAL_LAB_RESULT, 'patient/lab_results.png', + PatientProfileCardModel( + TranslationBase.of(context).lab, + TranslationBase.of(context).special, + ALL_SPECIAL_LAB_RESULT, + 'patient/lab_results.png', isInPatient: isInpatient), - PatientProfileCardModel(TranslationBase.of(context).radiology, TranslationBase.of(context).result, - RADIOLOGY_PATIENT, 'patient/health_summary.png', + PatientProfileCardModel( + TranslationBase.of(context).radiology, + TranslationBase.of(context).result, + RADIOLOGY_PATIENT, + 'patient/health_summary.png', isInPatient: isInpatient), - PatientProfileCardModel(TranslationBase.of(context).patient, TranslationBase.of(context).prescription, - ORDER_PRESCRIPTION_NEW, 'patient/order_prescription.png', + PatientProfileCardModel( + TranslationBase.of(context).patient, + TranslationBase.of(context).prescription, + ORDER_PRESCRIPTION_NEW, + 'patient/order_prescription.png', isInPatient: isInpatient), - PatientProfileCardModel(TranslationBase.of(context).progress, TranslationBase.of(context).note, PROGRESS_NOTE, + PatientProfileCardModel( + TranslationBase.of(context).progress, + TranslationBase.of(context).note, + PROGRESS_NOTE, 'patient/Progress_notes.png', - isInPatient: isInpatient, isDischargedPatient: isDischargedPatient), - PatientProfileCardModel(TranslationBase.of(context).order, TranslationBase.of(context).sheet, ORDER_NOTE, + isInPatient: isInpatient, + isDischargedPatient: isDischargedPatient), + PatientProfileCardModel( + TranslationBase.of(context).order, + TranslationBase.of(context).sheet, + ORDER_NOTE, 'patient/Progress_notes.png', - isInPatient: isInpatient, isDischargedPatient: isDischargedPatient), - PatientProfileCardModel(TranslationBase.of(context).orders, TranslationBase.of(context).procedures, - ORDER_PROCEDURE, 'patient/Order_Procedures.png', + isInPatient: isInpatient, + isDischargedPatient: isDischargedPatient), + PatientProfileCardModel( + TranslationBase.of(context).orders, + TranslationBase.of(context).procedures, + ORDER_PROCEDURE, + 'patient/Order_Procedures.png', isInPatient: isInpatient), - PatientProfileCardModel(TranslationBase.of(context).health, TranslationBase.of(context).summary, HEALTH_SUMMARY, + PatientProfileCardModel( + TranslationBase.of(context).health, + TranslationBase.of(context).summary, + HEALTH_SUMMARY, 'patient/health_summary.png', isInPatient: isInpatient), - PatientProfileCardModel(TranslationBase.of(context).medical, TranslationBase.of(context).report, - PATIENT_MEDICAL_REPORT, 'patient/health_summary.png', - isInPatient: isInpatient, isDisable: false), + PatientProfileCardModel( + TranslationBase.of(context).medical, + TranslationBase.of(context).report, + PATIENT_MEDICAL_REPORT, + 'patient/health_summary.png', + isInPatient: isInpatient, + isDisable: false), PatientProfileCardModel( TranslationBase.of(context).referral, TranslationBase.of(context).patient, @@ -73,12 +106,19 @@ class ProfileGridForInPatient extends StatelessWidget { isInPatient: isInpatient, isDisable: isDischargedPatient || isFromSearch, ), - PatientProfileCardModel(TranslationBase.of(context).insurance, TranslationBase.of(context).approvals, - PATIENT_INSURANCE_APPROVALS_NEW, 'patient/vital_signs.png', + PatientProfileCardModel( + TranslationBase.of(context).insurance, + TranslationBase.of(context).approvals, + PATIENT_INSURANCE_APPROVALS_NEW, + 'patient/vital_signs.png', isInPatient: isInpatient), - PatientProfileCardModel(TranslationBase.of(context).discharge, TranslationBase.of(context).report, null, + PatientProfileCardModel( + TranslationBase.of(context).discharge, + TranslationBase.of(context).report, + null, 'patient/patient_sick_leave.png', - isInPatient: isInpatient, isDisable: true), + isInPatient: isInpatient, + isDisable: true), PatientProfileCardModel( TranslationBase.of(context).patientSick, TranslationBase.of(context).leave, @@ -86,6 +126,13 @@ class ProfileGridForInPatient extends StatelessWidget { 'patient/patient_sick_leave.png', isInPatient: isInpatient, ), + PatientProfileCardModel( + "Operation", + "Report", + GET_OPERATION_REPORT, + 'patient/patient_sick_leave.png', + isInPatient: isInpatient, + ), ]; return Padding(