Merge branch 'development' of https://gitlab.com/Cloud_Solution/doctor_app_flutter into DAPP_99_soap_model

 Conflicts:
	lib/config/config.dart
merge-requests/984/head
Elham Rababh 4 years ago
commit 47352ae77d

@ -6,6 +6,9 @@ import 'package:doctor_app_flutter/screens/patient-sick-leave/patient_sick_leave
import 'package:doctor_app_flutter/screens/patients/ECGPage.dart';
import 'package:doctor_app_flutter/screens/patients/insurance_approval_screen_patient.dart';
import 'package:doctor_app_flutter/screens/patients/profile/admission-orders/admission_orders_screen.dart';
import 'package:doctor_app_flutter/screens/patients/profile/admission_request/admission_request_first_screen.dart';
import 'package:doctor_app_flutter/screens/patients/profile/admission_request/admission_request_second_screen.dart';
import 'package:doctor_app_flutter/screens/patients/profile/admission_request/admission_request_third_screen.dart';
import 'package:doctor_app_flutter/screens/patients/profile/diabetic_chart/diabetic_chart.dart';
import 'package:doctor_app_flutter/screens/patients/profile/diagnosis/diagnosis_screen.dart';
import 'package:doctor_app_flutter/screens/patients/profile/discharge_summary/discharge_summary.dart';
@ -27,14 +30,10 @@ import 'package:doctor_app_flutter/screens/patients/profile/vte_assessment/vte_a
import 'package:doctor_app_flutter/screens/prescription/new_prescriptions_page.dart';
import 'package:doctor_app_flutter/screens/prescription/old_prescriptions_page.dart';
import 'package:doctor_app_flutter/screens/procedures/procedure_screen.dart';
import './screens/auth/login_screen.dart';
import './screens/patients/profile/vital_sign/vital_sign_details_screen.dart';
import 'landing_page.dart';
import 'screens/patients/profile/UCAF/ucaf_pager_screen.dart';
import 'screens/patients/profile/admission-request/admission-request-first-screen.dart';
import 'screens/patients/profile/admission-request/admission-request-third-screen.dart';
import 'screens/patients/profile/admission-request/admission-request_second-screen.dart';
import 'screens/patients/profile/profile_screen/patient_profile_screen.dart';
import 'screens/patients/profile/referral/referral_details/my-referral-detail-screen.dart';
import 'screens/patients/profile/referral/refer_details/refer-patient-screen.dart';

