page translation

merge-requests/619/head
hussam al-habibeh 5 years ago
parent 718091f1f6
commit c86a3dabda

@ -384,10 +384,7 @@ const Map<String, Map<String, String>> localizedValues = {
'headCircum': {'en': "Head Circum", 'ar': 'محيط الرأس'},
'leanBodyWeight': {'en': "Lean Body Weight", 'ar': 'وزن الجسم الهزيل'},
'bodyMassIndex': {'en': "Body Mass Index", 'ar': 'مؤشر كتلة الجسم'},
'yourBodyMassIndex': {
'en': "Body Mass Index is",
'ar': 'مؤشر كتلة الجسم هو'
},
'yourBodyMassIndex': {'en': "Body Mass Index is", 'ar': 'مؤشر كتلة الجسم هو'},
'bmiUnderWeight': {'en': "UnderWeight", 'ar': 'تحت الوزن'},
'bmiHealthy': {'en': "Healthy", 'ar': 'صحي'},
'bmiOverWeight': {'en': "OverWeight", 'ar': 'فوق الوزن'},
@ -870,4 +867,81 @@ const Map<String, Map<String, String>> localizedValues = {
},
"showDetail": {"en": "Show Detail", "ar": "أظهر المعلومات"},
"viewProfile": {"en": "View Profile", "ar": "إعرض الملف"},
"pleaseEnterProcedure": {
"en": "Please Enter Procedure",
"ar": "الرجاء إدخال الإجراء "
},
"fillTheMandatoryProcedureDetails": {
"en": "Fill The Mandatory Procedure Details",
"ar": "املأ تفاصيل الإجراء الإلزامي"
},
"atLeastThreeCharacters": {
"en": "At least three Characters",
"ar": "ثلاثة أحرف على الأقل "
},
"searchProcedureHere": {
"en": "Search Procedure here...",
"ar": "إجراء البحث هنا ... "
},
"noInsuranceApprovalFound": {
"en": "No Insurance Approval Found",
"ar": "لم يتم العثور على موافقة التأمين"
},
"procedure": {"en": "Procedure", "ar": "عملية"},
"stopDate": {"en": "Stop Date", "ar": "تاريخ التوقف"},
"processed": {"en": "processed", "ar": "معالجتها"},
"direction": {"en": "Direction", "ar": "إشراف"},
"refill": {"en": "Refill", "ar": "اعادة تعبئه"},
"medicationHasBeenAdded": {
"en": "Medication has been added",
"ar": "تمت إضافة الدواء"
},
"newPrescriptionOrder": {
"en": "New Prescription Order",
"ar": "طلب وصفة طبية جديد "
},
"pleaseFillAllFields": {
"en": "Please Fill All Fields",
"ar": "لو سمحت أملأ كل الحقول"
},
"narcoticMedicineCanOnlyBePrescribedFromVida": {
"en": "Narcotic medicine can only be prescribed from VIDA",
"ar": "لا يمكن وصف الأدوية المخدرة إلا من VIDA "
},
"only5DigitsAllowedForStrength": {
"en": "Only 5 Digits allowed for strength",
"ar": "يسمح فقط بـ 5 أرقام للقوة"
},
"unit": {"en": "Unit", "ar": "وحدة"},
"boxQuantity": {"en": "Box Quantity", "ar": "كمية الصندوق "},
"orderTestOr": {"en": "Order Test or", "ar": "اطلب اختبار أو"},
"applyForRadiologyOrder": {
"en": "Apply for Radiology Order",
"ar": "التقدم بطلب للحصول على طلب الأشعة "
},
"applyForNewLabOrder": {
"en": "Apply for New Lab Order",
"ar": "تقدم بطلب جديد للمختبر الأشعة"
},
"addLabOrder": {"en": "Add Lab Order", "ar": "إضافة طلب معمل"},
"addRadiologyOrder": {"en": "Add Radiology Order", "ar": "إضافة اشغة"},
"newRadiologyOrder": {"en": "New Radiology Order", "ar": "طلب الأشعة الجديد"},
"orderDate": {"en": "Order Date", "ar": "تاريخ الطلب"},
"examType": {"en": "Exam Type", "ar": "نوع الفحص"},
"health": {"en": "Health", "ar": "التقرير"},
"summary": {"en": "Summary", "ar": "الصحي"},
"applyForNewPrescriptionsOrder": {
"en": "Apply for New Prescriptions Order",
"ar": "التقدم بطلب للحصول على وصفات طبية جديدة "
},
"noPrescriptionsFound": {
"en": "No Prescriptions Found",
"ar": "لم يتم العثور على وصفات طبية"
},
"noMedicalFileFound": {
"en": "No Medical File Found",
"ar": "لم يتم العثور على ملف طبي"
},
"insurance22": {"en": "Insurance", "ar": "موافقات"},
"approvals22": {"en": "Approvals", "ar": "التامين"},
};

