diff --git a/lib/config/localized_values.dart b/lib/config/localized_values.dart index 31c15e11..e9b01caf 100644 --- a/lib/config/localized_values.dart +++ b/lib/config/localized_values.dart @@ -433,4 +433,5 @@ const Map> localizedValues = { 'selectSeverity': {'en': "Select Severity", 'ar':"أختر الدرجه" }, 'medications': {'en': "Medications", 'ar':"الأدوية" }, 'procedures': {'en': "Procedures", 'ar':"الإجراءات" }, + 'vitalSignEmptyMsg': {'en': "There is no vital signs for this patient", 'ar':"لا توجد علامات حيوية لهذا المريض" }, }; diff --git a/lib/core/service/patient-vital-signs-service.dart b/lib/core/service/patient-vital-signs-service.dart index d508fec6..31c8721d 100644 --- a/lib/core/service/patient-vital-signs-service.dart +++ b/lib/core/service/patient-vital-signs-service.dart @@ -1,6 +1,7 @@ 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/patient/PatientArrivalEntity.dart'; +import 'package:doctor_app_flutter/models/patient/patiant_info_model.dart'; import 'package:doctor_app_flutter/models/patient/vital_sign/patient-vital-sign-data.dart'; import 'package:doctor_app_flutter/models/patient/vital_sign/vital_sign_res_model.dart'; @@ -46,18 +47,18 @@ class VitalSignsService extends BaseService{ ); } // Vit*/ - Future getPatientVitalSign(PatientArrivalEntity patientArrivalEntity) async { + Future getPatientVitalSign(PatiantInformtion patient) async { hasError = false; Map body = Map(); - body['PatientMRN'] = patientArrivalEntity.patientMRN; - body['AppointmentNo'] = patientArrivalEntity.appointmentNo; - body['EpisodeID'] = patientArrivalEntity.episodeNo; + body['PatientMRN'] = patient.patientMRN; + body['AppointmentNo'] = patient.appointmentNo; + body['EpisodeID'] = patient.episodeNo; await baseAppClient.post( GET_PATIENT_VITAL_SIGN_DATA, onSuccess: (dynamic response, int statusCode) { if(response['VitalSignsList'] != null){ - if(response['VitalSignsList']['entityList'] = null && (response['VitalSignsList']['entityList'] as List).length > 0){ + if(response['VitalSignsList']['entityList'] != null && (response['VitalSignsList']['entityList'] as List).length > 0){ patientVitalSigns = VitalSignData.fromJson(response['VitalSignsList']['entityList']['0']); } } diff --git a/lib/core/viewModel/patient-vital-sign-viewmodel.dart b/lib/core/viewModel/patient-vital-sign-viewmodel.dart index e58ad089..f53def7b 100644 --- a/lib/core/viewModel/patient-vital-sign-viewmodel.dart +++ b/lib/core/viewModel/patient-vital-sign-viewmodel.dart @@ -16,17 +16,17 @@ class VitalSignsViewModel extends BaseViewModel { VitalSignData get patientVitalSigns => _vitalSignService.patientVitalSigns; - Future getPatientArrivalList(String date, PatiantInformtion patient, + /*Future getPatientArrivalList(String date, PatiantInformtion patient, {String fromDate}) async { // TODO when arrival list work un comment below lines - /* setState(ViewState.Busy); + *//* setState(ViewState.Busy); await _vitalSignService.getPatientArrivalList(date, fromDate: fromDate); if (_vitalSignService.hasError) { error = _vitalSignService.error; setState(ViewState.Error); } else { await getPatientVitalSign(patient); - }*/ + }*//* makeVitalSignDemoData(); } @@ -43,27 +43,18 @@ class VitalSignsViewModel extends BaseViewModel { // print("patient index: $index"); } return null; - } + }*/ Future getPatientVitalSign(PatiantInformtion patient) async { setState(ViewState.Busy); - PatientArrivalEntity patientArrivalEntity = - getPatientAppointmentEntity(patient); - if (patientArrivalEntity == null) { - _vitalSignService.hasError = true; - error = "There is no appointments for this patient"; - setState(ViewState.Error); - return; - } - await _vitalSignService.getPatientVitalSign(patientArrivalEntity); - // TODO remove (not) from below condition - if (!_vitalSignService.hasError) { + await _vitalSignService.getPatientVitalSign(patient); + if (_vitalSignService.hasError) { error = _vitalSignService.error; setState(ViewState.Error); } else { - if (patientVitalSigns == null) { - makeVitalSignDemoData(); - } + // if (patientVitalSigns == null) { + // makeVitalSignDemoData(); + // } setState(ViewState.Idle); } } diff --git a/lib/screens/patients/profile/vital_sign/vital-signs-screen.dart b/lib/screens/patients/profile/vital_sign/vital-signs-screen.dart index 107e2e6b..c66555c1 100644 --- a/lib/screens/patients/profile/vital_sign/vital-signs-screen.dart +++ b/lib/screens/patients/profile/vital_sign/vital-signs-screen.dart @@ -11,6 +11,7 @@ import 'package:doctor_app_flutter/widgets/shared/app_scaffold_widget.dart'; import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart'; import 'package:doctor_app_flutter/widgets/shared/expandable-widget-header-body.dart'; import 'package:flutter/material.dart'; +import 'package:hexcolor/hexcolor.dart'; class PatientVitalSignScreen extends StatelessWidget { @override @@ -19,10 +20,7 @@ class PatientVitalSignScreen extends StatelessWidget { PatiantInformtion patient = routeArgs['patient']; return BaseView( - onModelReady: (model) => model.getPatientArrivalList( - DateUtils.convertDateToFormat(DateTime.now(), "yyyy-MM-dd"), patient, - fromDate: DateUtils.convertDateToFormat( - DateTime.now().subtract(Duration(days: 500)), "yyyy-MM-dd")), + onModelReady: (model) => model.getPatientVitalSign(patient), builder: (_, model, w) => AppScaffold( baseViewModel: model, appBarTitle: TranslationBase.of(context).vitalSign, @@ -213,10 +211,12 @@ class PatientVitalSignScreen extends StatelessWidget { Container( color: Colors.green, child: Padding( - padding: EdgeInsets.symmetric(vertical: 2, horizontal: 8), + padding: EdgeInsets.symmetric( + vertical: 2, horizontal: 8), child: AppText( "${model.getBMI(model.patientVitalSigns.bodyMassIndex)}", - fontSize: SizeConfig.textMultiplier * 2, + fontSize: + SizeConfig.textMultiplier * 2, color: Colors.white, fontWeight: FontWeight.bold, ), @@ -357,7 +357,14 @@ class PatientVitalSignScreen extends StatelessWidget { ), ), ) - : Container(), + : Center( + child: AppText( + "${TranslationBase.of(context).vitalSignEmptyMsg}", + fontSize: SizeConfig.textMultiplier * 2.5, + color: HexColor("#B8382B"), + fontWeight: FontWeight.normal, + ), + ), ), ); } @@ -485,7 +492,6 @@ class _TemperatureWidgetState extends State { } class PulseWidget extends StatefulWidget { - final VitalSignData vitalSign; PulseWidget(this.vitalSign); @@ -496,6 +502,7 @@ class PulseWidget extends StatefulWidget { class _PulseWidgetState extends State { bool isExpand = false; + @override Widget build(BuildContext context) { return Container( @@ -578,7 +585,6 @@ class _PulseWidgetState extends State { } class RespirationWidget extends StatefulWidget { - final VitalSignData vitalSign; RespirationWidget(this.vitalSign); @@ -672,7 +678,6 @@ class _RespirationWidgetState extends State { } class BloodPressureWidget extends StatefulWidget { - final VitalSignData vitalSign; BloodPressureWidget(this.vitalSign); @@ -812,7 +817,6 @@ class _BloodPressureWidgetState extends State { } class OxygenationWidget extends StatefulWidget { - final VitalSignData vitalSign; OxygenationWidget(this.vitalSign); @@ -906,7 +910,6 @@ class _OxygenationWidgetState extends State { } class PainScaleWidget extends StatefulWidget { - final VitalSignData vitalSign; PainScaleWidget(this.vitalSign); @@ -998,8 +1001,3 @@ class _PainScaleWidgetState extends State { ); } } - - - - - diff --git a/lib/util/translations_delegate_base.dart b/lib/util/translations_delegate_base.dart index e4243035..3b1950db 100644 --- a/lib/util/translations_delegate_base.dart +++ b/lib/util/translations_delegate_base.dart @@ -472,6 +472,7 @@ class TranslationBase { String get itemExist => localizedValues['itemExist'][locale.languageCode]; String get selectAllergy => localizedValues['selectAllergy'][locale.languageCode]; String get selectSeverity => localizedValues['selectSeverity'][locale.languageCode]; + String get vitalSignEmptyMsg => localizedValues['vitalSignEmptyMsg'][locale.languageCode]; } class TranslationBaseDelegate extends LocalizationsDelegate {