diff --git a/assets/fonts/DoctorApp.ttf b/assets/fonts/DoctorApp.ttf
index 21ce4a5d..22539da0 100644
Binary files a/assets/fonts/DoctorApp.ttf and b/assets/fonts/DoctorApp.ttf differ
diff --git a/assets/images/create-episod.png b/assets/images/create-episod.png
new file mode 100644
index 00000000..02386fd1
Binary files /dev/null and b/assets/images/create-episod.png differ
diff --git a/assets/images/leaves.svg b/assets/images/leaves.svg
new file mode 100644
index 00000000..474585fd
--- /dev/null
+++ b/assets/images/leaves.svg
@@ -0,0 +1,7 @@
+
diff --git a/assets/images/modilfy-episode.png b/assets/images/modilfy-episode.png
new file mode 100644
index 00000000..6fdd224f
Binary files /dev/null and b/assets/images/modilfy-episode.png differ
diff --git a/lib/client/base_app_client.dart b/lib/client/base_app_client.dart
index ff9d957d..83923ea7 100644
--- a/lib/client/base_app_client.dart
+++ b/lib/client/base_app_client.dart
@@ -82,12 +82,10 @@ class BaseAppClient {
onFailure('Error While Fetching data', statusCode);
} else {
var parsed = json.decode(response.body.toString());
- // if (!parsed['IsAuthenticated']) {
- // // TODO: return it back when IsAuthenticated work fine in all service
- // // await helpers.logout();
- //
- // helpers.showErrorToast('Your session expired Please login agian');
- // } else
+ if (!parsed['IsAuthenticated']) {
+ await helpers.logout();
+ helpers.showErrorToast('Your session expired Please login agian');
+ } else
if (parsed['MessageStatus'] == 1) {
if (!parsed['IsAuthenticated'])
onFailure(getError(parsed), statusCode);
diff --git a/lib/config/config.dart b/lib/config/config.dart
index 8d7ce357..e3163bb2 100644
--- a/lib/config/config.dart
+++ b/lib/config/config.dart
@@ -107,6 +107,15 @@ const ARRIVED_PATIENT_URL =
const ADD_SICK_LEAVE = 'Services/DoctorApplication.svc/REST/PostSickLeave';
const GET_SICK_LEAVE = 'Services/DoctorApplication.svc/REST/GetAllSickLeaves';
const EXTEND_SICK_LEAVE = 'Services/DoctorApplication.svc/REST/ExtendSickLeave';
+
+const GET_OFFTIME = 'Services/DoctorApplication.svc/REST/GetMasterLookUpList';
+const GET_COVERING_DOCTORS =
+ 'Services/DoctorApplication.svc/REST/GetCoveringDoctor';
+const ADD_RESCHDEULE = 'Services/DoctorApplication.svc/REST/PostRequisition';
+const UPDATE_RESCHDEULE =
+ 'Services/DoctorApplication.svc/REST/PatchRequisition';
+const GET_RESCHEDULE_LEAVE =
+ 'Services/DoctorApplication.svc/REST/GetRequisition';
const GET_PRESCRIPTION_LIST =
'Services/DoctorApplication.svc/REST/GetPrescription';
@@ -130,13 +139,14 @@ const POST_CHIEF_COMPLAINT =
const POST_PHYSICAL_EXAM =
'Services/DoctorApplication.svc/REST/PostPhysicalExam';
const POST_PROGRESS_NOTE =
- 'Services/DoctorApplication.svc/REST/PostProgressNote';
+ '/Services/DoctorApplication.svc/REST/PostProgressNote';
const POST_ASSESSMENT = 'Services/DoctorApplication.svc/REST/PostAssessment';
const PATCH_ALLERGY = 'Services/DoctorApplication.svc/REST/PatchAllergies';
const PATCH_HISTORY = 'Services/DoctorApplication.svc/REST/PatchHistory';
const PATCH_CHIEF_COMPLAINT =
'Services/DoctorApplication.svc/REST/PatchChiefcomplaint';
+
const PATCH_PHYSICAL_EXAM =
'Services/DoctorApplication.svc/REST/PatchPhysicalExam';
const PATCH_PROGRESS_NOTE =
diff --git a/lib/config/localized_values.dart b/lib/config/localized_values.dart
index f2880c93..66c2e58c 100644
--- a/lib/config/localized_values.dart
+++ b/lib/config/localized_values.dart
@@ -278,6 +278,7 @@ const Map> localizedValues = {
"sick-leave-days": {"en": "Sick leave days", "ar": "عدد ايام الاجازة."},
'admissionDetail': {'en': 'ADMISSION DETAIL: ', 'ar': 'تفاصيل القبول: '},
'dateTime': {'en': 'DATE / TIME:', 'ar': 'التاريخ / الوقت:'},
+ 'date': {'en': 'Date', 'ar': 'التاريخ'},
'admissionNo': {'en': 'ADMISSION #: ', 'ar': 'قبول #:'},
'losNo': {'en': 'LOS #:', 'ar': 'LOS #:'},
'area': {'en': 'AREA:', 'ar': 'المنطقة'},
@@ -353,6 +354,14 @@ const Map> localizedValues = {
'instruction': {'en': 'Instructions', 'ar': 'إرشادات'},
'addMedication': {'en': 'ADD MEDICATION', 'ar': 'اضف الدواء'},
'route': {'en': 'Route', 'ar': 'المسار'},
+ 'reschedule-leave': {
+ 'en': 'Reschedule and leaves',
+ 'ar': 'إعادة الجدولة والأوراق'
+ },
+ 'no-reschedule-leave': {
+ 'en': 'No Reschedule and leaves',
+ 'ar': 'لا إعادة جدولة ويغادر'
+ },
'weight': {'en': "Weight", 'ar': 'الوزن'},
'kg': {'en': "kg", 'ar': 'كغ'},
'height': {'en': "Height", 'ar': 'الطول'},
@@ -368,11 +377,131 @@ const Map> localizedValues = {
'rhythm': {'en': "Rhythm", 'ar': 'الإيقاع'},
'respBeats': {'en': 'RESP (beats/minute)', 'ar': ' (دقة/دقيقة)التنفس'},
'patternOfRespiration': {'en': "Pattern Of Respiration", 'ar': 'نمط التنفس'},
- 'bloodPressureDiastoleAndSystole': {'en': 'Blood Pressure (Sys, Dias)', 'ar': 'ضغط الدم (العظمى, الصغرى)'},
+ 'bloodPressureDiastoleAndSystole': {
+ 'en': 'Blood Pressure (Sys, Dias)',
+ 'ar': 'ضغط الدم (العظمى, الصغرى)'
+ },
'cuffLocation': {'en': "Cuff Location", 'ar': 'موقع الكف'},
'cuffSize': {'en': "Cuff Size", 'ar': 'حجم الكف'},
'patientPosition': {'en': "Patient Position", 'ar': 'موقع المريض'},
'fio2': {'en': "FIO2(%)", 'ar': 'FIO2(%)'},
'sao2': {'en': "SAO2(%)", 'ar': 'SAO2(%)'},
'painManagement': {'en': "Pain Management", 'ar': 'إدارة الألم'},
+ 'holiday': {'en': "Holiday", 'ar': 'يوم الاجازة'},
+ 'to': {'en': "To", 'ar': 'إلى'},
+ 'coveringDoctor': {'en': "Covering Doctor", 'ar': 'تغطية دكتور'},
+ 'requestLeave': {'en': 'Request Leave', 'ar': 'طلب إجازة'},
+ 'pleaseEnterDate': {
+ 'en': 'Please enter leave start date',
+ 'ar': 'الرجاء إدخال تاريخ بدء الإجازة'
+ },
+ 'pleaseEnterNoOfDays': {
+ 'en': 'Please enter sick leave days',
+ 'ar': 'الرجاء إدخال أيام الإجازة المرضية'
+ },
+ 'pleaseEnterRemarks': {
+ 'en': 'Please enter remarks',
+ 'ar': 'الرجاء إدخال الملاحظات'
+ },
+ 'update': {'en': 'Update', 'ar': 'تحديث'},
+ 'admission': {'en': "Admission", 'ar': 'قبول'},
+ 'request': {'en': "Request", 'ar': 'طلب'},
+ 'admissionRequest': {'en': "Admission Request", 'ar': 'طلب قبول'},
+ 'patientDetails': {'en': "Patient Details", 'ar': 'تفاصيل المريض'},
+ 'specialityAndDoctorDetail': {
+ 'en': "SPECIALITY AND DOCTOR DETAILS",
+ 'ar': 'تفاصيل التخصص والطبيب'
+ },
+ 'referringDate': {'en': "Referring Date", 'ar': 'تاريخ الإحالة'},
+ 'referringDoctor': {'en': "Referring Doctor", 'ar': 'دكتور الإحالة'},
+ 'otherInformation': {'en': "Other Information", 'ar': 'معلومات أخرى'},
+ 'expectedDays': {'en': "Expected Days", 'ar': 'الأيام المتوقعة'},
+ 'expectedAdmissionDate': {
+ 'en': "Expected Admission Date",
+ 'ar': 'تاريخ القبول المتوقع'
+ },
+ 'emergencyAdmission': {'en': "EMERGENCY ADMISSION", 'ar': 'دخول الطوارئ'},
+ 'patientPregnant': {'en': "Patient Pregnant", 'ar': 'حمل المريض'},
+ 'treatmentLine': {
+ 'en': "Main line of treatment",
+ 'ar': 'الخط الرئيسي للعلاج'
+ },
+ 'ward': {'en': "Ward", 'ar': 'رعاية'},
+ 'preAnesthesiaReferred': {
+ 'en': "PRE ANESTHESIA REFERRED",
+ 'ar': 'الاحالة قبل التخدير'
+ },
+ 'admissionType': {'en': "Admission Type", 'ar': 'نوع القبول'},
+ 'diagnosis': {'en': "Diagnosis", 'ar': 'التشخيص'},
+ 'allergies': {'en': "Allergies", 'ar': 'الحساسية'},
+ 'preOperativeOrders': {
+ 'en': "Pre Operative Orders",
+ 'ar': 'أوامر ما قبل العملية'
+ },
+ 'elementForImprovement': {
+ 'en': "Element For Improvement",
+ 'ar': 'عنصر للتحسين'
+ },
+ 'dischargeDate': {'en': "Discharge Date", 'ar': 'تاريخ التفريغ'},
+ 'dietType': {'en': "Diet Type", 'ar': 'نوع النظام الغذائي'},
+ 'dietTypeRemarks': {
+ 'en': "Remarks on diet type",
+ 'ar': 'ملاحظات على نوع النظام الغذائي'
+ },
+ 'save': {'en': "SAVE", 'ar': 'حفظ'},
+ 'postPlansEstimatedCost': {
+ 'en': "POST PLANS & ESTIMATED COST",
+ 'ar': 'خطط البريد والتكلفة المقدرة'
+ },
+ 'ucaf': {'en': "UCAF", 'ar': 'UCAF'},
+ 'emergencyCase': {'en': "Emergency Case", 'ar': 'حالة طارئة'},
+ 'durationOfIllness': {'en': "duration Of Illness", 'ar': 'مدة المرض'},
+ 'chiefComplaintsAndSymptoms': {
+ 'en': "CHIEF COMPLAINTS & OTHER SYMPTOMS",
+ 'ar': 'شكاوى الرئيس وأعراض أخرى'
+ },
+ 'patientFeelsPainInHisBackAndCough': {
+ 'en': "Patient Feels pain in his back and cough",
+ 'ar': 'يشعر المريض بألم في ظهره ويسعل'
+ },
+ 'additionalTextComplaints': {
+ 'en': "Additional text to add about Complaints",
+ 'ar': 'نص إضافي لإضافته حول الشكاوى'
+ },
+ 'otherConditions': {'en': "OTHER CONDITIONS", 'ar': 'شروط أخرى'},
+ 'other': {'en': "Other", 'ar': 'أخرى'},
+ 'how': {'en': "How", 'ar': 'كيف'},
+ 'when': {'en': "When", 'ar': 'متى'},
+ 'where': {'en': "Where", 'ar': 'أين'},
+ 'specifyPossibleLineManagement': {
+ 'en': "Specify possible line of management",
+ 'ar': 'حدد خط الإدارة المحتمل'
+ },
+ 'significantSigns': {'en': "SIGNIFICANT SIGNS", 'ar': 'علامات مهمة'},
+ 'backAbdomen': {'en': "Back : Abdomen", 'ar': 'الظهر: البطن'},
+ 'reasons': {'en': "Reasons", 'ar': 'الأسباب'},
+ 'createNew': {'en': "Create New", 'ar': 'انشاء '},
+ 'episode': {'en': "Episode", 'ar': 'Episode'},
+ 'chiefComplaints': {'en': "Chief Complaints", 'ar': 'الشكاوى'},
+ 'addChiefComplaints': {'en': "Add Chief Complaints", 'ar': ' اضافه الشكاوى'},
+ 'histories': {'en': "Histories", 'ar': 'التاريخ المرضي'},
+ 'allergiesSoap': {'en': "Allergies", 'ar': 'الحساسية'},
+ 'historyOfPresentIllness': {
+ 'en': "History of Present Illness",
+ 'ar': 'تاريخ المرض الحالي'
+ },
+ 'requiredMsg': {
+ 'en': "Please add required field correctly",
+ 'ar': "الرجاء إضافة الحقل المطلوب بشكل صحيح"
+ },
+ 'addHistory': {'en': "Add History", 'ar': "اضافه تاريخ مرضي"},
+ 'searchHistory': {'en': "Search History", 'ar': " البحث"},
+ 'addSelectedHistories': {
+ 'en': "add selected histories",
+ 'ar': " اضافه تاريخ مرضي"
+ },
+ 'addAllergies': {'en': "Add Allergies", 'ar': "أضف الحساسية"},
+ 'itemExist': {'en': "This item already exist", 'ar': "هذا العنصر موجود"},
+ 'selectAllergy': {'en': "Select Allergy", 'ar': "أختر الحساسية"},
+ 'selectSeverity': {'en': "Select Severity", 'ar': "أختر الدرجه"},
};
diff --git a/lib/core/enum/master_lookup_key.dart b/lib/core/enum/master_lookup_key.dart
index 8f5d76f8..f1ba1d46 100644
--- a/lib/core/enum/master_lookup_key.dart
+++ b/lib/core/enum/master_lookup_key.dart
@@ -10,7 +10,9 @@ enum MasterKeysService {
physiotherapyGoals,
DiagnosisCondition,
DiagnosisType,
- ICD10
+ ICD10,
+ TemperatureMethods,
+ Speciality
}
extension SelectedMasterKeysService on MasterKeysService {
@@ -51,6 +53,10 @@ extension SelectedMasterKeysService on MasterKeysService {
break;
case MasterKeysService.ICD10:
return 2500;
+ case MasterKeysService.TemperatureMethods:
+ return 2005;
+ case MasterKeysService.Speciality:
+ return 10;
break;
}
}
diff --git a/lib/core/service/SOAP_service.dart b/lib/core/service/SOAP_service.dart
index 09530d50..d1fff03b 100644
--- a/lib/core/service/SOAP_service.dart
+++ b/lib/core/service/SOAP_service.dart
@@ -3,6 +3,8 @@ import 'package:doctor_app_flutter/models/SOAP/ChiefComplaint/GetChiefComplaintR
import 'package:doctor_app_flutter/models/SOAP/ChiefComplaint/GetChiefComplaintResModel.dart';
import 'package:doctor_app_flutter/models/SOAP/GeneralGetReqForSOAP.dart';
import 'package:doctor_app_flutter/models/SOAP/GetAllergiesResModel.dart';
+import 'package:doctor_app_flutter/models/SOAP/GetAssessmentReqModel.dart';
+import 'package:doctor_app_flutter/models/SOAP/GetAssessmentResModel.dart';
import 'package:doctor_app_flutter/models/SOAP/GetGetProgressNoteReqModel.dart';
import 'package:doctor_app_flutter/models/SOAP/GetGetProgressNoteResModel.dart';
import 'package:doctor_app_flutter/models/SOAP/GetHistoryReqModel.dart';
@@ -27,6 +29,7 @@ class SOAPService extends LookupService {
List patientHistoryList = [];
List patientPhysicalExamList = [];
List patientProgressNoteList = [];
+ List patientAssessmentList = [];
Future getAllergies(GetAllergiesRequestModel getAllergiesRequestModel) async {
await baseAppClient.post(
@@ -209,17 +212,18 @@ class SOAPService extends LookupService {
}
Future getPatientHistories(
- GetHistoryReqModel getHistoryReqModel) async {
+ GetHistoryReqModel getHistoryReqModel, {bool isFirst = false}) async {
hasError = false;
- await baseAppClient.post (GET_HISTORY,
+ await baseAppClient.post(GET_HISTORY,
onSuccess: (dynamic response, int statusCode) {
- print("Success");
- patientHistoryList.clear();
- response['List_History']['entityList'].forEach((v) {
- patientHistoryList.add(GetHistoryResModel.fromJson(v));
- });
- }, onFailure: (String error, int statusCode) {
- hasError = true;
+ print("Success");
+ if (isFirst)
+ patientHistoryList.clear();
+ response['List_History']['entityList'].forEach((v) {
+ patientHistoryList.add(GetHistoryResModel.fromJson(v));
+ });
+ }, onFailure: (String error, int statusCode) {
+ hasError = true;
super.error = error;
}, body: getHistoryReqModel.toJson());
}
@@ -266,6 +270,7 @@ class SOAPService extends LookupService {
response['ProgressNoteList']['entityList'].forEach((v) {
patientProgressNoteList.add(GetGetProgressNoteResModel.fromJson(v));
});
+
}, onFailure: (String error, int statusCode) {
hasError = true;
super.error = error;
@@ -273,14 +278,18 @@ class SOAPService extends LookupService {
}
Future getPatientAssessment(
- PostAssessmentRequestModel getPatientAssessmentRequestModel) async {
+ GetAssessmentReqModel getAssessmentReqModel) async {
hasError = false;
await baseAppClient.post (GET_ASSESSMENT,
onSuccess: (dynamic response, int statusCode) {
print("Success");
+ patientAssessmentList.clear();
+ response['AssessmentList']['entityList'].forEach((v) {
+ patientAssessmentList.add(GetAssessmentResModel.fromJson(v));
+ });
}, onFailure: (String error, int statusCode) {
hasError = true;
super.error = error;
- }, body: getPatientAssessmentRequestModel.toJson());
+ }, body: getAssessmentReqModel.toJson());
}
}
diff --git a/lib/core/service/base/lookup-service.dart b/lib/core/service/base/lookup-service.dart
index a57c939b..3bc6e61e 100644
--- a/lib/core/service/base/lookup-service.dart
+++ b/lib/core/service/base/lookup-service.dart
@@ -35,6 +35,8 @@ class LookupService extends BaseService {
List listOfDiagnosisType = [];
List listOfDiagnosisCondition = [];
List listOfICD10 = [];
+ List listOfTemperatureMethods = [];
+ List listOfSpeciality = [];
Future getMasterLookup(MasterKeysService masterKeys) async {
hasError = false;
@@ -122,13 +124,27 @@ class LookupService extends BaseService {
.add(MasterKeyModel.fromJson(v));
});
break;
- case MasterKeysService.ICD10:
- listOfICD10.clear();
+ case MasterKeysService.ICD10:
+ listOfICD10.clear();
entryList.forEach((v) {
listOfICD10
.add(MasterKeyModel.fromJson(v));
});
break;
+ case MasterKeysService.TemperatureMethods:
+ listOfTemperatureMethods.clear();
+ entryList.forEach((v) {
+ listOfTemperatureMethods
+ .add(MasterKeyModel.fromJson(v));
+ });
+ break;
+ case MasterKeysService.Speciality:
+ listOfSpeciality.clear();
+ entryList.forEach((v) {
+ listOfSpeciality
+ .add(MasterKeyModel.fromJson(v));
+ });
+ break;
}
}
diff --git a/lib/core/service/patient-admission-request-service.dart b/lib/core/service/patient-admission-request-service.dart
new file mode 100644
index 00000000..62932908
--- /dev/null
+++ b/lib/core/service/patient-admission-request-service.dart
@@ -0,0 +1,31 @@
+import 'package:doctor_app_flutter/config/config.dart';
+import 'package:doctor_app_flutter/core/service/base/lookup-service.dart';
+
+class AdmissionRequestService extends LookupService {
+ List doctorsList = [];
+ List specialityList = [];
+
+ setSpecialityList() {
+ specialityList.clear();
+ listOfSpeciality.forEach((element) {
+ specialityList.add(element.toJson());
+ });
+ }
+
+ Future getDoctorsList() async {
+ hasError = false;
+
+ await baseAppClient.post(
+ PATIENT_GET_DOCTOR_BY_CLINIC_URL,
+ onSuccess: (dynamic response, int statusCode) {
+ doctorsList = [];
+ doctorsList = response['List_Doctors_All'];
+ },
+ onFailure: (String error, int statusCode) {
+ hasError = true;
+ super.error = error;
+ },
+ body: Map(),
+ );
+ }
+}
diff --git a/lib/core/service/patient-ucaf-service.dart b/lib/core/service/patient-ucaf-service.dart
new file mode 100644
index 00000000..e776720c
--- /dev/null
+++ b/lib/core/service/patient-ucaf-service.dart
@@ -0,0 +1,5 @@
+import 'package:doctor_app_flutter/core/service/base/base_service.dart';
+
+class UcafService extends BaseService {
+
+}
\ No newline at end of file
diff --git a/lib/core/service/sickleave_service.dart b/lib/core/service/sickleave_service.dart
index 70d9a3e4..c4aa8abf 100644
--- a/lib/core/service/sickleave_service.dart
+++ b/lib/core/service/sickleave_service.dart
@@ -1,5 +1,6 @@
import 'package:doctor_app_flutter/config/config.dart';
import 'package:doctor_app_flutter/core/service/base/base_service.dart';
+import 'package:doctor_app_flutter/core/viewModel/leave_rechdule_response.dart';
import 'package:doctor_app_flutter/models/sickleave/add_sickleave_request.dart';
import 'package:doctor_app_flutter/models/sickleave/extend_sick_leave_request.dart';
import 'package:doctor_app_flutter/models/sickleave/get_all_sickleave_response.dart';
@@ -8,9 +9,18 @@ import 'package:doctor_app_flutter/models/sickleave/get_all_sickleave_response.d
class SickLeaveService extends BaseService {
Map get sickLeavestatisitics => _statistics;
Map _statistics = {};
-
+ List get getOffTimeList => offTime;
+ List offTime = [];
+ List get getReasons => reasonse;
+ List reasonse = [];
List get getAllSickLeave => _getAllsickLeave;
List _getAllsickLeave = [];
+ List get coveringDoctorsList => _coveringDoctors;
+ List _coveringDoctors = [];
+
+ List get getAllRescheduleLeave =>
+ _getReScheduleLeave;
+ List _getReScheduleLeave = [];
Future getStatistics(appoNo, patientMRN) async {
hasError = false;
await baseAppClient.post(
@@ -29,14 +39,14 @@ class SickLeaveService extends BaseService {
}
Future addSickLeave(AddSickLeaveRequest addSickLeaveRequest) async {
- addSickLeaveRequest.appointmentNo = '2016054661';
- addSickLeaveRequest.patientMRN = '3120746';
+ // addSickLeaveRequest.appointmentNo = '2016054661';
+ // addSickLeaveRequest.patientMRN = '3120746';
hasError = false;
await baseAppClient.post(
ADD_SICK_LEAVE,
onSuccess: (dynamic response, int statusCode) {
Future.value(response);
- print(response);
+ //print(response);
// _statistics = {};
// _statistics = response['SickLeaveStatistics'];
},
@@ -72,7 +82,7 @@ class SickLeaveService extends BaseService {
);
}
- Future getSickLeave() async {
+ Future getSickLeave(patientMRN) async {
hasError = false;
await baseAppClient.post(
GET_SICK_LEAVE,
@@ -87,7 +97,109 @@ class SickLeaveService extends BaseService {
hasError = true;
super.error = error;
},
- body: {'PatientMRN': 3120772},
+ body: {'PatientMRN': patientMRN},
+ );
+ }
+
+ Future getRescheduleLeave() async {
+ hasError = false;
+ await baseAppClient.post(
+ GET_RESCHEDULE_LEAVE,
+ onSuccess: (dynamic response, int statusCode) {
+ Future.value(response);
+ _getReScheduleLeave.clear();
+ response['requisitionList']['entityList'].forEach((v) {
+ _getReScheduleLeave.add(GetRescheduleLeavesResponse.fromJson(v));
+ });
+ },
+ onFailure: (String error, int statusCode) {
+ hasError = true;
+ super.error = error;
+ },
+ body: {'ClinicID': 1},
+ );
+ }
+
+ Future getOffTime() async {
+ hasError = false;
+
+ await baseAppClient.post(
+ GET_OFFTIME,
+ onSuccess: (dynamic response, int statusCode) {
+ offTime = [];
+ offTime = response['MasterLookUpList']['entityList'];
+ },
+ onFailure: (String error, int statusCode) {
+ hasError = true;
+ super.error = error;
+ },
+ body: {"MasterInput": 2013},
+ );
+ }
+
+ Future getReasonsByID({id}) async {
+ hasError = false;
+
+ await baseAppClient.post(
+ GET_OFFTIME,
+ onSuccess: (dynamic response, int statusCode) {
+ reasonse = [];
+ reasonse = response['MasterLookUpList']['entityList'];
+ },
+ onFailure: (String error, int statusCode) {
+ hasError = true;
+ super.error = error;
+ },
+ body: {"MasterInput": id ?? 18},
+ );
+ }
+
+ Future getCoveringDoctors() async {
+ hasError = false;
+
+ await baseAppClient.post(
+ GET_COVERING_DOCTORS,
+ onSuccess: (dynamic response, int statusCode) {
+ _coveringDoctors = [];
+ _coveringDoctors = response['coveringDoctorList']['entityList'];
+ },
+ onFailure: (String error, int statusCode) {
+ hasError = true;
+ super.error = error;
+ },
+ body: {"ClinicID": 1},
+ );
+ }
+
+ addReschedule(request) async {
+ hasError = false;
+
+ await baseAppClient.post(
+ ADD_RESCHDEULE,
+ onSuccess: (dynamic response, int statusCode) {
+ Future.value(response);
+ },
+ onFailure: (String error, int statusCode) {
+ hasError = true;
+ super.error = error;
+ },
+ body: request,
+ );
+ }
+
+ updateReschedule(request) async {
+ hasError = false;
+
+ await baseAppClient.post(
+ UPDATE_RESCHDEULE,
+ onSuccess: (dynamic response, int statusCode) {
+ Future.value(response);
+ },
+ onFailure: (String error, int statusCode) {
+ hasError = true;
+ super.error = error;
+ },
+ body: request,
);
}
}
diff --git a/lib/core/viewModel/SOAP_view_model.dart b/lib/core/viewModel/SOAP_view_model.dart
index 8d03a04e..fff7a239 100644
--- a/lib/core/viewModel/SOAP_view_model.dart
+++ b/lib/core/viewModel/SOAP_view_model.dart
@@ -5,6 +5,8 @@ import 'package:doctor_app_flutter/models/SOAP/ChiefComplaint/GetChiefComplaintR
import 'package:doctor_app_flutter/models/SOAP/ChiefComplaint/GetChiefComplaintResModel.dart';
import 'package:doctor_app_flutter/models/SOAP/GeneralGetReqForSOAP.dart';
import 'package:doctor_app_flutter/models/SOAP/GetAllergiesResModel.dart';
+import 'package:doctor_app_flutter/models/SOAP/GetAssessmentReqModel.dart';
+import 'package:doctor_app_flutter/models/SOAP/GetAssessmentResModel.dart';
import 'package:doctor_app_flutter/models/SOAP/GetGetProgressNoteReqModel.dart';
import 'package:doctor_app_flutter/models/SOAP/GetGetProgressNoteResModel.dart';
import 'package:doctor_app_flutter/models/SOAP/GetHistoryReqModel.dart';
@@ -64,14 +66,19 @@ class SOAPViewModel extends BaseViewModel {
List get patientAllergiesList =>
_SOAPService.patientAllergiesList;
+
List get patientHistoryList =>
_SOAPService.patientHistoryList;
- List get patientPhysicalExamList =>
+
+ List get patientPhysicalExamList =>
_SOAPService.patientPhysicalExamList;
- List get patientProgressNoteList =>
+ List get patientProgressNoteList =>
_SOAPService.patientProgressNoteList;
+ List get patientAssessmentList =>
+ _SOAPService.patientAssessmentList;
+
Future getAllergies(GetAllergiesRequestModel getAllergiesRequestModel) async {
setState(ViewState.Busy);
await _SOAPService.getAllergies(getAllergiesRequestModel);
@@ -219,17 +226,17 @@ class SOAPViewModel extends BaseViewModel {
await _SOAPService.getPatientAllergy(generalGetReqForSOAP);
if (_SOAPService.hasError) {
error = _SOAPService.error;
- setState(ViewState.Busy);
+ setState(ViewState.Error);
} else
setState(ViewState.Idle);
}
- Future getPatientHistories(GetHistoryReqModel getHistoryReqModel) async {
+ Future getPatientHistories(GetHistoryReqModel getHistoryReqModel, {bool isFirst = false}) async {
setState(ViewState.Busy);
- await _SOAPService.getPatientHistories(getHistoryReqModel);
+ await _SOAPService.getPatientHistories(getHistoryReqModel, isFirst: isFirst);
if (_SOAPService.hasError) {
error = _SOAPService.error;
- setState(ViewState.Busy);
+ setState(ViewState.Error);
} else
setState(ViewState.Idle);
}
@@ -240,7 +247,7 @@ class SOAPViewModel extends BaseViewModel {
await _SOAPService.getPatientChiefComplaint(getChiefComplaintReqModel);
if (_SOAPService.hasError) {
error = _SOAPService.error;
- setState(ViewState.Busy);
+ setState(ViewState.Error);
} else
setState(ViewState.Idle);
}
@@ -266,24 +273,22 @@ class SOAPViewModel extends BaseViewModel {
}
Future getPatientAssessment(
- PostAssessmentRequestModel getPatientAssessmentRequestModel) async {
+ GetAssessmentReqModel getAssessmentReqModel) async {
setState(ViewState.Busy);
- await _SOAPService.getPatientAssessment(getPatientAssessmentRequestModel);
+ await _SOAPService.getPatientAssessment(getAssessmentReqModel);
if (_SOAPService.hasError) {
error = _SOAPService.error;
- setState(ViewState.Busy);
+ setState(ViewState.Error);
} else
setState(ViewState.Idle);
}
-
// ignore: missing_return
MasterKeyModel getOneMasterKey(
- {@required MasterKeysService masterKeys, int id, int typeId}) {
+ {@required MasterKeysService masterKeys, dynamic id, int typeId}) {
switch (masterKeys) {
case MasterKeysService.Allergies:
List result = allergiesList.where((element) {
- print(element.id == id);
return element.id == id &&
element.typeId == masterKeys.getMasterKeyService();
}).toList();
@@ -294,7 +299,6 @@ class SOAPViewModel extends BaseViewModel {
case MasterKeysService.HistoryFamily:
List result = historyFamilyList.where((element) {
- print(element.id == id);
return element.id == id &&
element.typeId == masterKeys.getMasterKeyService();
}).toList();
@@ -304,7 +308,6 @@ class SOAPViewModel extends BaseViewModel {
break;
case MasterKeysService.HistoryMedical:
List result = historyMedicalList.where((element) {
- print(element.id == id);
return element.id == id &&
element.typeId == masterKeys.getMasterKeyService();
}).toList();
@@ -314,7 +317,6 @@ class SOAPViewModel extends BaseViewModel {
break;
case MasterKeysService.HistorySocial:
List result = historySocialList.where((element) {
- print(element.id == id);
return element.id == id &&
element.typeId == masterKeys.getMasterKeyService();
}).toList();
@@ -324,7 +326,6 @@ class SOAPViewModel extends BaseViewModel {
break;
case MasterKeysService.HistorySports:
List result = historySocialList.where((element) {
- print(element.id == id);
return element.id == id &&
element.typeId == masterKeys.getMasterKeyService();
}).toList();
@@ -334,17 +335,13 @@ class SOAPViewModel extends BaseViewModel {
break;
case MasterKeysService.HistorySurgical:
List result = historySurgicalList.where((element) {
- print(element.id == id);
- return element.id == id &&
- element.typeId == masterKeys.getMasterKeyService();
- }).toList();
+ return element.id == id;}).toList();
if (result.isNotEmpty) {
return result.first;
}
break;
case MasterKeysService.PhysicalExamination:
List result = physicalExaminationList.where((element) {
- print(element.id == id);
return element.id == id &&
element.typeId == masterKeys.getMasterKeyService();
}).toList();
@@ -354,7 +351,6 @@ class SOAPViewModel extends BaseViewModel {
break;
case MasterKeysService.AllergySeverity:
List result = allergySeverityList.where((element) {
- print(element.id == id);
return element.id == id &&
element.typeId == masterKeys.getMasterKeyService();
}).toList();
@@ -371,7 +367,6 @@ class SOAPViewModel extends BaseViewModel {
case MasterKeysService.DiagnosisType:
List result = listOfDiagnosisType.where((element) {
- print(element.id == id);
return element.id == id &&
element.typeId == masterKeys.getMasterKeyService();
}).toList();
@@ -381,7 +376,6 @@ class SOAPViewModel extends BaseViewModel {
break;
case MasterKeysService.DiagnosisCondition:
List result = listOfDiagnosisCondition.where((element) {
- print(element.id == id);
return element.id == id &&
element.typeId == masterKeys.getMasterKeyService();
}).toList();
@@ -390,11 +384,8 @@ class SOAPViewModel extends BaseViewModel {
}
break;
case MasterKeysService.ICD10:
- listOfICD10.clear();
List result = listOfICD10.where((element) {
- print(element.id == id);
- return element.id == id &&
- element.typeId == masterKeys.getMasterKeyService();
+ return element.code == id ;
}).toList();
if (result.isNotEmpty) {
return result.first;
diff --git a/lib/core/viewModel/leave_rechdule_response.dart b/lib/core/viewModel/leave_rechdule_response.dart
new file mode 100644
index 00000000..d7cab8bf
--- /dev/null
+++ b/lib/core/viewModel/leave_rechdule_response.dart
@@ -0,0 +1,52 @@
+class GetRescheduleLeavesResponse {
+ int clinicId;
+ var coveringDoctorId;
+ String date;
+ String dateTimeFrom;
+ String dateTimeTo;
+ int doctorId;
+ int reasonId;
+ int requisitionNo;
+ int requisitionType;
+ int status;
+
+ GetRescheduleLeavesResponse(
+ {this.clinicId,
+ this.coveringDoctorId,
+ this.date,
+ this.dateTimeFrom,
+ this.dateTimeTo,
+ this.doctorId,
+ this.reasonId,
+ this.requisitionNo,
+ this.requisitionType,
+ this.status});
+
+ GetRescheduleLeavesResponse.fromJson(Map json) {
+ clinicId = json['clinicId'];
+ coveringDoctorId = json['coveringDoctorId'];
+ date = json['date'];
+ dateTimeFrom = json['dateTimeFrom'];
+ dateTimeTo = json['dateTimeTo'];
+ doctorId = json['doctorId'];
+ reasonId = json['reasonId'];
+ requisitionNo = json['requisitionNo'];
+ requisitionType = json['requisitionType'];
+ status = json['status'];
+ }
+
+ Map toJson() {
+ final Map data = new Map();
+ data['clinicId'] = this.clinicId;
+ data['coveringDoctorId'] = this.coveringDoctorId;
+ data['date'] = this.date;
+ data['dateTimeFrom'] = this.dateTimeFrom;
+ data['dateTimeTo'] = this.dateTimeTo;
+ data['doctorId'] = this.doctorId;
+ data['reasonId'] = this.reasonId;
+ data['requisitionNo'] = this.requisitionNo;
+ data['requisitionType'] = this.requisitionType;
+ data['status'] = this.status;
+ return data;
+ }
+}
diff --git a/lib/core/viewModel/patient-admission-request-viewmodel.dart b/lib/core/viewModel/patient-admission-request-viewmodel.dart
new file mode 100644
index 00000000..15f54e5d
--- /dev/null
+++ b/lib/core/viewModel/patient-admission-request-viewmodel.dart
@@ -0,0 +1,46 @@
+import 'package:doctor_app_flutter/config/shared_pref_kay.dart';
+import 'package:doctor_app_flutter/core/enum/master_lookup_key.dart';
+import 'package:doctor_app_flutter/core/enum/viewstate.dart';
+import 'package:doctor_app_flutter/core/service/patient-admission-request-service.dart';
+import 'package:doctor_app_flutter/core/viewModel/base_view_model.dart';
+import 'package:doctor_app_flutter/models/SOAP/master_key_model.dart';
+
+import '../../locator.dart';
+
+class AdmissionRequestViewModel extends BaseViewModel{
+
+ AdmissionRequestService _admissionRequestService = locator();
+
+ List get doctorsList => _admissionRequestService.doctorsList;
+
+ List get speciality => _admissionRequestService.specialityList;
+
+ String selectedLanguage;
+
+ Future getLanguage() async {
+ selectedLanguage = await sharedPref.getString(APP_Language);
+ }
+
+ Future getMasterLookup() async {
+ setState(ViewState.Busy);
+ await getLanguage();
+ await _admissionRequestService.getMasterLookup(MasterKeysService.Speciality);
+ if (_admissionRequestService.hasError) {
+ error = _admissionRequestService.error;
+ setState(ViewState.Error);
+ } else {
+ _admissionRequestService.setSpecialityList();
+ await getClinicDoctors();
+ }
+ }
+
+ Future getClinicDoctors() async {
+ setState(ViewState.Busy);
+ await _admissionRequestService.getDoctorsList();
+ if (_admissionRequestService.hasError) {
+ error = _admissionRequestService.error;
+ setState(ViewState.Error);
+ } else
+ setState(ViewState.Idle);
+ }
+}
\ No newline at end of file
diff --git a/lib/core/viewModel/patient-ucaf-viewmodel.dart b/lib/core/viewModel/patient-ucaf-viewmodel.dart
new file mode 100644
index 00000000..cf11854b
--- /dev/null
+++ b/lib/core/viewModel/patient-ucaf-viewmodel.dart
@@ -0,0 +1,9 @@
+import 'package:doctor_app_flutter/core/service/patient-ucaf-service.dart';
+import 'package:doctor_app_flutter/core/viewModel/base_view_model.dart';
+
+import '../../locator.dart';
+
+class UcafViewModel extends BaseViewModel {
+
+ UcafService _ucafService = locator();
+}
\ No newline at end of file
diff --git a/lib/core/viewModel/patient-vital-sign-viewmodel.dart b/lib/core/viewModel/patient-vital-sign-viewmodel.dart
index 05c98f0e..e58ad089 100644
--- a/lib/core/viewModel/patient-vital-sign-viewmodel.dart
+++ b/lib/core/viewModel/patient-vital-sign-viewmodel.dart
@@ -18,14 +18,16 @@ class VitalSignsViewModel extends BaseViewModel {
Future getPatientArrivalList(String date, PatiantInformtion patient,
{String fromDate}) async {
- setState(ViewState.Busy);
+ // TODO when arrival list work un comment below lines
+ /* setState(ViewState.Busy);
await _vitalSignService.getPatientArrivalList(date, fromDate: fromDate);
if (_vitalSignService.hasError) {
error = _vitalSignService.error;
setState(ViewState.Error);
} else {
await getPatientVitalSign(patient);
- }
+ }*/
+ makeVitalSignDemoData();
}
PatientArrivalEntity getPatientAppointmentEntity(PatiantInformtion patient) {
@@ -60,41 +62,73 @@ class VitalSignsViewModel extends BaseViewModel {
setState(ViewState.Error);
} else {
if (patientVitalSigns == null) {
- _vitalSignService.patientVitalSigns = VitalSignData(
- appointmentNo: 2016053265,
- bloodPressureCuffLocation: 0,
- bloodPressureCuffSize: 0,
- bloodPressureHigher: 38,
- bloodPressureLower: 32,
- bloodPressurePatientPosition: 1,
- bodyMassIndex: 31.11,
- fio2: 0,
- headCircumCm: 0,
- heightCm: 150,
- idealBodyWeightLbs: -2,
- isPainManagementDone: false,
- isVitalsRequired: true,
- leanBodyWeightLbs: 0,
- painCharacter: null,
- painDuration: null,
- painFrequency: null,
- painLocation: null,
- painScore: 0,
- patientMRN: 3333274,
- patientType: 1,
- pulseBeatPerMinute: 0,
- pulseRhythm: 0,
- respirationBeatPerMinute: 0,
- respirationPattern: 0,
- sao2: 0,
- status: 47,
- temperatureCelcius: 40,
- temperatureCelciusMethod: 1,
- waistSizeInch: 39,
- weightKg: 70,
- );
+ makeVitalSignDemoData();
}
setState(ViewState.Idle);
}
}
+
+ makeVitalSignDemoData(){
+ _vitalSignService.patientVitalSigns = VitalSignData(
+ appointmentNo: 2016053265,
+ bloodPressureCuffLocation: 0,
+ bloodPressureCuffSize: 0,
+ bloodPressureHigher: 38,
+ bloodPressureLower: 32,
+ bloodPressurePatientPosition: 1,
+ bodyMassIndex: 31.11,
+ fio2: 0,
+ headCircumCm: 0,
+ heightCm: 150,
+ idealBodyWeightLbs: -2,
+ isPainManagementDone: false,
+ isVitalsRequired: true,
+ leanBodyWeightLbs: 0,
+ painCharacter: null,
+ painDuration: null,
+ painFrequency: null,
+ painLocation: null,
+ painScore: 0,
+ patientMRN: 3333274,
+ patientType: 1,
+ pulseBeatPerMinute: 0,
+ pulseRhythm: 0,
+ respirationBeatPerMinute: 0,
+ respirationPattern: 0,
+ sao2: 0,
+ status: 47,
+ temperatureCelcius: 40,
+ temperatureCelciusMethod: 1,
+ waistSizeInch: 39,
+ weightKg: 70,
+ );
+ }
+
+ String getBMI(double bodyMassIndex) {
+ if (bodyMassIndex <= 18.5) {
+ return "Underweight";
+ } else if (bodyMassIndex <= 25.0) {
+ return "Normal";
+ } else if (bodyMassIndex <= 30) {
+ return "Overweight";
+ } else { // > 30.0
+ return "Obese";
+ }
+ }
+
+ String getTempratureMethod(int temperatureCelciusMethod){
+ // temperatureCelciusMethod ( vital sign response field )- master 2005
+ if(temperatureCelciusMethod == 1){
+ return "Oral";
+ } else if(temperatureCelciusMethod == 2){
+ return "Axilla";
+ } else if(temperatureCelciusMethod == 3){
+ return "Rectal";
+ } else if(temperatureCelciusMethod == 4){
+ return "Tympanic";
+ } else if(temperatureCelciusMethod == 5){
+ return "Temporal";
+ }
+ }
+
}
diff --git a/lib/core/viewModel/patient_view_model.dart b/lib/core/viewModel/patient_view_model.dart
index 9672da83..2fcdc779 100644
--- a/lib/core/viewModel/patient_view_model.dart
+++ b/lib/core/viewModel/patient_view_model.dart
@@ -49,7 +49,7 @@ class PatientViewModel extends BaseViewModel {
List get referralFrequencyList =>
_patientService.referalFrequancyList;
- Future getPatientList( patient, patientType,
+ Future getPatientList(patient, patientType,
{bool isBusyLocal = false}) async {
if (isBusyLocal) {
setState(ViewState.BusyLocal);
diff --git a/lib/core/viewModel/sick_leave_view_model.dart b/lib/core/viewModel/sick_leave_view_model.dart
index a11d43ec..d5aba154 100644
--- a/lib/core/viewModel/sick_leave_view_model.dart
+++ b/lib/core/viewModel/sick_leave_view_model.dart
@@ -12,6 +12,10 @@ class SickLeaveViewModel extends BaseViewModel {
SickLeaveService _sickLeaveService = locator();
get sickLeaveStatistics => _sickLeaveService.sickLeavestatisitics;
get getAllSIckLeave => _sickLeaveService.getAllSickLeave;
+ List get allOffTime => _sickLeaveService.getOffTimeList;
+ List get allReasons => _sickLeaveService.getReasons;
+ List get coveringDoctors => _sickLeaveService.coveringDoctorsList;
+ get getReschduleLeave => _sickLeaveService.getAllRescheduleLeave;
Future addSickLeave(AddSickLeaveRequest addSickLeaveRequest) async {
setState(ViewState.Busy);
await _sickLeaveService.addSickLeave(addSickLeaveRequest);
@@ -42,9 +46,69 @@ class SickLeaveViewModel extends BaseViewModel {
setState(ViewState.Idle);
}
- Future getSickLeave() async {
+ Future getSickLeave(patientMRN) async {
setState(ViewState.Busy);
- await _sickLeaveService.getSickLeave();
+ await _sickLeaveService.getSickLeave(patientMRN);
+ if (_sickLeaveService.hasError) {
+ error = _sickLeaveService.error;
+ setState(ViewState.Error);
+ } else
+ setState(ViewState.Idle);
+ }
+
+ Future getRescheduleLeave() async {
+ setState(ViewState.Busy);
+ await _sickLeaveService.getRescheduleLeave();
+ if (_sickLeaveService.hasError) {
+ error = _sickLeaveService.error;
+ setState(ViewState.Error);
+ } else
+ setState(ViewState.Idle);
+ }
+
+ Future getOffTime() async {
+ setState(ViewState.Busy);
+ await _sickLeaveService.getOffTime();
+ if (_sickLeaveService.hasError) {
+ error = _sickLeaveService.error;
+ setState(ViewState.Error);
+ } else
+ setState(ViewState.Idle);
+ }
+
+ Future getReasons(id) async {
+ setState(ViewState.Busy);
+ await _sickLeaveService.getReasonsByID(id: id);
+ if (_sickLeaveService.hasError) {
+ error = _sickLeaveService.error;
+ setState(ViewState.Error);
+ } else
+ setState(ViewState.Idle);
+ }
+
+ Future getCoveringDoctors() async {
+ setState(ViewState.Busy);
+ await _sickLeaveService.getCoveringDoctors();
+ if (_sickLeaveService.hasError) {
+ error = _sickLeaveService.error;
+ setState(ViewState.Error);
+ } else
+ setState(ViewState.Idle);
+ }
+
+ Future addReschedule(request) async {
+ setState(ViewState.Busy);
+ await _sickLeaveService.addReschedule(request);
+ if (_sickLeaveService.hasError) {
+ error = _sickLeaveService.error;
+ setState(ViewState.Error);
+ } else
+ setState(ViewState.Idle);
+ }
+
+ Future updateReschedule(request) async {
+ setState(ViewState.Busy);
+ await _sickLeaveService.updateReschedule(request);
if (_sickLeaveService.hasError) {
error = _sickLeaveService.error;
setState(ViewState.Error);
diff --git a/lib/icons_app/config.json b/lib/icons_app/config.json
index fef927b0..ede09595 100644
--- a/lib/icons_app/config.json
+++ b/lib/icons_app/config.json
@@ -384,6 +384,34 @@
"sync"
]
},
+ {
+ "uid": "a0f7dbb184f90f285a9cba8cf09a9b6a",
+ "css": "drawer_icon",
+ "code": 59429,
+ "src": "custom_icons",
+ "selected": true,
+ "svg": {
+ "path": "M1564.7 1000H68C30.6 1000 0 958.7 0 908.2H0C0 857.6 30.6 816.3 68 816.3H1564.7C1602 816.3 1632.7 857.6 1632.7 908.2H1632.7C1632.7 958.7 1602 1000 1564.7 1000ZM911.6 591.8H68C30.6 591.8 0 550.5 0 500H0C0 449.5 30.6 408.2 68 408.2H911.6C949 408.2 979.6 449.5 979.6 500H979.6C979.6 550.5 949 591.8 911.6 591.8ZM1238.1 183.7H68C30.6 183.7 0 142.4 0 91.8H0C0 41.3 30.6 0 68 0H1238.1C1275.5 0 1306.1 41.3 1306.1 91.8H1306.1C1306.1 142.4 1275.5 183.7 1238.1 183.7Z",
+ "width": 1633
+ },
+ "search": [
+ "drawer_icon"
+ ]
+ },
+ {
+ "uid": "764baf138776221a3e1e845391b188a4",
+ "css": "leaves",
+ "code": 59446,
+ "src": "custom_icons",
+ "selected": true,
+ "svg": {
+ "path": "M968.7 468.7H572.9A31.3 31.3 0 1 1 572.9 406.2H968.7A31.3 31.3 0 1 1 968.7 468.7ZM968.7 468.7M812.5 625A31.3 31.3 0 0 1 790.4 571.6L924.5 437.5 790.4 303.3A31.3 31.3 0 0 1 834.6 259.1L990.9 415.4A31.3 31.3 0 0 1 990.9 459.6L834.6 615.8A31.2 31.2 0 0 1 812.5 625ZM812.5 625M333.3 1000A83.3 83.3 0 0 0 416.7 916.7V166.7A83.9 83.9 0 0 0 360.3 87.5L109.9 4.1A84.2 84.2 0 0 0 0 83.4V833.4A83.9 83.9 0 0 0 56.4 912.4L306.8 995.8A87.2 87.2 0 0 0 333.3 1000ZM83.3 62.5A24.5 24.5 0 0 1 90.8 63.6L340.1 146.7A21.4 21.4 0 0 1 354.2 166.6V916.6A22 22 0 0 1 325.9 936.4L76.6 853.3A21.5 21.5 0 0 1 62.5 833.3V83.3A20.9 20.9 0 0 1 83.3 62.5ZM83.3 62.5M635.4 208.3A31.3 31.3 0 0 0 666.7 177.1V114.6A114.7 114.7 0 0 0 552.1 0H83.3A31.3 31.3 0 0 0 83.3 62.5H552.1A52.1 52.1 0 0 1 604.2 114.6V177.1A31.3 31.3 0 0 0 635.4 208.3ZM635.4 208.3M385.4 875H552.1A114.7 114.7 0 0 0 666.6 760.4V697.9A31.3 31.3 0 0 0 604.1 697.9V760.4A52.1 52.1 0 0 1 552.1 812.5H385.4A31.3 31.3 0 0 0 385.4 875ZM385.4 875",
+ "width": 1000
+ },
+ "search": [
+ "leaves"
+ ]
+ },
{
"uid": "740f78c2b53c8cc100a8b0d283bbd34f",
"css": "home_icon-1",
@@ -481,19 +509,6 @@
"search": [
"scdedule_icon_active"
]
- }, {
- "uid": "a0f7dbb184f90f285a9cba8cf09a9b6a",
- "css": "drawer_icon",
- "code": 59429,
- "src": "custom_icons",
- "selected": true,
- "svg": {
- "path": "M1564.7 1000H68C30.6 1000 0 958.7 0 908.2H0C0 857.6 30.6 816.3 68 816.3H1564.7C1602 816.3 1632.7 857.6 1632.7 908.2H1632.7C1632.7 958.7 1602 1000 1564.7 1000ZM911.6 591.8H68C30.6 591.8 0 550.5 0 500H0C0 449.5 30.6 408.2 68 408.2H911.6C949 408.2 979.6 449.5 979.6 500H979.6C979.6 550.5 949 591.8 911.6 591.8ZM1238.1 183.7H68C30.6 183.7 0 142.4 0 91.8H0C0 41.3 30.6 0 68 0H1238.1C1275.5 0 1306.1 41.3 1306.1 91.8H1306.1C1306.1 142.4 1275.5 183.7 1238.1 183.7Z",
- "width": 1633
- },
- "search": [
- "drawer_icon"
- ]
}
]
}
\ No newline at end of file
diff --git a/lib/icons_app/doctor_app_icons.dart b/lib/icons_app/doctor_app_icons.dart
index 80db55c1..ef01c934 100644
--- a/lib/icons_app/doctor_app_icons.dart
+++ b/lib/icons_app/doctor_app_icons.dart
@@ -11,7 +11,7 @@
/// fonts:
/// - asset: fonts/DoctorApp.ttf
///
-///
+///
///
import 'package:flutter/widgets.dart';
@@ -19,35 +19,64 @@ class DoctorApp {
DoctorApp._();
static const _kFontFam = 'DoctorApp';
- static const _kFontPkg = null;
-
- static const IconData female_icon = IconData(0xe800, fontFamily: _kFontFam, fontPackage: _kFontPkg);
- static const IconData male = IconData(0xe801, fontFamily: _kFontFam, fontPackage: _kFontPkg);
- static const IconData reject_icon = IconData(0xe802, fontFamily: _kFontFam, fontPackage: _kFontPkg);
- static const IconData home_icon_active = IconData(0xe803, fontFamily: _kFontFam, fontPackage: _kFontPkg);
- static const IconData menu_icon = IconData(0xe804, fontFamily: _kFontFam, fontPackage: _kFontPkg);
- static const IconData menu_icon_active = IconData(0xe805, fontFamily: _kFontFam, fontPackage: _kFontPkg);
- static const IconData message_icon = IconData(0xe806, fontFamily: _kFontFam, fontPackage: _kFontPkg);
- static const IconData message_icon_active = IconData(0xe807, fontFamily: _kFontFam, fontPackage: _kFontPkg);
- static const IconData scdedule_icon_active = IconData(0xe808, fontFamily: _kFontFam, fontPackage: _kFontPkg);
- static const IconData schedule_icon = IconData(0xe809, fontFamily: _kFontFam, fontPackage: _kFontPkg);
- static const IconData discharge_patient = IconData(0xe80a, fontFamily: _kFontFam, fontPackage: _kFontPkg);
- static const IconData approved_icon = IconData(0xe80b, fontFamily: _kFontFam, fontPackage: _kFontPkg);
- static const IconData pending_icon = IconData(0xe80c, fontFamily: _kFontFam, fontPackage: _kFontPkg);
- static const IconData in_patient_white = IconData(0xe80d, fontFamily: _kFontFam, fontPackage: _kFontPkg);
- static const IconData lab_results = IconData(0xe80e, fontFamily: _kFontFam, fontPackage: _kFontPkg);
- static const IconData home_icon = IconData(0xe80f, fontFamily: _kFontFam, fontPackage: _kFontPkg);
- static const IconData operations = IconData(0xe813, fontFamily: _kFontFam, fontPackage: _kFontPkg);
- static const IconData out_patient = IconData(0xe814, fontFamily: _kFontFam, fontPackage: _kFontPkg);
- static const IconData patient = IconData(0xe815, fontFamily: _kFontFam, fontPackage: _kFontPkg);
- static const IconData radiology = IconData(0xe817, fontFamily: _kFontFam, fontPackage: _kFontPkg);
- static const IconData mail = IconData(0xe81e, fontFamily: _kFontFam, fontPackage: _kFontPkg);
- static const IconData medicine_search = IconData(0xe81f, fontFamily: _kFontFam, fontPackage: _kFontPkg);
- static const IconData qr_code = IconData(0xe820, fontFamily: _kFontFam, fontPackage: _kFontPkg);
- static const IconData referral = IconData(0xe821, fontFamily: _kFontFam, fontPackage: _kFontPkg);
- static const IconData referred = IconData(0xe822, fontFamily: _kFontFam, fontPackage: _kFontPkg);
- static const IconData search_patient = IconData(0xe823, fontFamily: _kFontFam, fontPackage: _kFontPkg);
- static const IconData sync_icon = IconData(0xe824, fontFamily: _kFontFam, fontPackage: _kFontPkg);
- static const IconData drawer_icon = IconData(0xe825, fontFamily: _kFontFam, fontPackage: _kFontPkg);
+ static const String _kFontPkg = null;
+ static const IconData female_icon =
+ IconData(0xe800, fontFamily: _kFontFam, fontPackage: _kFontPkg);
+ static const IconData male =
+ IconData(0xe801, fontFamily: _kFontFam, fontPackage: _kFontPkg);
+ static const IconData reject_icon =
+ IconData(0xe802, fontFamily: _kFontFam, fontPackage: _kFontPkg);
+ static const IconData home_icon_active =
+ IconData(0xe803, fontFamily: _kFontFam, fontPackage: _kFontPkg);
+ static const IconData menu_icon =
+ IconData(0xe804, fontFamily: _kFontFam, fontPackage: _kFontPkg);
+ static const IconData menu_icon_active =
+ IconData(0xe805, fontFamily: _kFontFam, fontPackage: _kFontPkg);
+ static const IconData message_icon =
+ IconData(0xe806, fontFamily: _kFontFam, fontPackage: _kFontPkg);
+ static const IconData message_icon_active =
+ IconData(0xe807, fontFamily: _kFontFam, fontPackage: _kFontPkg);
+ static const IconData scdedule_icon_active =
+ IconData(0xe808, fontFamily: _kFontFam, fontPackage: _kFontPkg);
+ static const IconData schedule_icon =
+ IconData(0xe809, fontFamily: _kFontFam, fontPackage: _kFontPkg);
+ static const IconData discharge_patient =
+ IconData(0xe80a, fontFamily: _kFontFam, fontPackage: _kFontPkg);
+ static const IconData approved_icon =
+ IconData(0xe80b, fontFamily: _kFontFam, fontPackage: _kFontPkg);
+ static const IconData pending_icon =
+ IconData(0xe80c, fontFamily: _kFontFam, fontPackage: _kFontPkg);
+ static const IconData in_patient_white =
+ IconData(0xe80d, fontFamily: _kFontFam, fontPackage: _kFontPkg);
+ static const IconData lab_results =
+ IconData(0xe80e, fontFamily: _kFontFam, fontPackage: _kFontPkg);
+ static const IconData home_icon =
+ IconData(0xe80f, fontFamily: _kFontFam, fontPackage: _kFontPkg);
+ static const IconData operations =
+ IconData(0xe813, fontFamily: _kFontFam, fontPackage: _kFontPkg);
+ static const IconData out_patient =
+ IconData(0xe814, fontFamily: _kFontFam, fontPackage: _kFontPkg);
+ static const IconData patient =
+ IconData(0xe815, fontFamily: _kFontFam, fontPackage: _kFontPkg);
+ static const IconData qr_code =
+ IconData(0xe816, fontFamily: _kFontFam, fontPackage: _kFontPkg);
+ static const IconData radiology =
+ IconData(0xe817, fontFamily: _kFontFam, fontPackage: _kFontPkg);
+ static const IconData referral =
+ IconData(0xe818, fontFamily: _kFontFam, fontPackage: _kFontPkg);
+ static const IconData search_patient =
+ IconData(0xe81a, fontFamily: _kFontFam, fontPackage: _kFontPkg);
+ static const IconData mail =
+ IconData(0xe81e, fontFamily: _kFontFam, fontPackage: _kFontPkg);
+ static const IconData medicine_search =
+ IconData(0xe81f, fontFamily: _kFontFam, fontPackage: _kFontPkg);
+ static const IconData referred =
+ IconData(0xe822, fontFamily: _kFontFam, fontPackage: _kFontPkg);
+ static const IconData sync_icon =
+ IconData(0xe824, fontFamily: _kFontFam, fontPackage: _kFontPkg);
+ static const IconData drawer_icon =
+ IconData(0xe825, fontFamily: _kFontFam, fontPackage: _kFontPkg);
+ static const IconData leaves =
+ IconData(0xe836, fontFamily: _kFontFam, fontPackage: _kFontPkg);
}
diff --git a/lib/locator.dart b/lib/locator.dart
index e6882ab3..a4ca7289 100644
--- a/lib/locator.dart
+++ b/lib/locator.dart
@@ -13,8 +13,10 @@ import 'package:doctor_app_flutter/core/viewModel/sick_leave_view_model.dart';
import 'package:get_it/get_it.dart';
import 'core/service/SOAP_service.dart';
+import 'core/service/patient-admission-request-service.dart';
import 'core/service/doctor_reply_service.dart';
import 'core/service/medicine_service.dart';
+import 'core/service/patient-ucaf-service.dart';
import 'core/service/patient-vital-signs-service.dart';
import 'core/service/patient-doctor-referral-service.dart';
import 'core/service/referral_patient_service.dart';
@@ -23,6 +25,8 @@ import 'core/service/schedule_service.dart';
import 'core/viewModel/SOAP_view_model.dart';
import 'core/viewModel/doctor_replay_view_model.dart';
import 'core/viewModel/medicine_view_model.dart';
+import 'core/viewModel/patient-admission-request-viewmodel.dart';
+import 'core/viewModel/patient-ucaf-viewmodel.dart';
import 'core/viewModel/patient-vital-sign-viewmodel.dart';
import 'core/viewModel/patient-referral-viewmodel.dart';
import 'core/viewModel/referral_view_model.dart';
@@ -48,6 +52,8 @@ void setupLocator() {
locator.registerLazySingleton(() => ProcedureService());
locator.registerLazySingleton(() => VitalSignsService());
locator.registerLazySingleton(() => MedicalFileService());
+ locator.registerLazySingleton(() => AdmissionRequestService());
+ locator.registerLazySingleton(() => UcafService());
/// View Model
locator.registerFactory(() => DoctorReplayViewModel());
@@ -63,5 +69,7 @@ void setupLocator() {
locator.registerFactory(() => PrescriptionViewModel());
locator.registerFactory(() => ProcedureViewModel());
locator.registerFactory(() => VitalSignsViewModel());
+ locator.registerFactory(() => AdmissionRequestViewModel());
+ locator.registerFactory(() => UcafViewModel());
locator.registerFactory(() => MedicalFileViewModel());
}
diff --git a/lib/models/SOAP/GetAssessmentReqModel.dart b/lib/models/SOAP/GetAssessmentReqModel.dart
new file mode 100644
index 00000000..1085bf8c
--- /dev/null
+++ b/lib/models/SOAP/GetAssessmentReqModel.dart
@@ -0,0 +1,40 @@
+class GetAssessmentReqModel {
+ int patientMRN;
+ int appointmentNo;
+ String episodeID;
+ String from;
+ String to;
+ int clinicID;
+ int doctorID;
+
+ GetAssessmentReqModel(
+ {this.patientMRN,
+ this.appointmentNo,
+ this.episodeID,
+ this.from,
+ this.to,
+ this.clinicID,
+ this.doctorID});
+
+ GetAssessmentReqModel.fromJson(Map json) {
+ patientMRN = json['PatientMRN'];
+ appointmentNo = json['AppointmentNo'];
+ episodeID = json['EpisodeID'];
+ from = json['From'];
+ to = json['To'];
+ clinicID = json['ClinicID'];
+ doctorID = json['DoctorID'];
+ }
+
+ Map toJson() {
+ final Map data = new Map();
+ data['PatientMRN'] = this.patientMRN;
+ data['AppointmentNo'] = this.appointmentNo;
+ data['EpisodeID'] = this.episodeID;
+ data['From'] = this.from;
+ data['To'] = this.to;
+ data['ClinicID'] = this.clinicID;
+ data['DoctorID'] = this.doctorID;
+ return data;
+ }
+}
diff --git a/lib/models/SOAP/GetAssessmentResModel.dart b/lib/models/SOAP/GetAssessmentResModel.dart
new file mode 100644
index 00000000..4d1b1b68
--- /dev/null
+++ b/lib/models/SOAP/GetAssessmentResModel.dart
@@ -0,0 +1,72 @@
+class GetAssessmentResModel {
+ int appointmentNo;
+ String asciiDesc;
+ String clinicDescription;
+ int clinicID;
+ bool complexDiagnosis;
+ int conditionID;
+ int createdBy;
+ String createdOn;
+ int diagnosisTypeID;
+ int doctorID;
+ String doctorName;
+ int episodeId;
+ String icdCode10ID;
+ int patientMRN;
+ String remarks;
+
+ GetAssessmentResModel(
+ {this.appointmentNo,
+ this.asciiDesc,
+ this.clinicDescription,
+ this.clinicID,
+ this.complexDiagnosis,
+ this.conditionID,
+ this.createdBy,
+ this.createdOn,
+ this.diagnosisTypeID,
+ this.doctorID,
+ this.doctorName,
+ this.episodeId,
+ this.icdCode10ID,
+ this.patientMRN,
+ this.remarks});
+
+ GetAssessmentResModel.fromJson(Map json) {
+ appointmentNo = json['appointmentNo'];
+ asciiDesc = json['ascii_Desc'];
+ clinicDescription = json['clinicDescription'];
+ clinicID = json['clinicID'];
+ complexDiagnosis = json['complexDiagnosis'];
+ conditionID = json['conditionID'];
+ createdBy = json['createdBy'];
+ createdOn = json['createdOn'];
+ diagnosisTypeID = json['diagnosisTypeID'];
+ doctorID = json['doctorID'];
+ doctorName = json['doctorName'];
+ episodeId = json['episodeId'];
+ icdCode10ID = json['icdCode10ID'];
+ patientMRN = json['patientMRN'];
+ remarks = json['remarks'];
+ }
+
+ Map toJson() {
+ final Map data = new Map();
+ data['appointmentNo'] = this.appointmentNo;
+ data['ascii_Desc'] = this.asciiDesc;
+ data['clinicDescription'] = this.clinicDescription;
+ data['clinicID'] = this.clinicID;
+ data['complexDiagnosis'] = this.complexDiagnosis;
+ data['conditionID'] = this.conditionID;
+ data['createdBy'] = this.createdBy;
+ data['createdOn'] = this.createdOn;
+ data['diagnosisTypeID'] = this.diagnosisTypeID;
+ data['doctorID'] = this.doctorID;
+ data['doctorName'] = this.doctorName;
+ data['episodeId'] = this.episodeId;
+ data['icdCode10ID'] = this.icdCode10ID;
+ data['patientMRN'] = this.patientMRN;
+ data['remarks'] = this.remarks;
+ return data;
+ }
+}
diff --git a/lib/models/SOAP/GetHistoryReqModel.dart b/lib/models/SOAP/GetHistoryReqModel.dart
index 9b852e9b..1df26690 100644
--- a/lib/models/SOAP/GetHistoryReqModel.dart
+++ b/lib/models/SOAP/GetHistoryReqModel.dart
@@ -1,18 +1,45 @@
class GetHistoryReqModel {
int patientMRN;
int historyType;
+ String episodeID;
+ String from;
+ String to;
+ int clinicID;
+ int doctorID;
+ int appointmentNo;
- GetHistoryReqModel({this.patientMRN, this.historyType});
+ GetHistoryReqModel(
+ {this.patientMRN,
+ this.historyType,
+ this.episodeID,
+ this.from,
+ this.to,
+ this.clinicID,
+ this.doctorID,
+ this.appointmentNo});
GetHistoryReqModel.fromJson(Map json) {
patientMRN = json['PatientMRN'];
historyType = json['HistoryType'];
+ episodeID = json['EpisodeID'];
+ from = json['From'];
+ to = json['To'];
+ clinicID = json['ClinicID'];
+ doctorID = json['DoctorID'];
+ appointmentNo = json['AppointmentNo'];
+
}
Map toJson() {
final Map data = new Map();
data['PatientMRN'] = this.patientMRN;
data['HistoryType'] = this.historyType;
+ data['AppointmentNo'] = this.appointmentNo;
+ data['EpisodeID'] = this.episodeID;
+ data['From'] = this.from;
+ data['To'] = this.to;
+ data['ClinicID'] = this.clinicID;
+ data['DoctorID'] = this.doctorID;
return data;
}
}
diff --git a/lib/routes.dart b/lib/routes.dart
index c2264b66..962df032 100644
--- a/lib/routes.dart
+++ b/lib/routes.dart
@@ -1,6 +1,7 @@
import 'package:doctor_app_flutter/config/config.dart';
import 'package:doctor_app_flutter/root_page.dart';
import 'package:doctor_app_flutter/screens/medical-file/medical_file_page.dart';
+import 'package:doctor_app_flutter/screens/patients/profile/UCAF/UCAF-input-screen.dart';
import 'package:doctor_app_flutter/screens/patients/profile/insurance_approvals_screen.dart';
import 'package:doctor_app_flutter/screens/patients/profile/patient_orders_screen.dart';
import 'package:doctor_app_flutter/screens/patients/profile/progress_note_screen.dart';
@@ -10,7 +11,6 @@ import 'package:doctor_app_flutter/screens/patients/profile/prescriptions/in_pat
import 'package:doctor_app_flutter/screens/live_care/video_call.dart';
import 'package:doctor_app_flutter/screens/sick-leave/add-sickleave.dart';
import 'package:doctor_app_flutter/screens/sick-leave/sick_leave.dart';
-import 'package:doctor_app_flutter/widgets/patients/profile/SOAP/add_SOAP_index.dart';
import 'package:doctor_app_flutter/screens/procedures/procedure_screen.dart';
import 'package:doctor_app_flutter/widgets/patients/profile/soap_update/update_soap_index.dart';
@@ -43,6 +43,9 @@ import './screens/settings/settings_screen.dart';
import 'landing_page.dart';
import 'screens/doctor/doctor_reply_screen.dart';
import 'screens/live_care/panding_list.dart';
+import 'screens/patients/profile/admission-request/admission-request-detail-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/referral/my-referral-detail-screen.dart';
import 'screens/patients/profile/referral/refer-patient-screen.dart';
import 'screens/prescription/prescription_screen.dart';
@@ -84,6 +87,10 @@ const String VITAL_SIGN_DETAILS = 'patients/vital-sign-details';
const String CREATE_EPISODE = 'patients/create-episode';
const String UPDATE_EPISODE = 'patients/update-episode';
const String PATIENT_VITAL_SIGN = 'patients/vital-sign-data';
+const String PATIENT_ADMISSION_REQUEST = 'patients/admission-request';
+const String PATIENT_ADMISSION_REQUEST_2 = 'patients/admission-request-second';
+const String PATIENT_ADMISSION_REQUEST_3 = 'patients/admission-request-third';
+const String PATIENT_UCAF_REQUEST = 'patients/ucaf';
const String BODY_MEASUREMENTS = 'patients/body-measurements';
const String IN_PATIENT_PRESCRIPTIONS_DETAILS = 'patients/prescription-details';
@@ -128,7 +135,10 @@ var routes = {
PATIENT_INSURANCE_APPROVALS: (_) => InsuranceApprovalsScreen(),
VITAL_SIGN_DETAILS: (_) => VitalSignDetailsScreen(),
PATIENT_VITAL_SIGN: (_) => PatientVitalSignScreen(),
- CREATE_EPISODE: (_) => AddSOAPIndex(),
+ PATIENT_ADMISSION_REQUEST: (_) => AdmissionRequestDetailScreen(),
+ PATIENT_ADMISSION_REQUEST_2: (_) => AdmissionRequestSecondScreen(),
+ PATIENT_ADMISSION_REQUEST_3: (_) => AdmissionRequestThirdScreen(),
+ CREATE_EPISODE: (_) => UpdateSoapIndex(isUpdate: true,),
UPDATE_EPISODE: (_) => UpdateSoapIndex(
isUpdate: true,
),
@@ -144,4 +154,5 @@ var routes = {
// LIVECARE_END_DIALOG: (_) => EndCallDialogBox()
MY_REFERRAL_DETAIL: (_) => MyReferralDetailScreen(),
+ PATIENT_UCAF_REQUEST: (_) => UCAFInputScreen(),
};
diff --git a/lib/screens/dashboard_screen.dart b/lib/screens/dashboard_screen.dart
index b6bbc6cf..20f22382 100644
--- a/lib/screens/dashboard_screen.dart
+++ b/lib/screens/dashboard_screen.dart
@@ -11,6 +11,7 @@ import 'package:doctor_app_flutter/core/viewModel/hospital_view_model.dart';
import 'package:doctor_app_flutter/core/viewModel/project_view_model.dart';
import 'package:doctor_app_flutter/screens/base/base_view.dart';
import 'package:doctor_app_flutter/screens/patients/profile/referral/my-referral-patient-screen.dart';
+import 'package:doctor_app_flutter/screens/reschedule-leaves/add-rescheduleleave.dart';
import 'package:doctor_app_flutter/util/dr_app_shared_pref.dart';
import 'package:doctor_app_flutter/util/helpers.dart';
import 'package:doctor_app_flutter/util/translations_delegate_base.dart';
@@ -184,7 +185,9 @@ class _DashboardScreenState extends State {
),
Container(
color: Colors.white,
- height: this.isExpanded ? 150 : 110,
+ height: this.isExpanded
+ ? MediaQuery.of(context).size.height * 0.19
+ : MediaQuery.of(context).size.height * 0.12,
),
],
),
@@ -953,6 +956,40 @@ class _DashboardScreenState extends State {
SizedBox(
height: 20,
),
+ Row(
+ children: [
+ DashboardItem(
+ child: Column(
+ mainAxisAlignment: MainAxisAlignment.spaceAround,
+ children: [
+ Icon(
+ DoctorApp.leaves,
+ size: 50,
+ ),
+ AppText(
+ TranslationBase.of(context).rescheduleLeaves,
+ color: Colors.black,
+ textAlign: TextAlign.center,
+ )
+ ],
+ ),
+ hasBorder: true,
+ onTap: () {
+ Navigator.push(
+ context,
+ MaterialPageRoute(
+ builder: (context) =>
+ AddRescheduleLeavScreen(),
+ // MyReferredPatient(),
+ ),
+ );
+ },
+ )
+ ],
+ ),
+ SizedBox(
+ height: 20,
+ ),
],
),
),
diff --git a/lib/screens/patients/patients_screen.dart b/lib/screens/patients/patients_screen.dart
index 74c9234c..33b2606c 100644
--- a/lib/screens/patients/patients_screen.dart
+++ b/lib/screens/patients/patients_screen.dart
@@ -274,34 +274,35 @@ class _PatientsScreenState extends State {
.then((res) {
setState(() {
_isLoading = false;
- // if (res['MessageStatus'] == 1) {
- if (val2 == 7) {
- print("Assad");
- if (res[SERVICES_PATIANT2[val2]] == null) {
- _isError = true;
- _isLoading = false;
- this.error = error.toString();
+ if (res['MessageStatus'] == 1) {
+ if (val2 == 7) {
+ if (res[SERVICES_PATIANT2[val2]] == null) {
+ _isError = true;
+ _isLoading = false;
+ this.error = error.toString();
+ } else {
+ var localList = [];
+ res["patientArrivalList"]["entityList"].forEach((v) {
+ Map mergedPatient = {
+ ...v,
+ ...v["patientDetails"]
+ };
+ localList.add(mergedPatient);
+ });
+ print(localList.toString());
+ lItems = localList;
+ }
} else {
-
- var localList=[];
- res["patientArrivalList"]["entityList"].forEach((v) {
- Map mergedPatient= {...v,...v["patientDetails"]};
- localList.add(mergedPatient);
- });
- print(localList.toString());
- lItems = localList;//res[SERVICES_PATIANT2[val2]]["entityList"];
+ lItems = res[SERVICES_PATIANT2[val2]];
}
+ parsed = lItems;
+ responseModelList = new ModelResponse.fromJson(parsed).list;
+ responseModelList2 = responseModelList;
+ _isError = false;
} else {
- lItems = res[SERVICES_PATIANT2[val2]];
+ _isError = true;
+ error = res['ErrorEndUserMessage'] ?? res['ErrorMessage'];
}
- parsed = lItems;
- responseModelList = new ModelResponse.fromJson(parsed).list;
- responseModelList2 = responseModelList;
- _isError = false;
- // } else {
- // _isError = true;
- // error = res['ErrorEndUserMessage'] ?? res['ErrorMessage'];
- // }
});
}).catchError((error) {
setState(() {
@@ -679,7 +680,8 @@ class _PatientsScreenState extends State {
.pushNamed(
PATIENTS_PROFILE,
arguments: {
- "patient": item
+ "patient": item,
+ "patientType":patientType
});
},
),
diff --git a/lib/screens/patients/profile/UCAF/UCAF-input-screen.dart b/lib/screens/patients/profile/UCAF/UCAF-input-screen.dart
new file mode 100644
index 00000000..82b01144
--- /dev/null
+++ b/lib/screens/patients/profile/UCAF/UCAF-input-screen.dart
@@ -0,0 +1,433 @@
+import 'package:doctor_app_flutter/config/config.dart';
+import 'package:doctor_app_flutter/config/size_config.dart';
+import 'package:doctor_app_flutter/core/viewModel/patient-ucaf-viewmodel.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/helpers.dart';
+import 'package:doctor_app_flutter/util/translations_delegate_base.dart';
+import 'package:doctor_app_flutter/widgets/shared/app_buttons_widget.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:flutter/material.dart';
+import 'package:flutter/services.dart';
+import 'package:hexcolor/hexcolor.dart';
+
+class UCAFInputScreen extends StatefulWidget {
+ @override
+ _UCAFInputScreenState createState() => _UCAFInputScreenState();
+}
+
+class _UCAFInputScreenState extends State {
+ bool _inPatient = false;
+ bool _emergencyCase = false;
+ final _durationOfIllnessController = TextEditingController();
+ final _additionalComplaintsController = TextEditingController();
+ final _otherController = TextEditingController();
+ final _howController = TextEditingController();
+ final _whenController = TextEditingController();
+ final _whereController = TextEditingController();
+ final _managementsLineController = TextEditingController();
+ final _signsController = TextEditingController();
+ List