Insurance approvals page fixes

pull/190/head
haroon amjad 6 days ago
parent d9013a1dc2
commit dffed5df6b

@ -488,7 +488,7 @@
"services2": "الخدمات", "services2": "الخدمات",
"cantSeeProfile": "لرؤية ملفك الطبي، يرجى تسجيل الدخول أو التسجيل الآن", "cantSeeProfile": "لرؤية ملفك الطبي، يرجى تسجيل الدخول أو التسجيل الآن",
"loginRegisterNow": "تسجيل الدخول أو التسجيل الآن", "loginRegisterNow": "تسجيل الدخول أو التسجيل الآن",
"hmgPharmacy": "صيدلية HMG", "hmgPharmacy": "صيدلية مجموعة الحبيب الطبية",
"ecommerceSolution": "حلول التجارة الإلكترونية", "ecommerceSolution": "حلول التجارة الإلكترونية",
"comprehensive": "شامل", "comprehensive": "شامل",
"onlineConsulting": "استشارات عبر الإنترنت", "onlineConsulting": "استشارات عبر الإنترنت",
@ -666,7 +666,7 @@
"findUs": "اعثر علينا", "findUs": "اعثر علينا",
"liveChat": "دردشة مباشرة", "liveChat": "دردشة مباشرة",
"service": "خدمة", "service": "خدمة",
"hmgServiceLabel": "خدمة HMG", "hmgServiceLabel": "خدمة مجموعة الحبيب الطبية",
"healthWeatherIndicators": "مؤشرات الطقس الصحية", "healthWeatherIndicators": "مؤشرات الطقس الصحية",
"healthTipsBasedOnCurrentWeather": "نصائح صحية بناءً على الطقس الحالي", "healthTipsBasedOnCurrentWeather": "نصائح صحية بناءً على الطقس الحالي",
"moreDetails": "المزيد من التفاصيل", "moreDetails": "المزيد من التفاصيل",
@ -717,10 +717,10 @@
"bloodDonationInfo": "من خلال هذه الخدمة، يمكنك تسجيل اسمك كمتبرع بالدم <20><>يث سيتواصل معك بنك الدم في مجموعة الحبيب الطبية في حالة الحاجة إلى فصيلة الدم.", "bloodDonationInfo": "من خلال هذه الخدمة، يمكنك تسجيل اسمك كمتبرع بالدم <20><>يث سيتواصل معك بنك الدم في مجموعة الحبيب الطبية في حالة الحاجة إلى فصيلة الدم.",
"bloodInstruction": "أدخل المعلومات المطلوبة، من أجل التسجيل في خدمة التبرع بالدم", "bloodInstruction": "أدخل المعلومات المطلوبة، من أجل التسجيل في خدمة التبرع بالدم",
"viewTerms": "لعرض الشروط والأحكام", "viewTerms": "لعرض الشروط والأحكام",
"wantConnectHmgNetwork": "عزيزي العميل، لا يوجد وصول إلى الإنترنت، هل ترغب في الاتصال بشبكة HMG لاستخدام تطبيقنا، تأكد من أنك في نطاق شبكة HMG", "wantConnectHmgNetwork": "عزيزي العميل، لا يوجد وصول إلى الإنترنت، هل ترغب في الاتصال بشبكة مجموعة الحبيب الطبية لاستخدام تطبيقنا، تأكد من أنك في نطاق شبكة مجموعة الحبيب الطبية",
"failedToAccessHmgServices": "متصل بشبكة HMG،\n\nلكن فشل في الوصول إلى خدمات HMG", "failedToAccessHmgServices": "متصل بشبكة مجموعة الحبيب الطبية،\n\nلكن فشل في الوصول إلى خدمات مجموعة الحبيب الطبية",
"offerAndPackages": "عروض وباقات", "offerAndPackages": "عروض وباقات",
"offerAndPackagesDetails": "تتيح لك هذه الخدمة عرض جميع عروض HMG:", "offerAndPackagesDetails": "تتيح لك هذه الخدمة عرض جميع عروض مجموعة الحبيب الطبية:",
"invoiceNo": "رقم الفاتورة", "invoiceNo": "رقم الفاتورة",
"invoiceDate": "تاريخ الفاتورة", "invoiceDate": "تاريخ الفاتورة",
"specialResult": "نتيجة خاصة", "specialResult": "نتيجة خاصة",
@ -853,8 +853,8 @@
"onboardingBody1": "ببضع نقرات فقط يمكنك استشارة الطبيب الذي تختاره.", "onboardingBody1": "ببضع نقرات فقط يمكنك استشارة الطبيب الذي تختاره.",
"onboardingHeading2": "الوصول إلى السجل الطبي بين يديك", "onboardingHeading2": "الوصول إلى السجل الطبي بين يديك",
"onboardingBody2": "تتبع تاريخك الطبي بما في ذلك الفحوصات المخبرية، الوصفات الطبية، التأمين، وغيرها.", "onboardingBody2": "تتبع تاريخك الطبي بما في ذلك الفحوصات المخبرية، الوصفات الطبية، التأمين، وغيرها.",
"hmgHospitals": "مستشفيات HMG", "hmgHospitals": "مستشفيات مجموعة الحبيب الطبية",
"hmcMedicalClinic": "مراكز HMC الطبية", "hmcMedicalClinic": "مراكز مجموعة الحبيب الطبية",
"applyFilter": "تطبيق الفلتر", "applyFilter": "تطبيق الفلتر",
"facilityAndLocation": "المرفق والموقع", "facilityAndLocation": "المرفق والموقع",
"regionAndLocation": "المنطقة والمواقع", "regionAndLocation": "المنطقة والمواقع",
@ -1581,5 +1581,6 @@
"reschedulingAppo": "إعادة جدولة الموعد، يرجى الانتظار...", "reschedulingAppo": "إعادة جدولة الموعد، يرجى الانتظار...",
"invalidEligibility": "لا يمكنك إجراء الدفع عبر الإنترنت لأنك غير مؤهل لاستخدام الخدمة المقدمة.", "invalidEligibility": "لا يمكنك إجراء الدفع عبر الإنترنت لأنك غير مؤهل لاستخدام الخدمة المقدمة.",
"invalidInsurance": "لا يمكنك إجراء الدفع عبر الإنترنت لأنه ليس لديك تأمين صالح.", "invalidInsurance": "لا يمكنك إجراء الدفع عبر الإنترنت لأنه ليس لديك تأمين صالح.",
"continueCash": "تواصل نقدا" "continueCash": "تواصل نقدا",
"hmgPolicies": "سياسات مجموعة الحبيب الطبية"
} }