@ -9,11 +9,12 @@ import 'package:doctor_app_flutter/core/model/patient/patiant_info_model.dart';
import 'package:doctor_app_flutter/screens/base/base_view.dart';
import 'package:doctor_app_flutter/utils/dr_app_toast_msg.dart';
import 'package:doctor_app_flutter/utils/translations_delegate_base_utils.dart';
import 'package:doctor_app_flutter/utils/utils.dart';
import 'package:doctor_app_flutter/widgets/bottom_sheet/custom_bottom_sheet_container.dart';
import 'package:doctor_app_flutter/widgets/patients/patient_service_title.dart';
import 'package:doctor_app_flutter/widgets/patients/profile/app_bar/patient-profile-app-bar.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:doctor_app_flutter/widgets/shared/buttons/app_buttons_widget.dart';
import 'package:doctor_app_flutter/widgets/shared/dialogs/dailog-list-select.dart';
import 'package:doctor_app_flutter/widgets/shared/loader/gif_loader_dialog_utils.dart';
import 'package:doctor_app_flutter/widgets/shared/text_fields/app-textfield-custom.dart';
@ -21,7 +22,6 @@ import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:hexcolor/hexcolor.dart';
import 'package:provider/provider.dart';
import '../../../../routes.dart';
class AdmissionRequestFirstScreen extends StatefulWidget {
@ -100,8 +100,7 @@ class _AdmissionRequestThirdScreenState
Padding(
padding: const EdgeInsets.all(5.0),
child: AppText(
TranslationBase.of(context)
.specialityAndDoctorDetail,
Utils.convertToTitleCase(TranslationBase.of(context).specialityAndDoctorDetail),
color: Color(0xFF2E303A),
fontSize: SizeConfig.textMultiplier * 1.8,
fontWeight: FontWeight.w700,
@ -360,6 +359,9 @@ class _AdmissionRequestThirdScreenState
validationError: surgicalHistoryError,
inputType: TextInputType.multiline,
),
SizedBox(
height: 100,
),
],
),
),
@ -367,106 +369,102 @@ class _AdmissionRequestThirdScreenState
),
),
),
Container(
margin: EdgeInsets.symmetric(horizontal: 16, vertical: 8),
child: AppButton(
title: TranslationBase.of(context).next,
color: HexColor("#D02127"),
onPressed: () async {
await locator<AnalyticsService>().logEvent(
eventCategory: "Admission Request First Screen",
eventAction: "Go To Admission Request Two",
);
model.admissionRequestData = AdmissionRequest();
if (_selectedClinic != null &&
_selectedDoctor != null &&
_sickLeaveCommentsController.text != "" &&
_postMedicalHistoryController.text != "" &&
_postSurgicalHistoryController.text != "") {
model.admissionRequestData.patientMRN =
patient.patientMRN;
model.admissionRequestData.appointmentNo =
patient.appointmentNo;
model.admissionRequestData.episodeID = patient.episodeNo;
model.admissionRequestData.admissionRequestNo = 0;
],
),
),
bottomSheet: CustomBottomSheetContainer(
label: "${TranslationBase.of(context).next}",
onTap: () async {
await locator<AnalyticsService>().logEvent(
eventCategory: "Admission Request First Screen",
eventAction: "Go To Admission Request Two",
);
model.admissionRequestData = AdmissionRequest();
if (_selectedClinic != null &&
_selectedDoctor != null &&
_sickLeaveCommentsController.text != "" &&
_postMedicalHistoryController.text != "" &&
_postSurgicalHistoryController.text != "") {
model.admissionRequestData.patientMRN =
patient.patientMRN;
model.admissionRequestData.appointmentNo =
patient.appointmentNo;
model.admissionRequestData.episodeID = patient.episodeNo;
model.admissionRequestData.admissionRequestNo = 0;
model.admissionRequestData.admitToClinic =
_selectedClinic['clinicID'];
model.admissionRequestData.mrpDoctorID =
_selectedDoctor['DoctorID'];
model.admissionRequestData.admitToClinic =
_selectedClinic['clinicID'];
model.admissionRequestData.mrpDoctorID =
_selectedDoctor['DoctorID'];
model.admissionRequestData.isPregnant = _patientPregnant;
model.admissionRequestData.isSickLeaveRequired =
_isSickLeaveRequired;
model.admissionRequestData.sickLeaveComments =
_sickLeaveCommentsController.text;
model.admissionRequestData.isDietType =
_selectedDietType != null ? true : false;
model.admissionRequestData.dietType =
_selectedDietType != null
? _selectedDietType['id']
: 0;
model.admissionRequestData.dietRemarks =
_dietTypeRemarksController.text;
model.admissionRequestData.pastMedicalHistory =
_postMedicalHistoryController.text;
model.admissionRequestData.pastSurgicalHistory =
_postSurgicalHistoryController.text;
Navigator.of(context)
.pushNamed(PATIENT_ADMISSION_REQUEST_2, arguments: {
'patient': patient,
'patientType': patientType,
'arrivalType': arrivalType,
'admission-data': model.admissionRequestData
});
} else {
DrAppToastMsg.showErrorToast(
TranslationBase.of(context).pleaseFill);
model.admissionRequestData.isPregnant = _patientPregnant;
model.admissionRequestData.isSickLeaveRequired =
_isSickLeaveRequired;
model.admissionRequestData.sickLeaveComments =
_sickLeaveCommentsController.text;
model.admissionRequestData.isDietType =
_selectedDietType != null ? true : false;
model.admissionRequestData.dietType =
_selectedDietType != null
? _selectedDietType['id']
: 0;
model.admissionRequestData.dietRemarks =
_dietTypeRemarksController.text;
model.admissionRequestData.pastMedicalHistory =
_postMedicalHistoryController.text;
model.admissionRequestData.pastSurgicalHistory =
_postSurgicalHistoryController.text;
Navigator.of(context)
.pushNamed(PATIENT_ADMISSION_REQUEST_2, arguments: {
'patient': patient,
'patientType': patientType,
'arrivalType': arrivalType,
'admission-data': model.admissionRequestData
});
} else {
DrAppToastMsg.showErrorToast(
TranslationBase.of(context).pleaseFill);
setState(() {
if (_selectedClinic == null) {
clinicError =
TranslationBase.of(context).fieldRequired;
} else {
clinicError = null;
}
if (_selectedDoctor == null) {
doctorError =
TranslationBase.of(context).fieldRequired;
} else {
doctorError = null;
}
if (_sickLeaveCommentsController.text == "") {
sickLeaveCommentError =
TranslationBase.of(context).fieldRequired;
} else {
sickLeaveCommentError = null;
}
if (_selectedDietType == null) {
dietTypeError =
TranslationBase.of(context).fieldRequired;
} else {
dietTypeError = null;
}
if (_postMedicalHistoryController.text == "") {
medicalHistoryError =
TranslationBase.of(context).fieldRequired;
} else {
medicalHistoryError = null;
}
if (_postSurgicalHistoryController.text == "") {
surgicalHistoryError =
TranslationBase.of(context).fieldRequired;
} else {
surgicalHistoryError = null;
}
});
}
},
),
),
],
),
setState(() {
if (_selectedClinic == null) {
clinicError =
TranslationBase.of(context).fieldRequired;
} else {
clinicError = null;
}
if (_selectedDoctor == null) {
doctorError =
TranslationBase.of(context).fieldRequired;
} else {
doctorError = null;
}
if (_sickLeaveCommentsController.text == "") {
sickLeaveCommentError =
TranslationBase.of(context).fieldRequired;
} else {
sickLeaveCommentError = null;
}
if (_selectedDietType == null) {
dietTypeError =
TranslationBase.of(context).fieldRequired;
} else {
dietTypeError = null;
}
if (_postMedicalHistoryController.text == "") {
medicalHistoryError =
TranslationBase.of(context).fieldRequired;
} else {
medicalHistoryError = null;
}
if (_postSurgicalHistoryController.text == "") {
surgicalHistoryError =
TranslationBase.of(context).fieldRequired;
} else {
surgicalHistoryError = null;
}
});
}
},
),
),
);

