|
|
|
|
@ -9,6 +9,7 @@ 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/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';
|
|
|
|
|
@ -23,6 +24,7 @@ import 'package:hexcolor/hexcolor.dart';
|
|
|
|
|
import 'package:provider/provider.dart';
|
|
|
|
|
|
|
|
|
|
import '../../../../routes.dart';
|
|
|
|
|
import '../soap_update/shared_soap_widgets/bottom_sheet_dialog_button.dart';
|
|
|
|
|
|
|
|
|
|
class AdmissionRequestFirstScreen extends StatefulWidget {
|
|
|
|
|
@override
|
|
|
|
|
@ -100,8 +102,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 +361,9 @@ class _AdmissionRequestThirdScreenState
|
|
|
|
|
validationError: surgicalHistoryError,
|
|
|
|
|
inputType: TextInputType.multiline,
|
|
|
|
|
),
|
|
|
|
|
SizedBox(
|
|
|
|
|
height: 100,
|
|
|
|
|
),
|
|
|
|
|
],
|
|
|
|
|
),
|
|
|
|
|
),
|
|
|
|
|
@ -367,106 +371,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: BottomSheetDialogButton(
|
|
|
|
|
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;
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
),
|
|
|
|
|
),
|
|
|
|
|
);
|
|
|
|
|
|