@ -378,7 +378,10 @@ class _MedicalFileDetailsState extends State<MedicalFileDetails> {
Row(
children: [
AppText(
'Condition: ',
TranslationBase.of(
context)
.condition +
": ",
fontSize: 12.5,
),
Expanded(
@ -435,7 +438,10 @@ class _MedicalFileDetailsState extends State<MedicalFileDetails> {
Row(
children: [
AppText(
'Type: ',
TranslationBase.of(
context)
.type +
": ",
fontSize: 15.5,
),
Expanded(
@ -617,7 +623,10 @@ class _MedicalFileDetailsState extends State<MedicalFileDetails> {
Column(
children: [
AppText(
'Order Date: ',
TranslationBase.of(
context)
.orderDate +
": ",
),
AppText(
DateUtils.getDateFormatted(
@ -807,9 +816,10 @@ class _MedicalFileDetailsState extends State<MedicalFileDetails> {
children: [
Row(
children: [
AppText(
'Exam Type: ',
),
AppText(TranslationBase.of(
context)
.examType +
": "),
AppText(
model
.medicalFileList[
@ -854,9 +864,10 @@ class _MedicalFileDetailsState extends State<MedicalFileDetails> {
),
Row(
children: [
AppText(
'Abnormal: ',
),
AppText(TranslationBase.of(
context)
.abnormal +
": "),
AppText(
model
.medicalFileList[

@ -31,7 +31,11 @@ class _MedicalFilePageState extends State<MedicalFilePage> {
(BuildContext context, MedicalFileViewModel model, Widget child) =>
AppScaffold(
appBar: PatientProfileHeaderNewDesignAppBar(
patient, patientType.toString() ?? "0", arrivalType,isInpatient:isInpatient ,),
patient,
patientType.toString() ?? "0",
arrivalType,
isInpatient: isInpatient,
),
isShowAppBar: true,
appBarTitle: TranslationBase.of(context).medicalReport.toUpperCase(),
body: NetworkBaseView(
@ -51,7 +55,7 @@ class _MedicalFilePageState extends State<MedicalFilePage> {
Row(
children: [
AppText(
'Health',
TranslationBase.of(context).health,
fontSize: 15.0,
fontWeight: FontWeight.w600,
fontFamily: 'Poppins',
@ -61,7 +65,7 @@ class _MedicalFilePageState extends State<MedicalFilePage> {
Row(
children: [
AppText(
'Summary',
TranslationBase.of(context).summary,
fontSize: 30.0,
fontWeight: FontWeight.w700,
),
@ -193,7 +197,8 @@ class _MedicalFilePageState extends State<MedicalFilePage> {
Image.asset('assets/images/no-data.png'),
Padding(
padding: const EdgeInsets.all(8.0),
child: AppText('No Medical File Found'),
child: AppText(TranslationBase.of(context)
.noMedicalFileFound),
)
],
),

@ -45,7 +45,11 @@ class _InsuranceApprovalScreenNewState
builder: (BuildContext context, InsuranceViewModel model, Widget child) =>
AppScaffold(
appBar: PatientProfileHeaderNewDesignAppBar(
patient, patientType.toString() ?? "0", patientType,isInpatient: isInpatient,),
patient,
patientType.toString() ?? "0",
patientType,
isInpatient: isInpatient,
),
isShowAppBar: true,
baseViewModel: model,
appBarTitle: TranslationBase.of(context).approvals,
@ -67,7 +71,7 @@ class _InsuranceApprovalScreenNewState
Row(
children: [
AppText(
'Insurance',
TranslationBase.of(context).insurance22,
fontSize: 15.0,
fontWeight: FontWeight.w600,
fontFamily: 'Poppins',
@ -77,7 +81,7 @@ class _InsuranceApprovalScreenNewState
Row(
children: [
AppText(
'Approvals',
TranslationBase.of(context).approvals22,
fontSize: 30.0,
fontWeight: FontWeight.w700,
),
@ -141,7 +145,8 @@ class _InsuranceApprovalScreenNewState
Image.asset('assets/images/no-data.png'),
Padding(
padding: const EdgeInsets.all(8.0),
child: AppText('No Insurance Approval Found'),
child: AppText(TranslationBase.of(context)
.noInsuranceApprovalFound),
),
SizedBox(
height: 150.0,
@ -168,7 +173,8 @@ class _InsuranceApprovalScreenNewState
Row(
children: [
AppText(
'Insurance',
TranslationBase.of(context)
.insurance22,
fontSize: 15.0,
fontWeight: FontWeight.w600,
fontFamily: 'Poppins',
@ -178,7 +184,8 @@ class _InsuranceApprovalScreenNewState
Row(
children: [
AppText(
'Approvals',
TranslationBase.of(context)
.approvals22,
fontSize: 30.0,
fontWeight: FontWeight.w700,
),
@ -238,7 +245,8 @@ class _InsuranceApprovalScreenNewState
Image.asset('assets/images/no-data.png'),
Padding(
padding: const EdgeInsets.all(8.0),
child: AppText('No Insurance Approval Found'),
child: AppText(TranslationBase.of(context)
.noInsuranceApprovalFound),
)
],
),

@ -4,6 +4,7 @@ import 'package:doctor_app_flutter/core/viewModel/project_view_model.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/date-utils.dart';
import 'package:doctor_app_flutter/util/translations_delegate_base.dart';
import 'package:doctor_app_flutter/widgets/patients/profile/patient-profile-header-new-design-app-bar.dart';
import 'package:doctor_app_flutter/widgets/shared/app_scaffold_widget.dart';
import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart';
@ -67,7 +68,7 @@ class _InsuranceApprovalsDetailsState extends State<InsuranceApprovalsDetails> {
Row(
children: [
AppText(
'Insurance',
TranslationBase.of(context).insurance22,
fontSize: 15.0,
fontWeight: FontWeight.w600,
fontFamily: 'Poppins',
@ -77,7 +78,7 @@ class _InsuranceApprovalsDetailsState extends State<InsuranceApprovalsDetails> {
Row(
children: [
AppText(
'Approvals',
TranslationBase.of(context).approvals22,
fontSize: 30.0,
fontWeight: FontWeight.w700,
),
@ -121,7 +122,9 @@ class _InsuranceApprovalsDetailsState extends State<InsuranceApprovalsDetails> {
.approvalStatusDescption !=
null
? "${model.insuranceApprovalInPatient[indexInsurance].approvalStatusDescption}" ==
"Approved"
"Approved" ||
"${model.insuranceApprovalInPatient[indexInsurance].approvalStatusDescption}" ==
"تمت الموافقة"
? Color(0xff359846)
: Color(0xffD02127)
: Color(0xffD02127),
@ -192,7 +195,10 @@ class _InsuranceApprovalsDetailsState extends State<InsuranceApprovalsDetails> {
Row(
children: [
AppText(
'Clinic: ',
TranslationBase.of(
context)
.clinic +
": ",
color: Colors.grey[500],
fontSize: 14,
),
@ -210,7 +216,10 @@ class _InsuranceApprovalsDetailsState extends State<InsuranceApprovalsDetails> {
Row(
children: <Widget>[
AppText(
'Approval No: ',
TranslationBase.of(
context)
.approvalNo +
": ",
color: Colors.grey[500],
fontSize: 14,
),
@ -244,7 +253,10 @@ class _InsuranceApprovalsDetailsState extends State<InsuranceApprovalsDetails> {
Row(
children: <Widget>[
AppText(
'Company Name :',
TranslationBase.of(
context)
.companyName +
": ",
color: Colors.grey[500],
),
AppText('Sample')
@ -253,7 +265,10 @@ class _InsuranceApprovalsDetailsState extends State<InsuranceApprovalsDetails> {
Row(
children: [
AppText(
'Receipt on: ',
TranslationBase.of(
context)
.receiptOn +
": ",
color: Colors.grey[500],
),
Expanded(
@ -269,7 +284,10 @@ class _InsuranceApprovalsDetailsState extends State<InsuranceApprovalsDetails> {
Row(
children: [
AppText(
'Exp on: ',
TranslationBase.of(
context)
.expiryDate +
": ",
color: Colors.grey[500],
),
AppText(
@ -300,19 +318,22 @@ class _InsuranceApprovalsDetailsState extends State<InsuranceApprovalsDetails> {
children: [
Expanded(
child: AppText(
'Procedure',
TranslationBase.of(context)
.procedure,
fontWeight: FontWeight.w700,
),
),
Expanded(
child: AppText(
'Status',
TranslationBase.of(context)
.status,
fontWeight: FontWeight.w700,
),
),
Expanded(
child: AppText(
'Usage Status',
TranslationBase.of(context)
.usageStatus,
fontWeight: FontWeight.w700,
),
)
@ -424,7 +445,7 @@ class _InsuranceApprovalsDetailsState extends State<InsuranceApprovalsDetails> {
Row(
children: [
AppText(
'Insurance',
TranslationBase.of(context).insurance22,
fontSize: 15.0,
fontWeight: FontWeight.w600,
fontFamily: 'Poppins',
@ -434,7 +455,7 @@ class _InsuranceApprovalsDetailsState extends State<InsuranceApprovalsDetails> {
Row(
children: [
AppText(
'Approvals',
TranslationBase.of(context).approvals22,
fontSize: 30.0,
fontWeight: FontWeight.w700,
),
@ -548,7 +569,10 @@ class _InsuranceApprovalsDetailsState extends State<InsuranceApprovalsDetails> {
Row(
children: [
AppText(
'Clinic: ',
TranslationBase.of(
context)
.clinic +
": ",
color: Colors.grey[500],
fontSize: 14,
),
@ -566,7 +590,10 @@ class _InsuranceApprovalsDetailsState extends State<InsuranceApprovalsDetails> {
Row(
children: <Widget>[
AppText(
'Approval No: ',
TranslationBase.of(
context)
.approvalNo +
": ",
color: Colors.grey[500],
fontSize: 14,
),
@ -583,7 +610,10 @@ class _InsuranceApprovalsDetailsState extends State<InsuranceApprovalsDetails> {
Row(
children: <Widget>[
AppText(
'Unused Count:',
TranslationBase.of(
context)
.unusedCount +
": ",
color: Colors.grey[500],
fontSize: 14,
),
@ -600,7 +630,10 @@ class _InsuranceApprovalsDetailsState extends State<InsuranceApprovalsDetails> {
Row(
children: <Widget>[
AppText(
'Company Name :',
TranslationBase.of(
context)
.companyName +
": ",
color: Colors.grey[500],
),
AppText('Sample')
@ -609,7 +642,10 @@ class _InsuranceApprovalsDetailsState extends State<InsuranceApprovalsDetails> {
Row(
children: [
AppText(
'Receipt on: ',
TranslationBase.of(
context)
.receiptOn +
": ",
color: Colors.grey[500],
),
Expanded(
@ -625,16 +661,23 @@ class _InsuranceApprovalsDetailsState extends State<InsuranceApprovalsDetails> {
Row(
children: [
AppText(
'Exp on: ',
TranslationBase.of(
context)
.expiryDate +
": ",
color: Colors.grey[500],
),
if(model.insuranceApproval[indexInsurance].expiryDate!=null)
AppText(
'${DateUtils.getDayMonthYearDateFormatted(DateUtils.getDateTimeFromServerFormat(model.insuranceApproval[indexInsurance].expiryDate), isArabic: projectViewModel.isArabic)}',
color: Colors.black,
fontWeight:
FontWeight.w600,
),
if (model
.insuranceApproval[
indexInsurance]
.expiryDate !=
null)
AppText(
'${DateUtils.getDayMonthYearDateFormatted(DateUtils.getDateTimeFromServerFormat(model.insuranceApproval[indexInsurance].expiryDate), isArabic: projectViewModel.isArabic)}',
color: Colors.black,
fontWeight:
FontWeight.w600,
),
],
),
],
@ -657,19 +700,22 @@ class _InsuranceApprovalsDetailsState extends State<InsuranceApprovalsDetails> {
children: [
Expanded(
child: AppText(
'Procedure',
TranslationBase.of(context)
.procedure,
fontWeight: FontWeight.w700,
),
),
Expanded(
child: AppText(
'Status',
TranslationBase.of(context)
.status,
fontWeight: FontWeight.w700,
),
),
Expanded(
child: AppText(
'Usage Status',
TranslationBase.of(context)
.usageStatus,
fontWeight: FontWeight.w700,
),
)

@ -44,7 +44,11 @@ class _LabsHomePageState extends State<LabsHomePage> {
backgroundColor: Colors.grey[100],
isShowAppBar: true,
appBar: PatientProfileHeaderNewDesignAppBar(
patient, patient.patientType.toString() ?? '0', patientType,isInpatient: isInpatient,),
patient,
patient.patientType.toString() ?? '0',
patientType,
isInpatient: isInpatient,
),
body: SingleChildScrollView(
physics: BouncingScrollPhysics(),
child: FractionallySizedBox(
@ -63,13 +67,13 @@ class _LabsHomePageState extends State<LabsHomePage> {
crossAxisAlignment: CrossAxisAlignment.start,
children: [
AppText(
'Lab',
TranslationBase.of(context).lab,
style: "caption2",
color: Colors.black,
fontSize: 13,
),
AppText(
'Result',
TranslationBase.of(context).result,
bold: true,
fontSize: 22,
),
@ -84,13 +88,13 @@ class _LabsHomePageState extends State<LabsHomePage> {
crossAxisAlignment: CrossAxisAlignment.start,
children: [
AppText(
'Lab',
TranslationBase.of(context).lab,
style: "caption2",
color: Colors.black,
fontSize: 13,
),
AppText(
'Result',
TranslationBase.of(context).result,
bold: true,
fontSize: 22,
),
@ -110,7 +114,7 @@ class _LabsHomePageState extends State<LabsHomePage> {
)),
);
},
label: 'Apply for New Lab Order',
label: TranslationBase.of(context).applyForNewLabOrder,
),
...List.generate(
model.patientLabOrdersList.length,
@ -132,11 +136,13 @@ class _LabsHomePageState extends State<LabsHomePage> {
height: 160,
decoration: BoxDecoration(
//Colors.red[900] Color(0xff404545)
color: model.patientLabOrdersList[index].isLiveCareAppointment
color: model.patientLabOrdersList[index]
.isLiveCareAppointment
? Colors.red[900]
: !model.patientLabOrdersList[index].isInOutPatient
? Colors.black
: Color(0xffa9a089),
: !model.patientLabOrdersList[index]
.isInOutPatient
? Colors.black
: Color(0xffa9a089),
borderRadius: BorderRadius.only(
topLeft: Radius.circular(8),
bottomLeft: Radius.circular(8),
@ -146,17 +152,19 @@ class _LabsHomePageState extends State<LabsHomePage> {
quarterTurns: 3,
child: Center(
child: Text(
model.patientLabOrdersList[index].isLiveCareAppointment
? TranslationBase.of(context)
.liveCare
.toUpperCase()
: !model.patientLabOrdersList[index].isInOutPatient
model.patientLabOrdersList[index]
.isLiveCareAppointment
? TranslationBase.of(context)
.inPatientLabel
.toUpperCase()
: TranslationBase.of(context)
.outpatient
.toUpperCase(),
.liveCare
.toUpperCase()
: !model.patientLabOrdersList[index]
.isInOutPatient
? TranslationBase.of(context)
.inPatientLabel
.toUpperCase()
: TranslationBase.of(context)
.outpatient
.toUpperCase(),
style: TextStyle(color: Colors.white),
),
)),
@ -168,19 +176,26 @@ class _LabsHomePageState extends State<LabsHomePage> {
context,
FadePage(
page: LaboratoryResultPage(
patientLabOrders: model.patientLabOrdersList[index],
patientLabOrders:
model.patientLabOrdersList[index],
patient: patient,
arrivalType: arrivalType,
patientType: patientType,
),
),
),
doctorName: model.patientLabOrdersList[index].doctorName,
invoiceNO: ' ${model.patientLabOrdersList[index].invoiceNo}',
profileUrl: model.patientLabOrdersList[index].doctorImageURL,
branch: model.patientLabOrdersList[index].projectName,
clinic: model.patientLabOrdersList[index].clinicDescription,
appointmentDate: model.patientLabOrdersList[index].orderDate,
doctorName:
model.patientLabOrdersList[index].doctorName,
invoiceNO:
' ${model.patientLabOrdersList[index].invoiceNo}',
profileUrl: model
.patientLabOrdersList[index].doctorImageURL,
branch:
model.patientLabOrdersList[index].projectName,
clinic: model
.patientLabOrdersList[index].clinicDescription,
appointmentDate:
model.patientLabOrdersList[index].orderDate,
orderNo: model.patientLabOrdersList[index].orderNo,
isShowTime: false,
),

@ -47,7 +47,11 @@ class _RadiologyHomePageState extends State<RadiologyHomePage> {
backgroundColor: Colors.grey[100],
// appBarTitle: TranslationBase.of(context).radiology,
appBar: PatientProfileHeaderNewDesignAppBar(
patient, patient.patientType.toString() ?? '0', arrivalType,isInpatient: isInpatient,),
patient,
patient.patientType.toString() ?? '0',
arrivalType,
isInpatient: isInpatient,
),
baseViewModel: model,
body: FractionallySizedBox(
widthFactor: 1.0,
@ -65,13 +69,13 @@ class _RadiologyHomePageState extends State<RadiologyHomePage> {
crossAxisAlignment: CrossAxisAlignment.start,
children: [
AppText(
'Radiology',
TranslationBase.of(context).radiology,
style: "caption2",
color: Colors.black,
fontSize: 13,
),
AppText(
'Result',
TranslationBase.of(context).result,
bold: true,
fontSize: 22,
),
@ -86,13 +90,13 @@ class _RadiologyHomePageState extends State<RadiologyHomePage> {
crossAxisAlignment: CrossAxisAlignment.start,
children: [
AppText(
'Radiology',
TranslationBase.of(context).radiology,
style: "caption2",
color: Colors.black,
fontSize: 13,
),
AppText(
'Result',
TranslationBase.of(context).result,
bold: true,
fontSize: 22,
),
@ -112,7 +116,7 @@ class _RadiologyHomePageState extends State<RadiologyHomePage> {
)),
);
},
label: 'Apply for Radiology Order',
label: TranslationBase.of(context).applyForRadiologyOrder,
),
...List.generate(
model.radiologyList.length,
@ -134,32 +138,34 @@ class _RadiologyHomePageState extends State<RadiologyHomePage> {
height: 160,
decoration: BoxDecoration(
//Colors.red[900] Color(0xff404545)
color: model.radiologyList[index].isLiveCareAppodynamicment
color: model.radiologyList[index]
.isLiveCareAppodynamicment
? Colors.red[900]
: !model.radiologyList[index].isInOutPatient
? Colors.black
: Color(0xffa9a089),
? Colors.black
: Color(0xffa9a089),
borderRadius: BorderRadius.only(
topLeft: Radius.circular(8),
bottomLeft: Radius.circular(8),
),
),
child: RotatedBox(
quarterTurns: 3,
child: Center(
child: Text(
model.radiologyList[index].isLiveCareAppodynamicment
? TranslationBase.of(context)
.liveCare
.toUpperCase()
: !model.radiologyList[index].isInOutPatient
model.radiologyList[index]
.isLiveCareAppodynamicment
? TranslationBase.of(context)
.inPatientLabel
.toUpperCase()
: TranslationBase.of(context)
.outpatient
.toUpperCase(),
.liveCare
.toUpperCase()
: !model.radiologyList[index]
.isInOutPatient
? TranslationBase.of(context)
.inPatientLabel
.toUpperCase()
: TranslationBase.of(context)
.outpatient
.toUpperCase(),
style: TextStyle(color: Colors.white),
),
)),
@ -167,19 +173,26 @@ class _RadiologyHomePageState extends State<RadiologyHomePage> {
Expanded(
child: DoctorCard(
isNoMargin: true,
doctorName: model.radiologyList[index].doctorName,
profileUrl: model.radiologyList[index].doctorImageURL,
invoiceNO: '${model.radiologyList[index].invoiceNo}',
branch: '${model.radiologyList[index].projectName}',
clinic: model.radiologyList[index].clinicDescription,
appointmentDate: model.radiologyList[index].orderDate??
model.radiologyList[index].reportDate,
doctorName:
model.radiologyList[index].doctorName,
profileUrl:
model.radiologyList[index].doctorImageURL,
invoiceNO:
'${model.radiologyList[index].invoiceNo}',
branch:
'${model.radiologyList[index].projectName}',
clinic: model
.radiologyList[index].clinicDescription,
appointmentDate:
model.radiologyList[index].orderDate ??
model.radiologyList[index].reportDate,
onTap: () {
Navigator.push(
context,
FadePage(
page: RadiologyDetailsPage(
finalRadiology: model.radiologyList[index],
finalRadiology:
model.radiologyList[index],
patient: patient,
),
),

@ -7,6 +7,7 @@ import 'package:doctor_app_flutter/core/model/get_medication_response_model.dart
import 'package:doctor_app_flutter/core/model/post_prescrition_req_model.dart';
import 'package:doctor_app_flutter/core/viewModel/medicine_view_model.dart';
import 'package:doctor_app_flutter/core/viewModel/prescription_view_model.dart';
import 'package:doctor_app_flutter/core/viewModel/project_view_model.dart';
import 'package:doctor_app_flutter/models/SOAP/GetAssessmentReqModel.dart';
import 'package:doctor_app_flutter/models/patient/patiant_info_model.dart';
import 'package:doctor_app_flutter/screens/base/base_view.dart';
@ -25,6 +26,7 @@ import 'package:doctor_app_flutter/widgets/shared/text_fields/app_text_form_fiel
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:hexcolor/hexcolor.dart';
import 'package:provider/provider.dart';
addPrescriptionForm(context, PrescriptionViewModel model,
PatiantInformtion patient, prescription) {
@ -188,6 +190,7 @@ class _PrescriptionFormWidgetState extends State<PrescriptionFormWidget> {
Widget build(BuildContext context) {
ListSelectDialog drugDialog;
final screenSize = MediaQuery.of(context).size;
ProjectViewModel projectViewModel = Provider.of(context);
// final routeArgs = ModalRoute.of(context).settings.arguments as Map;
// patient = routeArgs['patient'];
@ -258,7 +261,8 @@ class _PrescriptionFormWidgetState extends State<PrescriptionFormWidget> {
MainAxisAlignment.spaceBetween,
children: [
AppText(
'New Prescription Order',
TranslationBase.of(context)
.newPrescriptionOrder,
fontWeight: FontWeight.w700,
fontSize: 20,
),
@ -284,7 +288,6 @@ class _PrescriptionFormWidgetState extends State<PrescriptionFormWidget> {
child: Column(
//mainAxisAlignment: MainAxisAlignment.end,
children: [
FractionallySizedBox(
widthFactor: 0.9,
child: Container(
@ -407,7 +410,8 @@ class _PrescriptionFormWidgetState extends State<PrescriptionFormWidget> {
child: Row(
children: [
AppText(
'Order Type',
TranslationBase.of(context)
.orderType,
fontWeight: FontWeight.w600,
),
Radio(
@ -460,7 +464,10 @@ class _PrescriptionFormWidgetState extends State<PrescriptionFormWidget> {
if (strengthChar >= 5) {
DrAppToastMsg
.showErrorToast(
"Only 5 Digits allowed for strength");
TranslationBase.of(
context)
.only5DigitsAllowedForStrength,
);
}
},
onSubmit: (_) {
@ -554,7 +561,9 @@ class _PrescriptionFormWidgetState extends State<PrescriptionFormWidget> {
child: TextField(
decoration:
textFieldSelectorDecoration(
'UNIT',
TranslationBase.of(
context)
.unit,
units != null
? units[
'description']
@ -1066,9 +1075,14 @@ class _PrescriptionFormWidgetState extends State<PrescriptionFormWidget> {
child: TextField(
decoration:
textFieldSelectorDecoration(
"Box Quantity",
TranslationBase.of(
context)
.boxQuantity,
box != null
? "Box Quantity: " +
? TranslationBase.of(
context)
.boxQuantity +
": " +
model
.boxQuintity
.toString()
@ -1124,14 +1138,18 @@ class _PrescriptionFormWidgetState extends State<PrescriptionFormWidget> {
selectedDate == null ||
units == null) {
DrAppToastMsg.showErrorToast(
"Please Fill All Fields");
TranslationBase.of(
context)
.pleaseFillAllFields);
return;
}
if (_selectedMedication
.isNarcotic ==
true) {
DrAppToastMsg.showErrorToast(
"Narcotic medicine can only be prescribed from VIDA");
TranslationBase.of(
context)
.narcoticMedicineCanOnlyBePrescribedFromVida);
Navigator.pop(context);
return;
}

@ -271,7 +271,7 @@ class PrescriptionItemsInPatientPage extends StatelessWidget {
Row(
children: [
AppText(
'Direction',
TranslationBase.of(context).direction,
color: Colors.grey,
),
Expanded(
@ -286,7 +286,7 @@ class PrescriptionItemsInPatientPage extends StatelessWidget {
Row(
children: [
AppText(
'Route',
TranslationBase.of(context).route,
color: Colors.grey,
),
AppText(" " +
@ -301,7 +301,7 @@ class PrescriptionItemsInPatientPage extends StatelessWidget {
Row(
children: [
AppText(
'Refill',
TranslationBase.of(context).refill,
color: Colors.grey,
),
Expanded(
@ -316,7 +316,7 @@ class PrescriptionItemsInPatientPage extends StatelessWidget {
Row(
children: [
AppText(
'Start Date ',
TranslationBase.of(context).startDate,
color: Colors.grey,
),
Expanded(
@ -332,7 +332,7 @@ class PrescriptionItemsInPatientPage extends StatelessWidget {
Row(
children: [
AppText(
'Stop Date',
TranslationBase.of(context).stopDate,
color: Colors.grey,
),
Expanded(
@ -377,7 +377,7 @@ class PrescriptionItemsInPatientPage extends StatelessWidget {
Row(
children: [
AppText(
'Status',
TranslationBase.of(context).status,
color: Colors.grey,
),
AppText(" " +
@ -392,7 +392,7 @@ class PrescriptionItemsInPatientPage extends StatelessWidget {
Row(
children: [
AppText(
'Processed',
TranslationBase.of(context).processed,
color: Colors.grey,
),
AppText(" " +

@ -6,6 +6,7 @@ import 'package:doctor_app_flutter/screens/prescription/add_prescription_form.da
import 'package:doctor_app_flutter/screens/prescription/prescription_item_in_patient_page.dart';
import 'package:doctor_app_flutter/screens/prescription/prescription_items_page.dart';
import 'package:doctor_app_flutter/util/date-utils.dart';
import 'package:doctor_app_flutter/util/translations_delegate_base.dart';
import 'package:doctor_app_flutter/widgets/patients/profile/add-order/addNewOrder.dart';
import 'package:doctor_app_flutter/widgets/patients/profile/patient-profile-header-new-design-app-bar.dart';
import 'package:doctor_app_flutter/widgets/shared/app_scaffold_widget.dart';
@ -28,16 +29,19 @@ class PrescriptionsPage extends StatelessWidget {
bool isSelectInpatient = routeArgs['isSelectInpatient'];
ProjectViewModel projectViewModel = Provider.of(context);
return BaseView<PrescriptionViewModel>(
onModelReady: (model) =>
isSelectInpatient
? model.getPrescriptionsInPatient(patient)
: model.getPrescriptions(patient, patientType: patientType),
onModelReady: (model) => isSelectInpatient
? model.getPrescriptionsInPatient(patient)
: model.getPrescriptions(patient, patientType: patientType),
builder: (_, model, w) => AppScaffold(
baseViewModel: model,
isShowAppBar: true,
backgroundColor: Colors.grey[100],
appBar: PatientProfileHeaderNewDesignAppBar(
patient, patientType ?? '0', arrivalType,isInpatient: isInpatient,),
patient,
patientType ?? '0',
arrivalType,
isInpatient: isInpatient,
),
body: patient.admissionNo == null
? FractionallySizedBox(
widthFactor: 1.0,
@ -55,13 +59,13 @@ class PrescriptionsPage extends StatelessWidget {
crossAxisAlignment: CrossAxisAlignment.start,
children: [
AppText(
'Order',
TranslationBase.of(context).orders,
style: "caption2",
color: Colors.black,
fontSize: 13,
),
AppText(
'Prescriptions',
TranslationBase.of(context).prescriptions,
bold: true,
fontSize: 22,
),
@ -76,13 +80,13 @@ class PrescriptionsPage extends StatelessWidget {
crossAxisAlignment: CrossAxisAlignment.start,
children: [
AppText(
'Order',
TranslationBase.of(context).orders,
style: "caption2",
color: Colors.black,
fontSize: 13,
),
AppText(
'Prescriptions',
TranslationBase.of(context).prescriptions,
bold: true,
fontSize: 22,
),
@ -96,7 +100,8 @@ class PrescriptionsPage extends StatelessWidget {
addPrescriptionForm(context, model, patient,
model.prescriptionList);
},
label: 'Apply for New Prescriptions Order',
label: TranslationBase.of(context)
.applyForNewPrescriptionsOrder,
),
...List.generate(
model.prescriptionsList.length,
@ -140,7 +145,8 @@ class PrescriptionsPage extends StatelessWidget {
Image.asset('assets/images/no-data.png'),
Padding(
padding: const EdgeInsets.all(8.0),
child: AppText('No Prescriptions Found'),
child: AppText(TranslationBase.of(context)
.noPrescriptionsFound),
)
],
),
@ -209,8 +215,8 @@ class PrescriptionsPage extends StatelessWidget {
Image.asset('assets/images/no-data.png'),
Padding(
padding: const EdgeInsets.all(8.0),
child: AppText(
'No Prescriptions Found In Patentiss'),
child: AppText(TranslationBase.of(context)
.noPrescriptionsFound),
)
],
),

@ -165,7 +165,8 @@ class _AddSelectedProcedureState extends State<AddSelectedProcedure> {
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
AppText(
'Please Enter Procedure',
TranslationBase.of(context)
.pleaseEnterProcedure,
fontWeight: FontWeight.w700,
fontSize: 20,
),
@ -187,7 +188,8 @@ class _AddSelectedProcedureState extends State<AddSelectedProcedure> {
Container(
width: MediaQuery.of(context).size.width * 0.85,
child: AppTextFieldCustom(
hintText: 'Search Procedure here...',
hintText: TranslationBase.of(context)
.searchProcedureHere,
isTextFieldHasSuffix: false,
maxLines: 1,
@ -199,11 +201,15 @@ class _AddSelectedProcedureState extends State<AddSelectedProcedure> {
// categoryName: procedureName.text);
// },
onClick: () {
if(procedureName.text.isNotEmpty && procedureName.text.length>=3)
model.getProcedureCategory(
categoryName: procedureName.text);
if (procedureName.text.isNotEmpty &&
procedureName.text.length >= 3)
model.getProcedureCategory(
categoryName: procedureName.text);
else
DrAppToastMsg.showErrorToast('At least three Characters');
DrAppToastMsg.showErrorToast(
TranslationBase.of(context)
.atLeastThreeCharacters,
);
},
),
),
@ -212,11 +218,15 @@ class _AddSelectedProcedureState extends State<AddSelectedProcedure> {
),
InkWell(
onTap: () {
if(procedureName.text.isNotEmpty && procedureName.text.length>=3)
if (procedureName.text.isNotEmpty &&
procedureName.text.length >= 3)
model.getProcedureCategory(
categoryName: procedureName.text);
else
DrAppToastMsg.showErrorToast('At least three Characters');
DrAppToastMsg.showErrorToast(
TranslationBase.of(context)
.atLeastThreeCharacters,
);
},
child: Icon(
Icons.search,
@ -419,7 +429,9 @@ class _AddSelectedProcedureState extends State<AddSelectedProcedure> {
onPressed:
if (entityList.isEmpty == true) {
DrAppToastMsg.showErrorToast(
"Fill the mandatory procedure details");
TranslationBase.of(context)
.fillTheMandatoryProcedureDetails,
);
return;
}

@ -9,6 +9,7 @@ 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/dr_app_toast_msg.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_scaffold_widget.dart';
import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart';
import 'package:doctor_app_flutter/widgets/shared/buttons/app_buttons_widget.dart';
@ -160,7 +161,7 @@ class _AddSelectedLabOrderState extends State<AddSelectedLabOrder> {
Row(
children: [
AppText(
'New Lab Order',
TranslationBase.of(context).applyForNewLabOrder,
fontWeight: FontWeight.w700,
fontSize: 20,
),
@ -218,7 +219,8 @@ class _AddSelectedLabOrderState extends State<AddSelectedLabOrder> {
alignment: WrapAlignment.center,
children: <Widget>[
AppButton(
title: "Add Lab Order", //TranslationBase.of(context)
title: TranslationBase.of(context)
.addLabOrder, //TranslationBase.of(context)
fontWeight: FontWeight.w700,
//.addSelectedProcedures,
color: Color(0xff359846),
@ -227,7 +229,9 @@ class _AddSelectedLabOrderState extends State<AddSelectedLabOrder> {
onPressed:
if (entityList.isEmpty == true) {
DrAppToastMsg.showErrorToast(
"Fill the mandatory procedure details");
TranslationBase.of(context)
.fillTheMandatoryProcedureDetails,
);
return;
}

@ -9,6 +9,7 @@ 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/dr_app_toast_msg.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_scaffold_widget.dart';
import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart';
import 'package:doctor_app_flutter/widgets/shared/buttons/app_buttons_widget.dart';
@ -161,7 +162,7 @@ class _AddSelectedRadiologyOrderState extends State<AddSelectedRadiologyOrder> {
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
AppText(
'New Radiology Order',
TranslationBase.of(context).newRadiologyOrder,
fontWeight: FontWeight.w700,
fontSize: 20,
),
@ -216,15 +217,15 @@ class _AddSelectedRadiologyOrderState extends State<AddSelectedRadiologyOrder> {
alignment: WrapAlignment.center,
children: <Widget>[
AppButton(
title: 'Add Radiology Order',
title: TranslationBase.of(context).addRadiologyOrder,
color: Color(0xff359846),
fontWeight: FontWeight.w700,
onPressed: () {
//print(entityList.toString());
onPressed:
if (entityList.isEmpty == true) {
DrAppToastMsg.showErrorToast(
"Fill the mandatory procedure details");
DrAppToastMsg.showErrorToast(TranslationBase.of(context)
.fillTheMandatoryProcedureDetails);
return;
}

@ -8,11 +8,11 @@ import 'package:doctor_app_flutter/screens/base/base_view.dart';
import 'package:doctor_app_flutter/screens/procedures/add-procedure-form.dart';
import 'package:doctor_app_flutter/screens/procedures/update-procedure.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/patients/profile/patient-profile-header-new-design-app-bar.dart';
import 'package:doctor_app_flutter/widgets/shared/app_scaffold_widget.dart';
import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart';
import 'package:flutter/material.dart';
import 'ProcedureCard.dart';
class ProcedureScreen extends StatelessWidget {
@ -32,15 +32,21 @@ class ProcedureScreen extends StatelessWidget {
String arrivalType = routeArgs['arrivalType'];
bool isInpatient = routeArgs['isInpatient'];
return BaseView<ProcedureViewModel>(
onModelReady: (model) =>
model.getProcedure(mrn: patient.patientId, patientType: patientType,),
onModelReady: (model) => model.getProcedure(
mrn: patient.patientId,
patientType: patientType,
),
builder: (BuildContext context, ProcedureViewModel model, Widget child) =>
AppScaffold(
isShowAppBar: true,
backgroundColor: Colors.grey[100],
baseViewModel: model,
appBar: PatientProfileHeaderNewDesignAppBar(
patient, arrivalType ?? '0', patientType,isInpatient: isInpatient,),
patient,
arrivalType ?? '0',
patientType,
isInpatient: isInpatient,
),
body: SingleChildScrollView(
child: Container(
child: Column(
@ -57,13 +63,13 @@ class ProcedureScreen extends StatelessWidget {
crossAxisAlignment: CrossAxisAlignment.start,
children: [
AppText(
'Order Test or',
TranslationBase.of(context).orderTestOr,
style: "caption2",
color: Colors.black,
fontSize: 13,
),
AppText(
'Procedure',
TranslationBase.of(context).procedure,
bold: true,
fontSize: 22,
),
@ -78,13 +84,13 @@ class ProcedureScreen extends StatelessWidget {
crossAxisAlignment: CrossAxisAlignment.start,
children: [
AppText(
'Order Test or',
TranslationBase.of(context).orderTestOr,
style: "caption2",
color: Colors.black,
fontSize: 13,
),
AppText(
'Procedure',
TranslationBase.of(context).procedure,
bold: true,
fontSize: 22,
),
@ -135,7 +141,7 @@ class ProcedureScreen extends StatelessWidget {
height: 10,
),
AppText(
'Add More Procedure',
TranslationBase.of(context).addMoreProcedure,
color: Colors.grey[600],
fontWeight: FontWeight.w600,
)
@ -183,8 +189,9 @@ class ProcedureScreen extends StatelessWidget {
doctorName: doctorNameP,
),
),
if (model.state == ViewState.ErrorLocal || (model.procedureList.isNotEmpty && model.procedureList[0].entityList.isEmpty))
if (model.state == ViewState.ErrorLocal ||
(model.procedureList.isNotEmpty &&
model.procedureList[0].entityList.isEmpty))
Center(
child: Column(
crossAxisAlignment: CrossAxisAlignment.center,
@ -195,7 +202,9 @@ class ProcedureScreen extends StatelessWidget {
Image.asset('assets/images/no-data.png'),
Padding(
padding: const EdgeInsets.all(22.0),
child: AppText(model.procedureList.isEmpty ? model.error: 'No Procedure Found '),
child: AppText(model.procedureList.isEmpty
? model.error
: 'No Procedure Found '),
)
],
),

@ -100,9 +100,11 @@ class TranslationBase {
String get referral => localizedValues['referral'][locale.languageCode];
String get inPatient => localizedValues['inPatient'][locale.languageCode];
String get inPatientLabel => localizedValues['inPatientLabel'][locale.languageCode];
String get inPatientLabel =>
localizedValues['inPatientLabel'][locale.languageCode];
String get inPatientAll => localizedValues['inPatientAll'][locale.languageCode];
String get inPatientAll =>
localizedValues['inPatientAll'][locale.languageCode];
String get operations => localizedValues['operations'][locale.languageCode];
@ -1176,7 +1178,8 @@ class TranslationBase {
localizedValues['SpecialResult'][locale.languageCode];
String get noDataAvailable =>
localizedValues['noDataAvailable'][locale.languageCode];
String get showMoreBtn => localizedValues['show-more-btn'][locale.languageCode];
String get showMoreBtn =>
localizedValues['show-more-btn'][locale.languageCode];
String get showDetail => localizedValues['showDetail'][locale.languageCode];
String get viewProfile => localizedValues['viewProfile'][locale.languageCode];
@ -1247,6 +1250,56 @@ class TranslationBase {
String get acknowledged =>
localizedValues['acknowledged'][locale.languageCode];
String get didntCatch => localizedValues["didntCatch"][locale.languageCode];
String get pleaseEnterProcedure =>
localizedValues["pleaseEnterProcedure"][locale.languageCode];
String get fillTheMandatoryProcedureDetails =>
localizedValues["fillTheMandatoryProcedureDetails"][locale.languageCode];
String get atLeastThreeCharacters =>
localizedValues["atLeastThreeCharacters"][locale.languageCode];
String get searchProcedureHere =>
localizedValues["searchProcedureHere"][locale.languageCode];
String get noInsuranceApprovalFound =>
localizedValues["noInsuranceApprovalFound"][locale.languageCode];
String get procedure => localizedValues["procedure"][locale.languageCode];
String get stopDate => localizedValues["stopDate"][locale.languageCode];
String get processed => localizedValues["processed"][locale.languageCode];
String get direction => localizedValues["direction"][locale.languageCode];
String get refill => localizedValues["refill"][locale.languageCode];
String get medicationHasBeenAdded =>
localizedValues["medicationHasBeenAdded"][locale.languageCode];
String get newPrescriptionOrder =>
localizedValues["newPrescriptionOrder"][locale.languageCode];
String get pleaseFillAllFields =>
localizedValues["pleaseFillAllFields"][locale.languageCode];
String get narcoticMedicineCanOnlyBePrescribedFromVida =>
localizedValues["narcoticMedicineCanOnlyBePrescribedFromVida"]
[locale.languageCode];
String get only5DigitsAllowedForStrength =>
localizedValues["only5DigitsAllowedForStrength"][locale.languageCode];
String get unit => localizedValues["unit"][locale.languageCode];
String get boxQuantity => localizedValues["boxQuantity"][locale.languageCode];
String get orderTestOr => localizedValues["orderTestOr"][locale.languageCode];
String get applyForRadiologyOrder =>
localizedValues["applyForRadiologyOrder"][locale.languageCode];
String get applyForNewLabOrder =>
localizedValues["applyForNewLabOrder"][locale.languageCode];
String get addLabOrder => localizedValues["addLabOrder"][locale.languageCode];
String get addRadiologyOrder =>
localizedValues["addRadiologyOrder"][locale.languageCode];
String get newRadiologyOrder =>
localizedValues["newRadiologyOrder"][locale.languageCode];
String get orderDate => localizedValues["orderDate"][locale.languageCode];
String get examType => localizedValues["examType"][locale.languageCode];
String get health => localizedValues["health"][locale.languageCode];
String get summary => localizedValues["summary"][locale.languageCode];
String get applyForNewPrescriptionsOrder =>
localizedValues["applyForNewPrescriptionsOrder"][locale.languageCode];
String get noPrescriptionsFound =>
localizedValues["noPrescriptionsFound"][locale.languageCode];
String get noMedicalFileFound =>
localizedValues["noMedicalFileFound"][locale.languageCode];
String get insurance22 => localizedValues["insurance22"][locale.languageCode];
String get approvals22 => localizedValues["approvals22"][locale.languageCode];
}
class TranslationBaseDelegate extends LocalizationsDelegate<TranslationBase> {

@ -59,7 +59,8 @@ class DoctorCardInsurance extends StatelessWidget {
topLeft: Radius.circular(10),
bottomLeft: Radius.circular(10),
),
color: approvalStatus == "Approved"
color: approvalStatus == "Approved" ||
approvalStatus == "تمت الموافقة"
? Color(0xff359846)
: Color(0xffD02127),
),
@ -79,7 +80,8 @@ class DoctorCardInsurance extends StatelessWidget {
children: [
AppText(
"$approvalStatus",
color: approvalStatus == "Approved"
color: approvalStatus == "Approved" ||
approvalStatus == "تمت الموافقة"
? Color(0xff359846)
: Color(0xffD02127),
),

Loading…
Cancel
Save