@ -12,6 +12,9 @@ import 'package:doctor_app_flutter/screens/base/base_view.dart';
import 'package:doctor_app_flutter/utils/date-utils.dart';
import 'package:doctor_app_flutter/utils/dr_app_toast_msg.dart';
import 'package:doctor_app_flutter/utils/translations_delegate_base_utils.dart';
import 'package:doctor_app_flutter/utils/utils.dart';
import 'package:doctor_app_flutter/widgets/bottom_sheet/bottom_sheet_container.dart';
import 'package:doctor_app_flutter/widgets/patients/patient_service_title.dart';
import 'package:doctor_app_flutter/widgets/patients/profile/app_bar/patient-profile-app-bar.dart';
import 'package:doctor_app_flutter/widgets/shared/app_scaffold_widget.dart';
import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart';
@ -92,25 +95,15 @@ class _AdmissionRequestSecondScreenState
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Container(
margin: EdgeInsets.all(16.0),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
AppText(
"${TranslationBase.of(context).admission}",
fontSize: SizeConfig.textMultiplier * 1.6,
fontWeight: FontWeight.w700,
color: Color(0xFF2E303A),
),
AppText(
TranslationBase.of(context).request,
fontSize: SizeConfig.textMultiplier * 3,
fontWeight: FontWeight.bold,
color: Color(0xFF2E303A),
)
],
),
SizedBox(
height: 15,
),
ServiceTitle(
title: "${TranslationBase.of(context).admission}",
subTitle: TranslationBase.of(context).request,
),
SizedBox(
height: 15,
),
Container(
margin:
@ -119,8 +112,8 @@ class _AdmissionRequestSecondScreenState
crossAxisAlignment: CrossAxisAlignment.start,
children: [
AppText(
TranslationBase.of(context)
.postPlansEstimatedCost,
Utils.convertToTitleCase(TranslationBase.of(context)
.postPlansEstimatedCost,),
color: Color(0xFF2E303A),
fontSize: SizeConfig.textMultiplier * 1.8,
fontWeight: FontWeight.w700,
@ -464,6 +457,9 @@ class _AdmissionRequestSecondScreenState
}
},
),
SizedBox(
height: 100,
),
],
),
),
@ -471,184 +467,187 @@ class _AdmissionRequestSecondScreenState
),
),
),
],
),
),
bottomSheet: BottomSheetContainer(
widget: Row(
children: [
Container(
margin: EdgeInsets.symmetric(horizontal: 16, vertical: 8),
child: Row(
children: [
Expanded(
child: AppButton(
title: TranslationBase.of(context).previous,
color: Color(0xffEAEAEA),
fontColor: Colors.black,
onPressed: () {
Navigator.pop(context);
},
),
),
SizedBox(
width: 10,
),
Expanded(
child: AppButton(
title: TranslationBase.of(context).next,
color: HexColor("#D02127"),
onPressed: () async {
await locator<AnalyticsService>().logEvent(
eventCategory: "Admission Request Second Screen",
eventAction: "Go To Admission Request Three",
);
if (_estimatedCostController.text != "" &&
_postPlansEstimatedCostController.text != "" &&
_expectedDaysController.text != "" &&
_expectedAdmissionDate != null &&
_otherDepartmentsInterventionsController.text !=
"" &&
_selectedFloor != null &&
_selectedRoomCategory !=
null /*_selectedWard is not required*/ &&
_treatmentLineController.text != "" &&
_complicationsController.text != "" &&
_otherProceduresController.text != "" &&
_selectedAdmissionType != null) {
model.admissionRequestData = admissionRequest;
width: MediaQuery.of(context).size.width * 0.4,
child: AppButton(
title: TranslationBase.of(context).previous,
color: HexColor('#EFEFEF'),
fontColor: Colors.black,
onPressed: () {
Navigator.pop(context);
},
),
),
SizedBox(
width: 10,
),
Container(
width: MediaQuery.of(context).size.width * 0.4,
child: AppButton(
title: TranslationBase.of(context).next,
color: AppGlobal.appRedColor,
fontColor: Colors.white,
onPressed: () async {
await locator<AnalyticsService>().logEvent(
eventCategory: "Admission Request Second Screen",
eventAction: "Go To Admission Request Three",
);
if (_estimatedCostController.text != "" &&
_postPlansEstimatedCostController.text != "" &&
_expectedDaysController.text != "" &&
_expectedAdmissionDate != null &&
_otherDepartmentsInterventionsController.text !=
"" &&
_selectedFloor != null &&
_selectedRoomCategory !=
null /*_selectedWard is not required*/ &&
_treatmentLineController.text != "" &&
_complicationsController.text != "" &&
_otherProceduresController.text != "" &&
_selectedAdmissionType != null) {
model.admissionRequestData = admissionRequest;
model.admissionRequestData.estimatedCost =
int.parse(_estimatedCostController.text);
model.admissionRequestData
.elementsForImprovement =
_postPlansEstimatedCostController.text;
model.admissionRequestData.estimatedCost =
int.parse(_estimatedCostController.text);
model.admissionRequestData
.elementsForImprovement =
_postPlansEstimatedCostController.text;
model.admissionRequestData.expectedDays =
int.parse(_expectedDaysController.text);
model.admissionRequestData.admissionDate =
_expectedAdmissionDate.toIso8601String();
model.admissionRequestData
.otherDepartmentInterventions =
_otherDepartmentsInterventionsController.text;
model.admissionRequestData.admissionLocationID =
_selectedFloor['floorID'];
model.admissionRequestData.wardID =
_selectedWard != null
? _selectedWard['nursingStationID']
: 0;
model.admissionRequestData.roomCategoryID =
_selectedRoomCategory['categoryID'];
model.admissionRequestData.expectedDays =
int.parse(_expectedDaysController.text);
model.admissionRequestData.admissionDate =
_expectedAdmissionDate.toIso8601String();
model.admissionRequestData
.otherDepartmentInterventions =
_otherDepartmentsInterventionsController.text;
model.admissionRequestData.admissionLocationID =
_selectedFloor['floorID'];
model.admissionRequestData.wardID =
_selectedWard != null
? _selectedWard['nursingStationID']
: 0;
model.admissionRequestData.roomCategoryID =
_selectedRoomCategory['categoryID'];
model.admissionRequestData
.admissionRequestProcedures = [];
model.admissionRequestData
.admissionRequestProcedures = [];
model.admissionRequestData.mainLineOfTreatment =
_treatmentLineController.text;
model.admissionRequestData.complications =
_complicationsController.text;
model.admissionRequestData.otherProcedures =
_otherProceduresController.text;
model.admissionRequestData.admissionType =
_selectedAdmissionType['id'];
model.admissionRequestData.mainLineOfTreatment =
_treatmentLineController.text;
model.admissionRequestData.complications =
_complicationsController.text;
model.admissionRequestData.otherProcedures =
_otherProceduresController.text;
model.admissionRequestData.admissionType =
_selectedAdmissionType['id'];
Navigator.of(context).pushNamed(
PATIENT_ADMISSION_REQUEST_3,
arguments: {
'patient': patient,
'patientType': patientType,
'arrivalType': arrivalType,
'admission-data': model.admissionRequestData
});
} else {
DrAppToastMsg.showErrorToast(
TranslationBase.of(context).pleaseFill);
Navigator.of(context).pushNamed(
PATIENT_ADMISSION_REQUEST_3,
arguments: {
'patient': patient,
'patientType': patientType,
'arrivalType': arrivalType,
'admission-data': model.admissionRequestData
});
} else {
DrAppToastMsg.showErrorToast(
TranslationBase.of(context).pleaseFill);
setState(() {
if (_estimatedCostController.text == "") {
costError =
TranslationBase.of(context).fieldRequired;
} else {
costError = null;
}
setState(() {
if (_estimatedCostController.text == "") {
costError =
TranslationBase.of(context).fieldRequired;
} else {
costError = null;
}
if (_postPlansEstimatedCostController.text ==
"") {
plansError =
TranslationBase.of(context).fieldRequired;
} else {
plansError = null;
}
if (_postPlansEstimatedCostController.text ==
"") {
plansError =
TranslationBase.of(context).fieldRequired;
} else {
plansError = null;
}
if (_expectedDaysController.text == "") {
expectedDaysError =
TranslationBase.of(context).fieldRequired;
} else {
expectedDaysError = null;
}
if (_expectedDaysController.text == "") {
expectedDaysError =
TranslationBase.of(context).fieldRequired;
} else {
expectedDaysError = null;
}
if (_expectedAdmissionDate == null) {
expectedDatesError =
TranslationBase.of(context).fieldRequired;
} else {
expectedDatesError = null;
}
if (_expectedAdmissionDate == null) {
expectedDatesError =
TranslationBase.of(context).fieldRequired;
} else {
expectedDatesError = null;
}
if (_otherDepartmentsInterventionsController
.text ==
"") {
otherInterventionsError =
TranslationBase.of(context).fieldRequired;
} else {
otherInterventionsError = null;
}
if (_otherDepartmentsInterventionsController
.text ==
"") {
otherInterventionsError =
TranslationBase.of(context).fieldRequired;
} else {
otherInterventionsError = null;
}
if (_selectedFloor == null) {
floorError =
TranslationBase.of(context).fieldRequired;
} else {
floorError = null;
}
if (_selectedFloor == null) {
floorError =
TranslationBase.of(context).fieldRequired;
} else {
floorError = null;
}
if (_selectedRoomCategory == null) {
roomError =
TranslationBase.of(context).fieldRequired;
} else {
roomError = null;
}
if (_selectedRoomCategory == null) {
roomError =
TranslationBase.of(context).fieldRequired;
} else {
roomError = null;
}
if (_treatmentLineController.text == "") {
treatmentsError =
TranslationBase.of(context).fieldRequired;
} else {
treatmentsError = null;
}
if (_treatmentLineController.text == "") {
treatmentsError =
TranslationBase.of(context).fieldRequired;
} else {
treatmentsError = null;
}
if (_complicationsController.text == "") {
complicationsError =
TranslationBase.of(context).fieldRequired;
} else {
complicationsError = null;
}
if (_complicationsController.text == "") {
complicationsError =
TranslationBase.of(context).fieldRequired;
} else {
complicationsError = null;
}
if (_otherProceduresController.text == "") {
proceduresError =
TranslationBase.of(context).fieldRequired;
} else {
proceduresError = null;
}
if (_otherProceduresController.text == "") {
proceduresError =
TranslationBase.of(context).fieldRequired;
} else {
proceduresError = null;
}
if (_selectedAdmissionType == null) {
admissionTypeError =
TranslationBase.of(context).fieldRequired;
} else {
admissionTypeError = null;
}
});
}
},
),
),
],
if (_selectedAdmissionType == null) {
admissionTypeError =
TranslationBase.of(context).fieldRequired;
} else {
admissionTypeError = null;
}
});
}
},
),
),
],
),
)),
)
),
),
);
}

