Merge branch 'add_out_patient_filter' into 'development'

Add out patient filter

See merge request Cloud_Solution/doctor_app_flutter!626
merge-requests/627/merge
Mohammad Aljammal 5 years ago
commit 0bcfd8f911

@ -322,4 +322,4 @@ SPEC CHECKSUMS:
PODFILE CHECKSUM: 649616dc336b3659ac6b2b25159d8e488e042b69
COCOAPODS: 1.10.1
COCOAPODS: 1.10.0.rc.1

@ -147,7 +147,7 @@ class BaseAppClient {
: SETUP_ID;
}
body['VersionID'] = 5.9;
body['VersionID'] = VERSION_ID;
body['Channel'] = CHANNEL;
body['LanguageID'] = languageID == 'ar' ? 1 : 2;

@ -276,8 +276,8 @@ const Map<String, Map<String, String>> localizedValues = {
'age2': {'en': 'Age: ', 'ar': 'العمر: '},
'replySuccessfully': {'en': 'Reply Successfully', 'ar': 'تم الرد بنجاح'},
"sick-leaves": {"en": "Patient Sick Leave", "ar": "الاجازات المرضية"},
"patient-sick": {"en": "Patient Sick", "ar": "المرضية"},
"leave": {"en": "Leave", "ar": "غادر"},
"patient-sick": {"en": "Patient Sick", "ar": "مرضية"},
"leave": {"en": "Leave", "ar": "مغادره"},
"submit": {"en": "Submit", "ar": "ارسال"},
"doc-name": {"en": "Doctor Name", "ar": "اسم الطبيب"},
"clinicname": {"en": "Clinic Name", "ar": "اسم العيادة"},
@ -654,8 +654,8 @@ const Map<String, Map<String, String>> localizedValues = {
},
'progressNoteSOAP': {'en': "Progress Note", 'ar': "ملاحظة التقدم"},
'addProgressNote': {'en': "Add Progress Note", 'ar': "أضف ملاحظة التقدم"},
'createdBy': {'en': "Created By :", 'ar': "أضيفت : "},
'editedBy': {'en': "Edited By :", 'ar': "عدلت : "},
'createdBy': {'en': "Created By :", 'ar': "أضيفت من قبل : "},
'editedBy': {'en': "Edited By :", 'ar': "عدلت من قبل : "},
'currentMedications': {'en': "Current Medications", 'ar': "الأدوية الحالية"},
'noItem': {
'en': "No items exists in this list",
@ -783,7 +783,7 @@ const Map<String, Map<String, String>> localizedValues = {
"open-rad": {"en": "Open Radiology Image", "ar": "فتح صور الاشعة"},
'fileNumber': {'en': "File Number: ", 'ar': " :رقم الملف"},
'fileNumber': {'en': "File Number: ", 'ar': "رقم الملف : "},
'searchPatient-name': {
'en': 'Search Name, Medical File, Phone Number',
'ar': "اسم البحث ، الملف الطبي ، رقم الهاتف"
@ -819,7 +819,7 @@ const Map<String, Map<String, String>> localizedValues = {
"add-reschedule": {"en": "Add reschedule", "ar": "أضف إعادة الجدولة"},
"update-reschedule": {"en": "Update reschedule", "ar": "تحديث إعادة الجدولة"},
"sick_leave": {"en": "Sick Leave", "ar": "أجازة مرضية"},
"sick_leave": {"en": "Sick Leave", "ar": "إجازة مرضية"},
"addSickLeaveRequest": {
"en": "Add Sick Leave Request",
"ar": "إضافة طلب إجازة مرضية"
@ -847,7 +847,7 @@ const Map<String, Map<String, String>> localizedValues = {
"en": "Apply Reschedule Leave",
"ar": "التقدم بطلب أو إعادة جدولة الإجازة"
},
"myQRCode": {"en": "My QR Code", "ar": "My QR Code"},
"myQRCode": {"en": "My QR Code", "ar": " كود QR "},
"patientIDMobilenational": {
"en": "Patient ID, National ID, Mobile Number",
"ar": "هوية المريض ، الهوية الوطنية ، رقم الهاتف المحمول"
@ -928,8 +928,8 @@ const Map<String, Map<String, String>> localizedValues = {
"newRadiologyOrder": {"en": "New Radiology Order", "ar": "طلب الأشعة الجديد"},
"orderDate": {"en": "Order Date", "ar": "تاريخ الطلب"},
"examType": {"en": "Exam Type", "ar": "نوع الفحص"},
"health": {"en": "Health", "ar": "التقرير"},
"summary": {"en": "Summary", "ar": "الصحي"},
"health": {"en": "Health", "ar": "الصحي"},
"summary": {"en": "Summary", "ar": "التقرير"},
"applyForNewPrescriptionsOrder": {
"en": "Apply for New Prescriptions Order",
"ar": "التقدم بطلب للحصول على وصفات طبية جديدة "
@ -946,4 +946,21 @@ const Map<String, Map<String, String>> localizedValues = {
"approvals22": {"en": "Approvals", "ar": "التامين"},
"severe": {"en": "Severe", "ar": "الشدة"},
"graphDetails": {"en": "Graph Details", "ar": "تفاصيل الرسم البياني"},
"addNewOrderSheet": {"en": "Add a New Order Sheet", "ar": "أضف ورقة طلب جديدة"},
"addNewProgressNote": {"en": "Add a New Progress Note", "ar": "أضف ملاحظة تقدم جديدة"},
"notePending": {"en": "Pending", "ar": "قيد الانتظار"},
"noteCanceled": {"en": "Canceled", "ar": "ألغيت"},
"noteVerified": {"en": "Verified", "ar": "تم التحقق"},
'noteVerify': {'en': 'Verify', 'ar': 'تحقق'},
'noteConfirm': {'en': 'Confirm', 'ar': 'تاكيد'},
'noteAdd': {'en': 'Add ', 'ar': 'اضف '},
'noteUpdateْْ': {'en': 'Update ', 'ar': 'تحديت'},
'orderSheet': {'en': 'Order Sheet', 'ar': 'ورقة الطلب'},
'order': {'en': 'Order', 'ar': 'الطلب'},
'sheet': {'en': 'Sheet', 'ar': 'ورقة'},
'medical': {'en': 'Medical', 'ar': 'الطبي'},
'report': {'en': 'Report', 'ar': 'التقرير'},
'discharge': {'en': 'Discharge', 'ar': 'discharge'},
};

@ -90,7 +90,7 @@ class _LandingPageState extends State<LandingPage> {
case 2:
return TranslationBase.of(context).qr;
case 3:
return TranslationBase.of(context).replay;
return TranslationBase.of(context).replay2;
}
}
}

@ -1,5 +1,5 @@
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/medical-file/health_summary_page.dart';
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/UCAF/UCAF-detail-screen.dart';
@ -37,7 +37,7 @@ const String PATIENTS = 'patients/patients';
const String PATIENTS_PROFILE = 'patients/patients-profile';
const String IN_PATIENTS_PROFILE = 'inpatients/patients-profile';
const String LAB_RESULT = 'patients/lab_result';
const String MEDICAL_FILE = 'patients/radiology';
const String HEALTH_SUMMARY = 'patients/health-summary';
const String PROGRESS_NOTE = 'patients/progress-note';
const String ORDER_NOTE = 'patients/order-note';
@ -70,7 +70,7 @@ var routes = {
VERIFICATION_METHODS: (_) => VerificationMethodsScreen(),
PATIENTS_PROFILE: (_) => PatientProfileScreen(),
LAB_RESULT: (_) => LabsHomePage(),
MEDICAL_FILE: (_) => MedicalFilePage(),
HEALTH_SUMMARY: (_) => HealthSummaryPage(),
PROGRESS_NOTE: (_) => ProgressNoteScreen(visitType: 5,),
ORDER_NOTE: (_) => ProgressNoteScreen(visitType: 3,),
REFER_PATIENT_TO_DOCTOR: (_) => PatientMakeReferralScreen(),

@ -11,12 +11,12 @@ import 'package:doctor_app_flutter/widgets/shared/doctor_card.dart';
import 'package:doctor_app_flutter/widgets/shared/network_base_view.dart';
import 'package:flutter/material.dart';
class MedicalFilePage extends StatefulWidget {
class HealthSummaryPage extends StatefulWidget {
@override
_MedicalFilePageState createState() => _MedicalFilePageState();
_HealthSummaryPageState createState() => _HealthSummaryPageState();
}
class _MedicalFilePageState extends State<MedicalFilePage> {
class _HealthSummaryPageState extends State<HealthSummaryPage> {
PatiantInformtion patient;
@override
Widget build(BuildContext context) {

@ -109,7 +109,7 @@ class _OutPatientsScreenState extends State<OutPatientsScreen> {
baseViewModel: model,
body: Column(
children: [
Container(
Container(
// color: Colors.red,
height: screenSize.height * 0.070,
decoration: TextFieldsUtils
@ -155,11 +155,40 @@ class _OutPatientsScreenState extends State<OutPatientsScreen> {
borderRadius: 4,
borderWidth: 0),
child: Center(
child: AppText(
item,
fontSize: SizeConfig.textMultiplier * 1.8,
color: _isActive ? Colors.white : Color(0xFF2B353E),
fontWeight: FontWeight.w700,
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
AppText(
item,
fontSize: SizeConfig.textMultiplier * 1.8,
color: _isActive ? Colors.white : Color(0xFF2B353E),
fontWeight: FontWeight.w700,
),
_isActive&&_activeLocation!=0 ?Container(
padding: EdgeInsets.all(2),
margin: EdgeInsets.symmetric(horizontal: 5),
decoration:
new BoxDecoration(
color: Colors.white,
borderRadius:
BorderRadius.circular(
50),
),
constraints: BoxConstraints(
minWidth: 20,
minHeight: 20,
),
child: new Text(
model.filterData.length.toString(),
style: new TextStyle(
color: Colors.red,
fontSize: 10
),
textAlign:
TextAlign.center,
),
):Container(),
],
),
),
),
@ -169,7 +198,6 @@ class _OutPatientsScreenState extends State<OutPatientsScreen> {
}).toList(),
),
),
SizedBox(height: 18.5),
Container(
width: SizeConfig.screenWidth * 0.9,

@ -141,7 +141,7 @@ class _InPatientProfileScreenState extends State<InPatientProfileScreen>with Sin
patient: patient,
patientType: patientType,
arrivalType: arrivalType,
route: MEDICAL_FILE,
route: HEALTH_SUMMARY,
nameLine1: "Health",
//TranslationBase.of(context).medicalReport,
nameLine2: "Summary",
@ -152,7 +152,7 @@ class _InPatientProfileScreenState extends State<InPatientProfileScreen>with Sin
patientType: patientType,
arrivalType: arrivalType,
isDisable: true,
route: MEDICAL_FILE,
route: HEALTH_SUMMARY,
nameLine1: "Medical", //Health
//TranslationBase.of(context).medicalReport,
nameLine2: "Report", //Report

@ -2,6 +2,7 @@ import 'package:doctor_app_flutter/core/model/note/note_model.dart';
import 'package:doctor_app_flutter/core/model/note/update_note_model.dart';
import 'package:doctor_app_flutter/core/viewModel/auth_view_model.dart';
import 'package:doctor_app_flutter/core/viewModel/patient_view_model.dart';
import 'package:doctor_app_flutter/core/viewModel/project_view_model.dart';
import 'package:doctor_app_flutter/icons_app/doctor_app_icons.dart';
import 'package:doctor_app_flutter/models/patient/progress_note_request.dart';
import 'package:doctor_app_flutter/screens/base/base_view.dart';
@ -42,9 +43,10 @@ class _ProgressNoteState extends State<ProgressNoteScreen> {
var _isInit = true;
bool isDischargedPatient = false;
AuthViewModel authProvider;
ProjectViewModel projectViewModel;
getProgressNoteList(BuildContext context, PatientViewModel model, {bool isLocalBusy = false}) async {
getProgressNoteList(BuildContext context, PatientViewModel model,
{bool isLocalBusy = false}) async {
final routeArgs = ModalRoute.of(context).settings.arguments as Map;
PatiantInformtion patient = routeArgs['patient'];
String token = await sharedPref.getString(TOKEN);
@ -59,7 +61,10 @@ class _ProgressNoteState extends State<ProgressNoteScreen> {
tokenID: token,
patientTypeID: patient.patientType,
languageID: 2);
model.getPatientProgressNote(progressNoteRequest.toJson(), isLocalBusy: isLocalBusy).then((c) {
model
.getPatientProgressNote(progressNoteRequest.toJson(),
isLocalBusy: isLocalBusy)
.then((c) {
notesList = model.patientProgressNoteList;
});
}
@ -67,97 +72,124 @@ class _ProgressNoteState extends State<ProgressNoteScreen> {
@override
Widget build(BuildContext context) {
authProvider = Provider.of(context);
final routeArgs = ModalRoute.of(context).settings.arguments as Map;
projectViewModel = Provider.of(context);
final routeArgs = ModalRoute
.of(context)
.settings
.arguments as Map;
PatiantInformtion patient = routeArgs['patient'];
String arrivalType = routeArgs['arrivalType'];
if(routeArgs.containsKey('isDischargedPatient'))
isDischargedPatient = routeArgs['isDischargedPatient'];
if (routeArgs.containsKey('isDischargedPatient'))
isDischargedPatient = routeArgs['isDischargedPatient'];
return BaseView<PatientViewModel>(
onModelReady: (model) => getProgressNoteList(context, model),
builder: (_, model, w) => AppScaffold(
baseViewModel: model,
backgroundColor: Theme.of(context).scaffoldBackgroundColor,
// appBarTitle: TranslationBase.of(context).progressNote,
appBar: PatientProfileHeaderNewDesignAppBar(
patient, patient.patientType.toString() ?? '0', arrivalType,isInpatient: true,),
body: model.patientProgressNoteList == null || model.patientProgressNoteList.length == 0
? DrAppEmbeddedError(
error: TranslationBase.of(context).errorNoProgressNote)
: Container(
color: Colors.grey[200],
builder: (_, model, w) =>
AppScaffold(
baseViewModel: model,
backgroundColor: Theme
.of(context)
.scaffoldBackgroundColor,
// appBarTitle: TranslationBase.of(context).progressNote,
appBar: PatientProfileHeaderNewDesignAppBar(
patient,
patient.patientType.toString() ?? '0',
arrivalType,
isInpatient: true,
),
body: model.patientProgressNoteList == null ||
model.patientProgressNoteList.length == 0
? DrAppEmbeddedError(
error: TranslationBase
.of(context)
.errorNoProgressNote)
: Container(
color: Colors.grey[200],
child: Column(
children: <Widget>[
if(!isDischargedPatient)
AddNewOrder( onTap: () {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => UpdateNoteOrder(
patientModel: model,
patient: patient,
visitType: widget.visitType,
isUpdate: false,
)),
);
},label: widget.visitType ==3?'Add a New Order Sheet':'Create a New Progress Note',),
Expanded(
child: Container(
child: ListView.builder(
itemCount: model.patientProgressNoteList.length,
itemBuilder: (BuildContext ctxt, int index) {
return FractionallySizedBox(
widthFactor: 0.95,
child: CardWithBgWidget(
hasBorder: false,
bgColor: model.patientProgressNoteList[index]
.status ==
1 &&
authProvider.doctorProfile.doctorID !=
model
.patientProgressNoteList[
index]
.createdBy
? Color(0xFFCC9B14):model
.patientProgressNoteList[
index]
.status ==
4?Colors.red.shade700
: model
.patientProgressNoteList[
index]
.status ==
2?Colors.green[600]:Color(0xFFCC9B14),
widget: Column(
children: [
Column(
crossAxisAlignment:
CrossAxisAlignment.start,
children: [
if (model
.patientProgressNoteList[
index]
.status ==
1 &&
authProvider
.doctorProfile.doctorID !=
model
.patientProgressNoteList[
index]
.createdBy)
AppText(
'Pending',
fontWeight: FontWeight.bold,
color: Color(0xFFCC9B14),
fontSize: 12,
),
children: <Widget>[
if (!isDischargedPatient)
AddNewOrder(
onTap: () {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) =>
UpdateNoteOrder(
patientModel: model,
patient: patient,
visitType: widget.visitType,
isUpdate: false,
)),
);
},
label: widget.visitType == 3
? TranslationBase
.of(context)
.addNewOrderSheet
: TranslationBase
.of(context)
.addProgressNote,
),
Expanded(
child: Container(
child: ListView.builder(
itemCount: model.patientProgressNoteList.length,
itemBuilder: (BuildContext ctxt, int index) {
return FractionallySizedBox(
widthFactor: 0.95,
child: CardWithBgWidget(
hasBorder: false,
bgColor: model.patientProgressNoteList[index]
.status ==
1 &&
authProvider.doctorProfile.doctorID !=
model
.patientProgressNoteList[
index]
.createdBy
? Color(0xFFCC9B14)
: model.patientProgressNoteList[index]
.status ==
4
? Colors.red.shade700
: model.patientProgressNoteList[index]
.status ==
2
? Colors.green[600]
: Color(0xFFCC9B14),
widget: Column(
children: [
Column(
crossAxisAlignment:
CrossAxisAlignment.start,
children: [
if (model
.patientProgressNoteList[
index]
.status ==
1 &&
authProvider
.doctorProfile.doctorID !=
model
.patientProgressNoteList[
index]
.createdBy)
AppText(
TranslationBase
.of(context)
.notePending,
fontWeight: FontWeight.bold,
color: Color(0xFFCC9B14),
fontSize: 12,
),
if (model
.patientProgressNoteList[
index]
.status ==
4)
AppText(
'Canceled',
TranslationBase
.of(context)
.noteCanceled,
fontWeight: FontWeight.bold,
color: Colors.red.shade700,
fontSize: 12,
@ -168,7 +200,9 @@ class _ProgressNoteState extends State<ProgressNoteScreen> {
.status ==
2)
AppText(
'Verified',
TranslationBase
.of(context)
.noteVerified,
fontWeight: FontWeight.bold,
color: Colors.green[600],
fontSize: 12,
@ -229,7 +263,10 @@ class _ProgressNoteState extends State<ProgressNoteScreen> {
width: 2,
),
AppText(
'Update',
TranslationBase
.of(
context)
.update,
fontSize: 10,
color: Colors.white,
),
@ -309,7 +346,10 @@ class _ProgressNoteState extends State<ProgressNoteScreen> {
width: 2,
),
AppText(
'Verify',
TranslationBase
.of(
context)
.noteVerify,
fontSize: 10,
color: Colors.white,
),
@ -325,22 +365,26 @@ class _ProgressNoteState extends State<ProgressNoteScreen> {
onTap: () async {
showMyDialog(
context: context,
actionName: "cancel",
actionName:
TranslationBase
.of(
context)
.cancel,
confirmFun: () async {
GifLoaderDialogUtils
.showMyDialog(
context,
);
UpdateNoteReqModel
reqModel =
UpdateNoteReqModel(
reqModel =
UpdateNoteReqModel(
admissionNo: int
.parse(patient
.admissionNo),
.admissionNo),
cancelledNote: true,
lineItemNo: model
.patientProgressNoteList[
index]
index]
.lineItemNo,
createdBy: model
.patientProgressNoteList[
@ -398,7 +442,6 @@ class _ProgressNoteState extends State<ProgressNoteScreen> {
padding: EdgeInsets.all(6),
),
),
SizedBox(
width: 10,
)
@ -428,7 +471,10 @@ class _ProgressNoteState extends State<ProgressNoteScreen> {
.start,
children: [
AppText(
'Created By: ',
TranslationBase
.of(
context)
.createdBy,
fontSize: 10,
),
Expanded(
@ -452,26 +498,34 @@ class _ProgressNoteState extends State<ProgressNoteScreen> {
children: [
AppText(
model
.patientProgressNoteList[
index]
.createdOn !=
null
? DateUtils
.getDayMonthYearDateFormatted(
DateUtils
.getDateTimeFromServerFormat(
model
.patientProgressNoteList[
index]
.createdOn !=
null
? DateUtils.getDayMonthYearDateFormatted(
DateUtils.getDateTimeFromServerFormat(
model
.patientProgressNoteList[
index]
.createdOn))
index]
.createdOn),
isArabic:
projectViewModel
.isArabic)
: DateUtils
.getDayMonthYearDateFormatted(
DateTime.now()),
.getDayMonthYearDateFormatted(
DateTime.now(),
isArabic:
projectViewModel
.isArabic),
fontWeight: FontWeight.w600,
fontSize: 14,
),
AppText(
model
.patientProgressNoteList[
index]
.patientProgressNoteList[
index]
.createdOn !=
null
? DateUtils.getHour(DateUtils
@ -508,21 +562,21 @@ class _ProgressNoteState extends State<ProgressNoteScreen> {
),
),
])
],
),
SizedBox(
height: 20,
),
],
),
],
),
SizedBox(
height: 20,
),
],
),
);
}),
),
),
);
}),
),
],
),
],
),
),
),
),
);
}
@ -541,38 +595,49 @@ class _ProgressNoteState extends State<ProgressNoteScreen> {
isShowAppBar: false,
body: Container(
color: Colors.white,
child: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.center,
children: [
// SizedBox(height: 20,),
SizedBox(height: 10,),
SizedBox(
height: 10,
),
Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
AppText(
"Confirm", fontWeight: FontWeight.w600,
TranslationBase
.of(context)
.noteConfirm,
fontWeight: FontWeight.w600,
color: Colors.black,
fontSize: 16,),
fontSize: 16,
),
],
),
SizedBox(height: 10,),
SizedBox(
height: 10,
),
DividerWithSpacesAround(),
SizedBox(height: 12,),
SizedBox(
height: 12,
),
Container(
padding: EdgeInsets.all(20),
color: Colors.white,
child: AppText(
'Are you sure you want $actionName this order?',
projectViewModel.isArabic?"هل أنت متأكد أنك تريد تنفيذ $actionName هذا الأمر؟":'Are you sure you want $actionName this order?',
fontSize: 15,
textAlign: TextAlign.center,
),
),
SizedBox(height: 8,),
SizedBox(
height: 8,
),
DividerWithSpacesAround(),
FractionallySizedBox(
widthFactor: 0.75,
@ -581,22 +646,29 @@ class _ProgressNoteState extends State<ProgressNoteScreen> {
children: [
FlatButton(
child: AppText(
"Cancel", fontWeight: FontWeight.w600,
TranslationBase
.of(context)
.cancel,
fontWeight: FontWeight.w600,
color: Colors.black,
fontSize: 16,),//Text("Cancel"),
fontSize: 16,
), //Text("Cancel"),
onPressed: () {
Navigator.of(context).pop();
}),
FlatButton(
child: AppText(
"Confirm", fontWeight: FontWeight.w600,
TranslationBase
.of(context)
.noteConfirm,
fontWeight: FontWeight.w600,
color: Colors.red.shade700,
fontSize: 16,), //Text("Confirm", ),
fontSize: 16,
), //Text("Confirm", ),
onPressed: () async {
await confirmFun();
await confirmFun();
Navigator.of(context).pop();
})
],
),
)
@ -608,8 +680,4 @@ class _ProgressNoteState extends State<ProgressNoteScreen> {
),
));
}
}

@ -7,6 +7,7 @@ import 'package:doctor_app_flutter/core/model/note/note_model.dart';
import 'package:doctor_app_flutter/core/model/note/update_note_model.dart';
import 'package:doctor_app_flutter/core/provider/robot_provider.dart';
import 'package:doctor_app_flutter/core/viewModel/patient_view_model.dart';
import 'package:doctor_app_flutter/core/viewModel/project_view_model.dart';
import 'package:doctor_app_flutter/icons_app/doctor_app_icons.dart';
import 'package:doctor_app_flutter/models/doctor/doctor_profile_model.dart';
import 'package:doctor_app_flutter/models/patient/patiant_info_model.dart';
@ -22,6 +23,7 @@ import 'package:doctor_app_flutter/widgets/shared/speech-text-popup.dart';
import 'package:doctor_app_flutter/widgets/shared/text_fields/app-textfield-custom.dart';
import 'package:flutter/material.dart';
import 'package:permission_handler/permission_handler.dart';
import 'package:provider/provider.dart';
import 'package:speech_to_text/speech_recognition_error.dart';
import 'package:speech_to_text/speech_to_text.dart' as stt;
@ -51,6 +53,8 @@ class _UpdateNoteOrderState extends State<UpdateNoteOrder> {
stt.SpeechToText speech = stt.SpeechToText();
var reconizedWord;
var event = RobotProvider();
ProjectViewModel projectViewModel;
TextEditingController progressNoteController = TextEditingController();
setSelectedType(int val) {
@ -74,6 +78,8 @@ class _UpdateNoteOrderState extends State<UpdateNoteOrder> {
@override
Widget build(BuildContext context) {
projectViewModel = Provider.of(context);
if (widget.note != null) {
progressNoteController.text = widget.note.notes;
}
@ -91,8 +97,10 @@ class _UpdateNoteOrderState extends State<UpdateNoteOrder> {
children: [
BottomSheetTitle(
title: widget.visitType == 3
? (widget.isUpdate ? 'Update' : 'Add') + ' Order Sheet'
: (widget.isUpdate ? 'Update' : 'Add') + ' Progress Note',
? (widget.isUpdate ? TranslationBase.of(context).noteUpdate : TranslationBase.of(context).noteAdd) +
TranslationBase.of(context).orderSheet
: (widget.isUpdate ? TranslationBase.of(context).noteUpdate : TranslationBase.of(context).noteAdd) +
TranslationBase.of(context).progressNote,
),
SizedBox(
height: 10.0,
@ -106,10 +114,10 @@ class _UpdateNoteOrderState extends State<UpdateNoteOrder> {
children: [
AppTextFieldCustom(
hintText: widget.visitType == 3
? (widget.isUpdate ? 'Update' : 'Add') +
' Order Sheet'
: (widget.isUpdate ? 'Update' : 'Add') +
' Progress Note',
? (widget.isUpdate ? TranslationBase.of(context).noteUpdate : TranslationBase.of(context).noteAdd) +
TranslationBase.of(context).orderSheet
: (widget.isUpdate ? TranslationBase.of(context).noteUpdate : TranslationBase.of(context).noteAdd) +
TranslationBase.of(context).progressNote,
//TranslationBase.of(context).addProgressNote,
controller: progressNoteController,
maxLines: 35,
@ -124,8 +132,8 @@ class _UpdateNoteOrderState extends State<UpdateNoteOrder> {
: null,
),
Positioned(
top: 0, //MediaQuery.of(context).size.height * 0,
right: 15,
top: -2, //MediaQuery.of(context).size.height * 0,
right: projectViewModel.isArabic? MediaQuery.of(context).size.width * 0.75 : 15,
child: IconButton(
icon: Icon(
DoctorApp.speechtotext,
@ -155,8 +163,10 @@ class _UpdateNoteOrderState extends State<UpdateNoteOrder> {
children: <Widget>[
AppButton(
title: widget.visitType == 3
? (widget.isUpdate ? 'Update' : 'Add') + ' Order Sheet'
: (widget.isUpdate ? 'Update' : 'Add') + ' Progress Note',
? (widget.isUpdate ? TranslationBase.of(context).noteUpdate : TranslationBase.of(context).noteAdd) +
TranslationBase.of(context).orderSheet
: (widget.isUpdate ? TranslationBase.of(context).noteUpdate : TranslationBase.of(context).noteAdd) +
TranslationBase.of(context).progressNote,
color: Color(0xff359846),
// disabled: progressNoteController.text.isEmpty,
fontWeight: FontWeight.w700,

@ -146,12 +146,9 @@ class ProfileGridForInPatient extends StatelessWidget {
route: ORDER_NOTE,
isDischargedPatient:
isDischargedPatient,
nameLine1:
"Order",
//"Text",
nameLine1:TranslationBase.of(context).order,
nameLine2:
"Sheet",
//TranslationBase.of(context).orders,
TranslationBase.of(context).sheet,
icon:
'patient/Progress_notes.png'),
PatientProfileButton(
@ -176,11 +173,11 @@ class ProfileGridForInPatient extends StatelessWidget {
patient: patient,
patientType: patientType,
arrivalType: arrivalType,
route: MEDICAL_FILE,
nameLine1: "Health",
route: HEALTH_SUMMARY,
nameLine1: TranslationBase.of(context).health,
nameLine2: TranslationBase.of(context).summary,
isInPatient: isInpatient,
nameLine2: "Summary",
//TranslationBase.of(context).summaryReport,
icon:
'patient/health_summary.png'),
PatientProfileButton(
@ -188,15 +185,12 @@ class ProfileGridForInPatient extends StatelessWidget {
patientType: patientType,
arrivalType: arrivalType,
isDisable: true,
route: MEDICAL_FILE,
route: HEALTH_SUMMARY,
nameLine1:
"Medical",
//Health
isInPatient: isInpatient,
TranslationBase.of(context).medical,
nameLine2:
"Report",
//Report
//TranslationBase.of(context).summaryReport,
TranslationBase.of(context).report,
isInPatient: isInpatient,
icon:
'patient/health_summary.png'),
PatientProfileButton(
@ -246,8 +240,8 @@ class ProfileGridForInPatient extends StatelessWidget {
arrivalType: arrivalType,
isDisable: true,
route: null,
nameLine1: "Discharge",
nameLine2: "Summery",
nameLine1: TranslationBase.of(context).discharge,
nameLine2: TranslationBase.of(context).report,
icon:
'patient/patient_sick_leave.png'),
PatientProfileButton(

@ -131,11 +131,9 @@ class ProfileGridForOther extends StatelessWidget {
patientType,
arrivalType:
arrivalType,
route: MEDICAL_FILE,
nameLine1: "Health",
//TranslationBase.of(context).medicalReport,
nameLine2: "Summary",
//TranslationBase.of(context).summaryReport,
route: HEALTH_SUMMARY,
nameLine1: TranslationBase.of(context).health,
nameLine2: TranslationBase.of(context).summary,
icon:
'patient/health_summary.png'),
PatientProfileButton(

@ -80,11 +80,9 @@ class ProfileGridForSearch extends StatelessWidget {
patient: patient,
patientType: patientType,
arrivalType: arrivalType,
route: MEDICAL_FILE,
nameLine1: "Health",
//TranslationBase.of(context).medicalReport,
nameLine2: "Summary",
//TranslationBase.of(context).summaryReport,
route: HEALTH_SUMMARY,
nameLine1: TranslationBase.of(context).health,
nameLine2: TranslationBase.of(context).summary,
icon: 'patient/health_summary.png'),
PatientProfileButton(
isInPatient: isInpatient,

@ -351,6 +351,7 @@ class _AddAssessmentDetailsState extends State<AddAssessmentDetails> {
hintText: TranslationBase.of(context).remarks,
maxLines: 18,
minLines: 5,
inputType: TextInputType.multiline,
controller: remarkController,
onChanged: (value) {
widget.mySelectedAssessment.remark =

@ -40,22 +40,28 @@ class UpdateChiefComplaints extends StatelessWidget {
maxLines: 25,
minLines: 7,
hasBorder: true,
validationError:complaintsControllerError !=''?complaintsControllerError:null ,
inputType: TextInputType.multiline,
validationError: complaintsControllerError != ''
? complaintsControllerError
: null,
),
SizedBox(
height: 20,
),
AppTextFieldCustom(
hintText: TranslationBase
.of(context)
.historyOfPresentIllness,
controller: illnessController,
maxLines: 25,
minLines: 7,
hintText: TranslationBase
.of(context)
.historyOfPresentIllness,
controller: illnessController,
inputType: TextInputType.multiline,
maxLines: 25,
minLines: 7,
hasBorder: true,
validationError:illnessControllerError !=''?illnessControllerError:null ,
validationError: illnessControllerError != ''
? illnessControllerError
: null,
),
SizedBox(
height: 10,
@ -67,14 +73,18 @@ class UpdateChiefComplaints extends StatelessWidget {
height: 10,
),
AppTextFieldCustom(
hintText: TranslationBase
.of(context)
.currentMedications,
controller: medicationController,
hintText: TranslationBase
.of(context)
.currentMedications,
controller: medicationController,
maxLines: 25,
minLines: 7,
hasBorder: true,
validationError:medicationControllerError !=''?medicationControllerError:null ,
minLines: 7,
hasBorder: true,
inputType: TextInputType.multiline,
validationError: medicationControllerError != ''
? medicationControllerError
: null,
),
SizedBox(

@ -1,5 +1,6 @@
import 'package:doctor_app_flutter/config/size_config.dart';
import 'package:doctor_app_flutter/core/model/sick_leave_patient_model.dart';
import 'package:doctor_app_flutter/core/viewModel/project_view_model.dart';
import 'package:doctor_app_flutter/core/viewModel/sick_leave_view_model.dart';
import 'package:doctor_app_flutter/models/patient/patiant_info_model.dart';
import 'package:doctor_app_flutter/models/sickleave/get_all_sickleave_response.dart';
@ -14,11 +15,15 @@ import 'package:doctor_app_flutter/widgets/shared/rounded_container_widget.dart'
import 'package:doctor_app_flutter/widgets/transitions/fade_page.dart';
import 'package:flutter/material.dart';
import 'package:hexcolor/hexcolor.dart';
import 'package:provider/provider.dart';
// ignore: must_be_immutable
class AddSickLeavScreen extends StatelessWidget {
PatiantInformtion patient;
@override
Widget build(BuildContext context) {
ProjectViewModel projectsProvider = Provider.of<ProjectViewModel>(context);
final routeArgs = ModalRoute.of(context).settings.arguments as Map;
patient = routeArgs['patient'];
bool isInpatient = routeArgs['isInpatient'];
@ -37,8 +42,6 @@ class AddSickLeavScreen extends StatelessWidget {
),
body: SingleChildScrollView(
child: Column(children: [
// PatientProfileHeaderNewDesign(
// patient, routeArgs['patientType'], routeArgs['arrivalType']),
patient.patientStatusType == 43
? Column(
crossAxisAlignment: CrossAxisAlignment.start,
@ -48,6 +51,7 @@ class AddSickLeavScreen extends StatelessWidget {
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
if(!projectsProvider.isArabic)
AppText(
TranslationBase.of(context).patient,
fontWeight: FontWeight.bold,

@ -1303,6 +1303,38 @@ class TranslationBase {
String get severe => localizedValues["severe"][locale.languageCode];
String get graphDetails =>
localizedValues["graphDetails"][locale.languageCode];
String get addNewOrderSheet =>
localizedValues["addNewOrderSheet"][locale.languageCode];
String get addNewProgressNote =>
localizedValues["addNewProgressNote"][locale.languageCode];
String get notePending =>
localizedValues["notePending"][locale.languageCode];
String get noteCanceled =>
localizedValues["noteCanceled"][locale.languageCode];
String get noteVerified =>
localizedValues["noteVerified"][locale.languageCode];
String get noteVerify =>
localizedValues["noteVerify"][locale.languageCode];
String get noteConfirm =>
localizedValues["noteConfirm"][locale.languageCode];
String get noteAdd =>
localizedValues["noteAdd"][locale.languageCode];
String get noteUpdate =>
localizedValues["noteUpdate"][locale.languageCode];
String get orderSheet =>
localizedValues["orderSheet"][locale.languageCode];
String get order =>
localizedValues["order"][locale.languageCode];
String get sheet =>
localizedValues["sheet"][locale.languageCode];
String get medical =>
localizedValues["medical"][locale.languageCode];
String get report =>
localizedValues["report"][locale.languageCode];
String get discharge =>
localizedValues["discharge"][locale.languageCode];
}
class TranslationBaseDelegate extends LocalizationsDelegate<TranslationBase> {

@ -77,7 +77,7 @@ class PatientProfileButton extends StatelessWidget {
crossAxisAlignment: CrossAxisAlignment.start,
children: [
AppText(
this.nameLine1,
!projectsProvider.isArabic?this.nameLine1: nameLine2,
color: Colors.black,
/*Color(0xFFB9382C),*/
fontWeight: FontWeight.w600,
@ -85,7 +85,7 @@ class PatientProfileButton extends StatelessWidget {
fontSize: SizeConfig.textMultiplier * 1.5,
),
AppText(
this.nameLine2,
!projectsProvider.isArabic? this.nameLine2:nameLine1,
color: Colors.black,
fontWeight: FontWeight.w600,
textAlign: TextAlign.left,

@ -52,7 +52,7 @@ class ProfileMedicalInfoWidget extends StatelessWidget {
patient: patient,
patientType: patientType,
arrivalType: arrivalType,
route: MEDICAL_FILE,
route: HEALTH_SUMMARY,
nameLine1: "Health" ,//TranslationBase.of(context).medicalReport,
nameLine2: "Summary",//TranslationBase.of(context).summaryReport,
icon: 'patient/health_summary.png'),

@ -113,7 +113,7 @@ class ProfileMedicalInfoWidgetInPatient extends StatelessWidget {
patient: patient,
patientType: patientType,
arrivalType: arrivalType,
route: MEDICAL_FILE,
route: HEALTH_SUMMARY,
nameLine1: "Health",
//TranslationBase.of(context).medicalReport,
nameLine2: "Summary",
@ -125,7 +125,7 @@ class ProfileMedicalInfoWidgetInPatient extends StatelessWidget {
patientType: patientType,
arrivalType: arrivalType,
isDisable: true,
route: MEDICAL_FILE,
route: HEALTH_SUMMARY,
nameLine1: "Medical", //Health
//TranslationBase.of(context).medicalReport,
nameLine2: "Report", //Report

@ -173,7 +173,7 @@ class ProfileMedicalInfoWidgetSearch extends StatelessWidget {
patient: patient,
patientType: patientType,
arrivalType: arrivalType,
route: MEDICAL_FILE,
route: HEALTH_SUMMARY,
nameLine1: "Health",
//TranslationBase.of(context).medicalReport,
nameLine2: "Summary",
@ -185,7 +185,7 @@ class ProfileMedicalInfoWidgetSearch extends StatelessWidget {
patientType: patientType,
arrivalType: arrivalType,
isDisable: true,
route: MEDICAL_FILE,
route: HEALTH_SUMMARY,
nameLine1: "Medical", //Health
//TranslationBase.of(context).medicalReport,
nameLine2: "Report", //Report
@ -256,7 +256,7 @@ class ProfileMedicalInfoWidgetSearch extends StatelessWidget {
patient: patient,
patientType: patientType,
arrivalType: arrivalType,
route: MEDICAL_FILE,
route: HEALTH_SUMMARY,
nameLine1:
"Health", //TranslationBase.of(context).medicalReport,
nameLine2:

@ -16,9 +16,6 @@ import 'app_texts_widget.dart';
DrAppSharedPreferances sharedPref = new DrAppSharedPreferances();
// OWNER : Ibrahim albitar
// DATE : 06-04-2020
// DESCRIPTION : Custom App Drawer for app.
class AppDrawer extends StatefulWidget {
@override
@ -26,7 +23,6 @@ class AppDrawer extends StatefulWidget {
}
class _AppDrawerState extends State<AppDrawer> {
bool _isInit = true;
Helpers helpers = new Helpers();
ProjectViewModel projectsProvider;

@ -5,10 +5,6 @@ import 'package:flutter/material.dart';
import '../shared/app_texts_widget.dart';
// OWNER : Ibrahim albitar
// DATE : 08-04-2020
// DESCRIPTION : Custom Drawer item for app.
class DrawerItem extends StatefulWidget {
final String title;
final String subTitle;

Loading…
Cancel
Save