@ -1572,5 +1572,6 @@
"reschedulingAppo": "Rescheduling Appointment, Please wait...", "reschedulingAppo": "Rescheduling Appointment, Please wait...",
"invalidEligibility": "You cannot make online payment because you are not eligible to use the provided service.", "invalidEligibility": "You cannot make online payment because you are not eligible to use the provided service.",
"invalidInsurance": "You cannot make online payment because you do not have a valid insurance.", "invalidInsurance": "You cannot make online payment because you do not have a valid insurance.",
"continueCash": "Continue as cash" "continueCash": "Continue as cash",
"hmgPolicies": "HMG Policies"
} }

@ -194,8 +194,8 @@ class ApiClientImp implements ApiClient {
body['TokenID'] = "@dm!n"; body['TokenID'] = "@dm!n";
} }
// body['TokenID'] = "@dm!n"; body['TokenID'] = "@dm!n";
// body['PatientID'] = 4773989; body['PatientID'] = 4773781;
// body['PatientTypeID'] = 1; // body['PatientTypeID'] = 1;
// body['PatientOutSA'] = 0; // body['PatientOutSA'] = 0;
// body['SessionID'] = "45786230487560q"; // body['SessionID'] = "45786230487560q";

@ -52,7 +52,7 @@ class InsuranceApprovalResponseModel {
String? eApprovalRemarks; String? eApprovalRemarks;
bool? isEmailSentOnDelayApproval; bool? isEmailSentOnDelayApproval;
int? eAuthorizationID; int? eAuthorizationID;
InsuranceApprovalDetails? apporvalDetails; List<InsuranceApprovalDetails>? apporvalDetails = [];
String? approvalStatusDescption; String? approvalStatusDescption;
String? clinicName; String? clinicName;
String? clinicNameN; String? clinicNameN;
@ -217,7 +217,9 @@ class InsuranceApprovalResponseModel {
isEmailSentOnDelayApproval = json['IsEmailSentOnDelayApproval']; isEmailSentOnDelayApproval = json['IsEmailSentOnDelayApproval'];
eAuthorizationID = json['EAuthorizationID']; eAuthorizationID = json['EAuthorizationID'];
if (json['ApporvalDetails'] != null && json['ApporvalDetails'].length != 0) { if (json['ApporvalDetails'] != null && json['ApporvalDetails'].length != 0) {
apporvalDetails = InsuranceApprovalDetails.fromJson(json['ApporvalDetails'][0]); json['ApporvalDetails'].forEach((v) {
apporvalDetails!.add(InsuranceApprovalDetails.fromJson(v));
});
} }
approvalStatusDescption = json['ApprovalStatusDescption']; approvalStatusDescption = json['ApprovalStatusDescption'];
clinicName = json['ClinicName']; clinicName = json['ClinicName'];
@ -302,9 +304,9 @@ class InsuranceApprovalResponseModel {
data['EApprovalRemarks'] = this.eApprovalRemarks; data['EApprovalRemarks'] = this.eApprovalRemarks;
data['IsEmailSentOnDelayApproval'] = this.isEmailSentOnDelayApproval; data['IsEmailSentOnDelayApproval'] = this.isEmailSentOnDelayApproval;
data['EAuthorizationID'] = this.eAuthorizationID; data['EAuthorizationID'] = this.eAuthorizationID;
if (this.apporvalDetails != null) { // if (this.apporvalDetails != null) {
data['ApporvalDetails'] = this.apporvalDetails!.toJson; // data['ApporvalDetails'] = this.apporvalDetails!.toJson;
} // }
data['ApprovalStatusDescption'] = this.approvalStatusDescption; data['ApprovalStatusDescption'] = this.approvalStatusDescption;
data['ClinicName'] = this.clinicName; data['ClinicName'] = this.clinicName;
data['ClinicNameN'] = this.clinicNameN; data['ClinicNameN'] = this.clinicNameN;

@ -232,7 +232,7 @@ class LabRepoImp implements LabRepo {
"DoctorID": labOrder.doctorID!, "DoctorID": labOrder.doctorID!,
"OrderNo": labOrder.orderNo!, "OrderNo": labOrder.orderNo!,
"InvoiceType": labOrder.invoiceType!, "InvoiceType": labOrder.invoiceType!,
"SetupID": labOrder.setupID!, "SetupID": labOrder.setupID ?? "",
"IsDownload": true, "IsDownload": true,
'ClinicName': labOrder.clinicDescription, 'ClinicName': labOrder.clinicDescription,
'DateofBirth': Utils.appState.getAuthenticatedUser()!.dateofBirth, 'DateofBirth': Utils.appState.getAuthenticatedUser()!.dateofBirth,

@ -1573,5 +1573,6 @@ abstract class LocaleKeys {
static const invalidEligibility = 'invalidEligibility'; static const invalidEligibility = 'invalidEligibility';
static const invalidInsurance = 'invalidInsurance'; static const invalidInsurance = 'invalidInsurance';
static const continueCash = 'continueCash'; static const continueCash = 'continueCash';
static const hmgPolicies = 'hmgPolicies';
} }

@ -692,6 +692,8 @@ class ServicesPage extends StatelessWidget {
) )
], ],
), ),
SizedBox(height: 24.h),
LocaleKeys.hmgPolicies.tr().toText18(weight: FontWeight.bold),
SizedBox(height: 16.h), SizedBox(height: 16.h),
Row( Row(
children: [ children: [

@ -1,5 +1,6 @@
import 'package:easy_localization/easy_localization.dart'; import 'package:easy_localization/easy_localization.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_staggered_animations/flutter_staggered_animations.dart';
import 'package:hmg_patient_app_new/core/app_assets.dart'; import 'package:hmg_patient_app_new/core/app_assets.dart';
import 'package:hmg_patient_app_new/core/app_export.dart'; import 'package:hmg_patient_app_new/core/app_export.dart';
import 'package:hmg_patient_app_new/core/app_state.dart'; import 'package:hmg_patient_app_new/core/app_state.dart';
@ -122,35 +123,69 @@ class InsuranceApprovalDetailsPage extends StatelessWidget {
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
"Approval Details".toText16(isBold: true), "Approval Details".toText16(isBold: true),
SizedBox(height: 16.h), ListView.separated(
Row( padding: EdgeInsets.only(top: 16.h),
mainAxisAlignment: MainAxisAlignment.spaceBetween, shrinkWrap: true,
children: [ physics: NeverScrollableScrollPhysics(),
LocaleKeys.procedureName.tr(context: context).toText14(isBold: true), itemCount: insuranceApprovalResponseModel.apporvalDetails!.length,
Expanded( itemBuilder: (context, index) {
child: (insuranceApprovalResponseModel.apporvalDetails!.procedureName ?? "") return AnimationConfiguration.staggeredList(
.toText12(fontWeight: FontWeight.w500, color: AppColors.greyTextColor, textAlignment: TextAlign.end, maxLine: 2), position: index,
), duration: const Duration(milliseconds: 500),
], child: SlideAnimation(
), verticalOffset: 100.0,
SizedBox(height: 8.h), child: FadeInAnimation(
Row( child: AnimatedContainer(
mainAxisAlignment: MainAxisAlignment.spaceBetween, duration: Duration(milliseconds: 300),
children: [ curve: Curves.easeInOut,
"${LocaleKeys.status.tr(context: context)}: ".toText14(isBold: true), decoration: RoundedRectangleBorder().toSmoothCornerDecoration(color: AppColors.whiteColor, borderRadius: 24.h, hasShadow: true),
insuranceApprovalResponseModel.apporvalDetails!.status!.toText12(fontWeight: FontWeight.w500, color: AppColors.greyTextColor), child: Column(
], crossAxisAlignment: CrossAxisAlignment.start,
), children: [
SizedBox(height: 8.h), Row(
Row( mainAxisAlignment: MainAxisAlignment.spaceBetween,
mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [
children: [ LocaleKeys.procedureName.tr(context: context).toText14(isBold: true),
"${LocaleKeys.usageStatus.tr(context: context)}: ".toText14(isBold: true), Expanded(
(insuranceApprovalResponseModel.apporvalDetails!.isInvoicedDesc ?? "").toText12(fontWeight: FontWeight.w500, color: AppColors.greyTextColor), child: (insuranceApprovalResponseModel.apporvalDetails![index]!.procedureName ?? "")
], .toText12(fontWeight: FontWeight.w500, color: AppColors.greyTextColor, textAlignment: TextAlign.end, maxLine: 2),
), ),
], ],
) : SizedBox.shrink(), ),
SizedBox(height: 8.h),
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
"${LocaleKeys.status.tr(context: context)}: ".toText14(isBold: true),
insuranceApprovalResponseModel.apporvalDetails![index]!.status!.toText12(fontWeight: FontWeight.w500, color: AppColors.greyTextColor),
],
),
SizedBox(height: 8.h),
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
"${LocaleKeys.usageStatus.tr(context: context)}: ".toText14(isBold: true),
(insuranceApprovalResponseModel.apporvalDetails![index]!.isInvoicedDesc ?? "").toText12(fontWeight: FontWeight.w500, color: AppColors.greyTextColor),
],
),
],
),
),
),
),
);
},
separatorBuilder: (BuildContext cxt, int index) => Column(
children: [
SizedBox(height: 16.h),
Divider(height: 1, color: AppColors.greyColor),
SizedBox(height: 16.h),
],
),
),
],
)
: SizedBox.shrink(),
), ),
) )
], ],

Loading…
Cancel
Save