@ -10,6 +10,8 @@ import 'package:doctor_app_flutter/core/model/patient/patiant_info_model.dart';
import 'package:doctor_app_flutter/screens/base/base_view.dart';
import 'package:doctor_app_flutter/utils/dr_app_toast_msg.dart';
import 'package:doctor_app_flutter/utils/translations_delegate_base_utils.dart';
import 'package:doctor_app_flutter/widgets/bottom_sheet/bottom_sheet_container.dart';
import 'package:doctor_app_flutter/widgets/patients/patient_service_title.dart';
import 'package:doctor_app_flutter/widgets/patients/profile/app_bar/patient-profile-app-bar.dart';
import 'package:doctor_app_flutter/widgets/shared/app_scaffold_widget.dart';
import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart';
@ -43,8 +45,6 @@ class _AdmissionRequestThirdScreenState
Widget build(BuildContext context) {
final routeArgs = ModalRoute.of(context).settings.arguments as Map;
PatiantInformtion patient = routeArgs['patient'];
String patientType = routeArgs['patientType'];
String arrivalType = routeArgs['arrivalType'];
AdmissionRequest admissionRequest = routeArgs['admission-data'];
final screenSize = MediaQuery.of(context).size;
@ -70,25 +70,15 @@ class _AdmissionRequestThirdScreenState
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Container(
margin: EdgeInsets.all(16.0),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
AppText(
"${TranslationBase.of(context).admission}",
fontSize: SizeConfig.textMultiplier * 1.6,
fontWeight: FontWeight.w700,
color: Color(0xFF2E303A),
),
AppText(
TranslationBase.of(context).request,
fontSize: SizeConfig.textMultiplier * 3,
fontWeight: FontWeight.bold,
color: Color(0xFF2E303A),
)
],
),
SizedBox(
height: 15,
),
ServiceTitle(
title: "${TranslationBase.of(context).admission}",
subTitle: TranslationBase.of(context).request,
),
SizedBox(
height: 15,
),
Container(
margin: EdgeInsets.symmetric(vertical: 0, horizontal: 16),
@ -352,6 +342,96 @@ class _AdmissionRequestThirdScreenState
],
),
),
bottomSheet: BottomSheetContainer(
widget: Row(
children: [
Container(
width: MediaQuery.of(context).size.width * 0.4,
child: AppButton(
title: TranslationBase.of(context).previous,
color: HexColor("#EAEAEA"),
fontColor: Colors.black,
onPressed: () {
Navigator.pop(context);
},
),
),
SizedBox(width: 10,),
Container(
width: MediaQuery.of(context).size.width * 0.4,
child: AppButton(
title: TranslationBase.of(context).submit,
color: HexColor("#359846"),
onPressed: () async {
await locator<AnalyticsService>().logEvent(
eventCategory: "Admission Request Third Screen",
eventAction: "Submit Admission Request",
);
if (_selectedDiagnosis != null &&
_selectedIcd != null &&
_selectedDiagnosisType != null) {
model.admissionRequestData = admissionRequest;
dynamic admissionRequestDiagnoses = [
{
'diagnosisDescription':
_selectedDiagnosis['nameEn'],
'diagnosisType': _selectedDiagnosis['id'],
'icdCode': _selectedIcd['code'],
'icdCodeDescription':
_selectedIcd['description'],
'type': _selectedDiagnosisType['code'],
'remarks': "",
'isActive': true,
}
];
model.admissionRequestData
.admissionRequestDiagnoses =
admissionRequestDiagnoses;
await model.makeAdmissionRequest();
if (model.state == ViewState.ErrorLocal) {
DrAppToastMsg.showErrorToast(model.error);
} else {
DrAppToastMsg.showSuccesToast(
TranslationBase.of(context)
.admissionRequestSuccessMsg);
Navigator.popUntil(context,
ModalRoute.withName(PATIENTS_PROFILE));
}
} else {
DrAppToastMsg.showErrorToast(
TranslationBase.of(context).pleaseFill);
setState(() {
if (_selectedDiagnosis == null) {
diagnosisError =
TranslationBase.of(context).fieldRequired;
} else {
diagnosisError = null;
}
if (_selectedIcd == null) {
icdError =
TranslationBase.of(context).fieldRequired;
} else {
icdError = null;
}
if (_selectedDiagnosisType == null) {
diagnosisTypeError =
TranslationBase.of(context).fieldRequired;
} else {
diagnosisTypeError = null;
}
});
}
},
),
),
],
)
),
),
);
}

@ -6,10 +6,10 @@ import 'package:doctor_app_flutter/core/viewModel/patient-referral-viewmodel.dar
import 'package:doctor_app_flutter/icons_app/doctor_app_icons.dart';
import 'package:doctor_app_flutter/core/model/patient/patiant_info_model.dart';
import 'package:doctor_app_flutter/screens/base/base_view.dart';
import 'package:doctor_app_flutter/screens/patients/profile/soap_update/shared_soap_widgets/bottom_sheet_dialog_button.dart';
import 'package:doctor_app_flutter/utils/date-utils.dart';
import 'package:doctor_app_flutter/utils/dr_app_toast_msg.dart';
import 'package:doctor_app_flutter/utils/translations_delegate_base_utils.dart';
import 'package:doctor_app_flutter/widgets/bottom_sheet/custom_bottom_sheet_container.dart';
import 'package:doctor_app_flutter/widgets/patients/profile/app_bar/patient-profile-app-bar.dart';
import 'package:doctor_app_flutter/widgets/patients/patient_service_title.dart';
import 'package:doctor_app_flutter/widgets/shared/app_scaffold_widget.dart';
@ -567,7 +567,7 @@ class _PatientMakeInPatientReferralScreenState extends State<PatientMakeInPatien
? Container(
height: 0,
)
:BottomSheetDialogButton(
:CustomBottomSheetContainer(
label: "${TranslationBase.of(context).refer}",
onTap: () async {
setState(() {

@ -1,27 +1,22 @@
import 'package:doctor_app_flutter/config/size_config.dart';
import 'package:doctor_app_flutter/core/enum/viewstate.dart';
import 'package:doctor_app_flutter/core/service/AnalyticsService.dart';
import 'package:doctor_app_flutter/core/viewModel/patient-referral-viewmodel.dart';
import 'package:doctor_app_flutter/locator.dart';
import 'package:doctor_app_flutter/core/model/patient/patiant_info_model.dart';
import 'package:doctor_app_flutter/screens/base/base_view.dart';
import 'package:doctor_app_flutter/screens/patients/profile/soap_update/shared_soap_widgets/bottom_sheet_dialog_button.dart';
import 'package:doctor_app_flutter/utils/date-utils.dart';
import 'package:doctor_app_flutter/utils/dr_app_toast_msg.dart';
import 'package:doctor_app_flutter/utils/utils.dart';
import 'package:doctor_app_flutter/utils/translations_delegate_base_utils.dart';
import 'package:doctor_app_flutter/widgets/bottom_sheet/custom_bottom_sheet_container.dart';
import 'package:doctor_app_flutter/widgets/patients/patient-referral-item-widget.dart';
import 'package:doctor_app_flutter/widgets/patients/patient_service_title.dart';
import 'package:doctor_app_flutter/widgets/patients/profile/app_bar/patient-profile-app-bar.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:doctor_app_flutter/widgets/shared/buttons/app_buttons_widget.dart';
import 'package:doctor_app_flutter/widgets/shared/dialogs/dailog-list-select.dart';
import 'package:doctor_app_flutter/widgets/shared/loader/gif_loader_dialog_utils.dart';
import 'package:doctor_app_flutter/widgets/shared/text_fields/app-textfield-custom.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:hexcolor/hexcolor.dart';
class PatientMakeReferralScreen extends StatefulWidget {
// previous design page is: ReferPatientScreen
@ -159,7 +154,7 @@ class _PatientMakeReferralScreenState extends State<PatientMakeReferralScreen> {
],
),
if (model.patientReferral.length == 0)
BottomSheetDialogButton(
CustomBottomSheetContainer(
label: "${TranslationBase.of(context).refer}",
onTap: () async {
await locator<AnalyticsService>().logEvent(

@ -11,10 +11,10 @@ import 'package:doctor_app_flutter/core/model/SOAP/selected_items/my_selected_as
import 'package:doctor_app_flutter/core/model/doctor/doctor_profile_model.dart';
import 'package:doctor_app_flutter/core/model/patient/patiant_info_model.dart';
import 'package:doctor_app_flutter/screens/base/base_view.dart';
import 'package:doctor_app_flutter/screens/patients/profile/soap_update/shared_soap_widgets/bottom_sheet_dialog_button.dart';
import 'package:doctor_app_flutter/screens/patients/profile/soap_update/shared_soap_widgets/bottom_sheet_title.dart';
import 'package:doctor_app_flutter/utils/utils.dart';
import 'package:doctor_app_flutter/utils/translations_delegate_base_utils.dart';
import 'package:doctor_app_flutter/widgets/bottom_sheet/custom_bottom_sheet_container.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:doctor_app_flutter/widgets/shared/dialogs/master_key_dailog.dart';
@ -399,7 +399,7 @@ class _AddAssessmentDetailsState extends State<AddAssessmentDetails> {
? Container(
height: 0,
)
: BottomSheetDialogButton(
: CustomBottomSheetContainer(
label: (widget.isUpdate
? 'Update Assessment Details'
: 'Add Assessment Details'),

@ -4,9 +4,9 @@ import 'package:doctor_app_flutter/core/viewModel/SOAP_view_model.dart';
import 'package:doctor_app_flutter/core/model/SOAP/master_key_model.dart';
import 'package:doctor_app_flutter/core/model/SOAP/selected_items/my_selected_examination.dart';
import 'package:doctor_app_flutter/screens/base/base_view.dart';
import 'package:doctor_app_flutter/screens/patients/profile/soap_update/shared_soap_widgets/bottom_sheet_dialog_button.dart';
import 'package:doctor_app_flutter/screens/patients/profile/soap_update/shared_soap_widgets/bottom_sheet_title.dart';
import 'package:doctor_app_flutter/utils/translations_delegate_base_utils.dart';
import 'package:doctor_app_flutter/widgets/bottom_sheet/custom_bottom_sheet_container.dart';
import 'package:doctor_app_flutter/widgets/shared/app_scaffold_widget.dart';
import 'package:flutter/material.dart';
@ -102,7 +102,7 @@ class _AddExaminationPageState extends State<AddExaminationPage> {
? Container(
height: 0,
)
: BottomSheetDialogButton(
: CustomBottomSheetContainer(
label: "${TranslationBase.of(context).addExamination}",
onTap: () {
widget

@ -5,9 +5,9 @@ import 'package:doctor_app_flutter/core/viewModel/SOAP_view_model.dart';
import 'package:doctor_app_flutter/core/model/SOAP/master_key_model.dart';
import 'package:doctor_app_flutter/core/model/SOAP/selected_items/my_selected_allergy.dart';
import 'package:doctor_app_flutter/screens/base/base_view.dart';
import 'package:doctor_app_flutter/screens/patients/profile/soap_update/shared_soap_widgets/bottom_sheet_dialog_button.dart';
import 'package:doctor_app_flutter/utils/utils.dart';
import 'package:doctor_app_flutter/utils/translations_delegate_base_utils.dart';
import 'package:doctor_app_flutter/widgets/bottom_sheet/custom_bottom_sheet_container.dart';
import 'package:doctor_app_flutter/widgets/shared/app_scaffold_widget.dart';
import 'package:doctor_app_flutter/widgets/shared/network_base_view.dart';
import 'package:flutter/material.dart';
@ -118,7 +118,7 @@ class _AddAllergiesState extends State<AddAllergies> {
? Container(
height: 0,
)
: BottomSheetDialogButton(
: CustomBottomSheetContainer(
label: TranslationBase.of(context).addAllergies,
onTap: () {
setState(() {

@ -4,9 +4,9 @@ import 'package:doctor_app_flutter/core/viewModel/SOAP_view_model.dart';
import 'package:doctor_app_flutter/core/model/SOAP/master_key_model.dart';
import 'package:doctor_app_flutter/core/model/SOAP/selected_items/my_selected_history.dart';
import 'package:doctor_app_flutter/screens/base/base_view.dart';
import 'package:doctor_app_flutter/screens/patients/profile/soap_update/shared_soap_widgets/bottom_sheet_dialog_button.dart';
import 'package:doctor_app_flutter/screens/patients/profile/soap_update/soap_utils.dart';
import 'package:doctor_app_flutter/utils/translations_delegate_base_utils.dart';
import 'package:doctor_app_flutter/widgets/bottom_sheet/custom_bottom_sheet_container.dart';
import 'package:doctor_app_flutter/widgets/shared/app_scaffold_widget.dart';
import 'package:doctor_app_flutter/widgets/shared/master_key_checkbox_search_widget.dart';
import 'package:doctor_app_flutter/widgets/shared/network_base_view.dart';
@ -165,7 +165,7 @@ class _AddHistoryDialogState extends State<AddHistoryDialog> {
? Container(
height: 0,
)
: BottomSheetDialogButton(
: CustomBottomSheetContainer(
label: TranslationBase.of(context).addSelectedHistories,
onTap: () {
widget.addSelectedHistories();

@ -7,9 +7,9 @@ import 'package:doctor_app_flutter/core/viewModel/SOAP_view_model.dart';
import 'package:doctor_app_flutter/core/viewModel/project_view_model.dart';
import 'package:doctor_app_flutter/core/model/SOAP/master_key_model.dart';
import 'package:doctor_app_flutter/screens/base/base_view.dart';
import 'package:doctor_app_flutter/screens/patients/profile/soap_update/shared_soap_widgets/bottom_sheet_dialog_button.dart';
import 'package:doctor_app_flutter/utils/utils.dart';
import 'package:doctor_app_flutter/utils/translations_delegate_base_utils.dart';
import 'package:doctor_app_flutter/widgets/bottom_sheet/custom_bottom_sheet_container.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:doctor_app_flutter/widgets/shared/dialogs/master_key_dailog.dart';
@ -424,7 +424,7 @@ class _AddMedicationState extends State<AddMedication> {
? Container(
height: 0,
)
: BottomSheetDialogButton(
: CustomBottomSheetContainer(
label: TranslationBase.of(context).addMedication,
onTap: () {
setState(() {

@ -5,11 +5,11 @@ import 'package:doctor_app_flutter/core/model/patient/patiant_info_model.dart';
import 'package:doctor_app_flutter/core/model/search_drug/get_medication_response_model.dart';
import 'package:doctor_app_flutter/core/viewModel/medicine_view_model.dart';
import 'package:doctor_app_flutter/core/viewModel/prescription/prescription_view_model.dart';
import 'package:doctor_app_flutter/screens/patients/profile/soap_update/shared_soap_widgets/bottom_sheet_dialog_button.dart';
import 'package:doctor_app_flutter/screens/patients/profile/soap_update/shared_soap_widgets/bottom_sheet_title.dart';
import 'package:doctor_app_flutter/utils/dr_app_toast_msg.dart';
import 'package:doctor_app_flutter/utils/utils.dart';
import 'package:doctor_app_flutter/utils/translations_delegate_base_utils.dart';
import 'package:doctor_app_flutter/widgets/bottom_sheet/custom_bottom_sheet_container.dart';
import 'package:doctor_app_flutter/widgets/shared/app_scaffold_widget.dart';
import 'package:doctor_app_flutter/widgets/shared/loader/gif_loader_dialog_utils.dart';
import 'package:flutter/cupertino.dart';
@ -84,7 +84,7 @@ class _AddDrugWidgetState extends State<AddDrugWidget> {
? Container(
height: 0,
)
: BottomSheetDialogButton(
: CustomBottomSheetContainer(
label: TranslationBase.of(context).addMedication,
onTap: () async {
GifLoaderDialogUtils.showMyDialog(context);

@ -1,4 +1,3 @@
import 'package:doctor_app_flutter/config/size_config.dart';
import 'package:doctor_app_flutter/core/model/procedure/procedure_template_details_model.dart';
import 'package:doctor_app_flutter/core/viewModel/prescription/prescription_view_model.dart';
import 'package:doctor_app_flutter/core/viewModel/procedure_View_model.dart';
@ -9,12 +8,11 @@ import 'package:doctor_app_flutter/screens/procedures/entity_list_fav_procedure.
import 'package:doctor_app_flutter/screens/procedures/procedure_checkout_screen.dart';
import 'package:doctor_app_flutter/utils/dr_app_toast_msg.dart';
import 'package:doctor_app_flutter/utils/translations_delegate_base_utils.dart';
import 'package:doctor_app_flutter/widgets/bottom_sheet/custom_bottom_sheet_container.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:doctor_app_flutter/widgets/shared/errors/error_message.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import '../patients/profile/soap_update/shared_soap_widgets/bottom_sheet_dialog_button.dart';
import 'ProcedureType.dart';
class AddFavouriteProcedure extends StatefulWidget {
@ -83,7 +81,7 @@ class _AddFavouriteProcedureState extends State<AddFavouriteProcedure> {
.youDoNotHaveFavoritePrescription,
),
]),
bottomSheet: BottomSheetDialogButton(
bottomSheet: CustomBottomSheetContainer(
label: widget.procedureType.getAddButtonTitle(context) ??
TranslationBase.of(context).addSelectedProcedures,
onTap: () async {

@ -0,0 +1,47 @@
import 'package:doctor_app_flutter/config/size_config.dart';
import 'package:flutter/material.dart';
import 'package:hexcolor/hexcolor.dart';
class BottomSheetContainer extends StatelessWidget {
final Function onTap;
final String label;
final Widget widget;
double headerHeight = SizeConfig.heightMultiplier * 12;
BottomSheetContainer({Key key, this.onTap, this.label, this.widget}) : super(key: key);
@override
Widget build(BuildContext context) {
return Container(
decoration: BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.all(
Radius.circular(0.0),
),
border: Border.all(color: HexColor('#EFEFEF'), width: 1),
),
height: headerHeight,
width: double.infinity,
child: Column(
children: [
Container(
margin: EdgeInsets.only(
top: headerHeight * (SizeConfig.isWidthLarge ? 0.3 : 0.2), left: SizeConfig.heightMultiplier*4.5
),
child: Center(
child: Row(
children: [
widget,
],
)
),
),
SizedBox(
height: 5,
),
],
),
);
}
}

@ -3,15 +3,15 @@ import 'package:doctor_app_flutter/widgets/shared/buttons/app_buttons_widget.dar
import 'package:flutter/material.dart';
import 'package:hexcolor/hexcolor.dart';
import '../../../../../config/config.dart';
import '../../config/config.dart';
class BottomSheetDialogButton extends StatelessWidget {
class CustomBottomSheetContainer extends StatelessWidget {
final Function onTap;
final String label;
double headerHeight = SizeConfig.heightMultiplier * 12;
BottomSheetDialogButton({Key key, this.onTap, this.label}) : super(key: key);
CustomBottomSheetContainer({Key key, this.onTap, this.label}) : super(key: key);
@override
Widget build(BuildContext context) {

@ -1,5 +1,6 @@
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/utils/utils.dart';
import 'package:doctor_app_flutter/widgets/shared/text_fields/text_field_error.dart';
import 'package:doctor_app_flutter/widgets/shared/text_fields/text_fields_utils.dart';
import 'package:flutter/material.dart';
@ -183,7 +184,7 @@ class _AppTextFieldCustomState extends State<AppTextFieldCustom> {
obscureText: widget.isSecure),
)
: AppText(
widget.dropDownText,
Utils.convertToTitleCase(widget.dropDownText),
fontFamily: 'Poppins',
color: Color(0xFF575757),
fontSize: SizeConfig.textMultiplier * 1.7,

Loading…
Cancel
Save