insurance update update
parent
d794787459
commit
43fa08b8b6
@ -0,0 +1,73 @@
|
||||
class PatientInsuranceCardHistoryResponseModel {
|
||||
int? createdBy;
|
||||
String? createdOn;
|
||||
int? editedBy;
|
||||
String? editedOn;
|
||||
String? insuranceCardImage;
|
||||
String? mobileNumber;
|
||||
int? patientID;
|
||||
String? patientIdentificationNo;
|
||||
String? patientInsuranceCardUpdateInfoID;
|
||||
int? patientType;
|
||||
int? projectID;
|
||||
String? rejectionRemarks;
|
||||
int? setupID;
|
||||
int? status;
|
||||
String? statusDescription;
|
||||
|
||||
PatientInsuranceCardHistoryResponseModel(
|
||||
{this.createdBy,
|
||||
this.createdOn,
|
||||
this.editedBy,
|
||||
this.editedOn,
|
||||
this.insuranceCardImage,
|
||||
this.mobileNumber,
|
||||
this.patientID,
|
||||
this.patientIdentificationNo,
|
||||
this.patientInsuranceCardUpdateInfoID,
|
||||
this.patientType,
|
||||
this.projectID,
|
||||
this.rejectionRemarks,
|
||||
this.setupID,
|
||||
this.status,
|
||||
this.statusDescription});
|
||||
|
||||
PatientInsuranceCardHistoryResponseModel.fromJson(Map<String, dynamic> json) {
|
||||
createdBy = json['CreatedBy'];
|
||||
createdOn = json['CreatedOn'];
|
||||
editedBy = json['EditedBy'];
|
||||
editedOn = json['EditedOn'];
|
||||
insuranceCardImage = json['InsuranceCardImage'];
|
||||
mobileNumber = json['MobileNumber'];
|
||||
patientID = json['PatientID'];
|
||||
patientIdentificationNo = json['PatientIdentificationNo'];
|
||||
patientInsuranceCardUpdateInfoID = json['PatientInsuranceCardUpdateInfoID'];
|
||||
patientType = json['PatientType'];
|
||||
projectID = json['ProjectID'];
|
||||
rejectionRemarks = json['RejectionRemarks'];
|
||||
setupID = json['SetupID'];
|
||||
status = json['Status'];
|
||||
statusDescription = json['StatusDescription'];
|
||||
}
|
||||
|
||||
Map<String, dynamic> toJson() {
|
||||
final Map<String, dynamic> data = new Map<String, dynamic>();
|
||||
data['CreatedBy'] = this.createdBy;
|
||||
data['CreatedOn'] = this.createdOn;
|
||||
data['EditedBy'] = this.editedBy;
|
||||
data['EditedOn'] = this.editedOn;
|
||||
data['InsuranceCardImage'] = this.insuranceCardImage;
|
||||
data['MobileNumber'] = this.mobileNumber;
|
||||
data['PatientID'] = this.patientID;
|
||||
data['PatientIdentificationNo'] = this.patientIdentificationNo;
|
||||
data['PatientInsuranceCardUpdateInfoID'] =
|
||||
this.patientInsuranceCardUpdateInfoID;
|
||||
data['PatientType'] = this.patientType;
|
||||
data['ProjectID'] = this.projectID;
|
||||
data['RejectionRemarks'] = this.rejectionRemarks;
|
||||
data['SetupID'] = this.setupID;
|
||||
data['Status'] = this.status;
|
||||
data['StatusDescription'] = this.statusDescription;
|
||||
return data;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,88 @@
|
||||
class PatientInsuranceUpdateResponseModel {
|
||||
dynamic approvalLimit;
|
||||
int? companyGroupID;
|
||||
String? companyName;
|
||||
String? companyRemarks;
|
||||
String? dOB;
|
||||
dynamic deductible;
|
||||
String? effectiveFrom;
|
||||
String? effectiveTo;
|
||||
String? eligabilityFailureReason;
|
||||
bool? isMemberEligible;
|
||||
String? memberID;
|
||||
String? memberName;
|
||||
String? memberStatus;
|
||||
dynamic message;
|
||||
String? nationalId;
|
||||
String? policyNumber;
|
||||
String? responseMessage;
|
||||
dynamic room;
|
||||
String? subCategory;
|
||||
|
||||
PatientInsuranceUpdateResponseModel(
|
||||
{this.approvalLimit,
|
||||
this.companyGroupID,
|
||||
this.companyName,
|
||||
this.companyRemarks,
|
||||
this.dOB,
|
||||
this.deductible,
|
||||
this.effectiveFrom,
|
||||
this.effectiveTo,
|
||||
this.eligabilityFailureReason,
|
||||
this.isMemberEligible,
|
||||
this.memberID,
|
||||
this.memberName,
|
||||
this.memberStatus,
|
||||
this.message,
|
||||
this.nationalId,
|
||||
this.policyNumber,
|
||||
this.responseMessage,
|
||||
this.room,
|
||||
this.subCategory});
|
||||
|
||||
PatientInsuranceUpdateResponseModel.fromJson(Map<String, dynamic> json) {
|
||||
approvalLimit = json['ApprovalLimit'];
|
||||
companyGroupID = json['CompanyGroupID'];
|
||||
companyName = json['CompanyName'];
|
||||
companyRemarks = json['CompanyRemarks'];
|
||||
dOB = json['DOB'];
|
||||
deductible = json['Deductible'];
|
||||
effectiveFrom = json['EffectiveFrom'];
|
||||
effectiveTo = json['EffectiveTo'];
|
||||
eligabilityFailureReason = json['EligabilityFailureReason'];
|
||||
isMemberEligible = json['IsMemberEligible'];
|
||||
memberID = json['MemberID'];
|
||||
memberName = json['MemberName'];
|
||||
memberStatus = json['MemberStatus'];
|
||||
message = json['Message'];
|
||||
nationalId = json['NationalId'];
|
||||
policyNumber = json['PolicyNumber'];
|
||||
responseMessage = json['ResponseMessage'];
|
||||
room = json['Room'];
|
||||
subCategory = json['SubCategory'];
|
||||
}
|
||||
|
||||
Map<String, dynamic> toJson() {
|
||||
final Map<String, dynamic> data = new Map<String, dynamic>();
|
||||
data['ApprovalLimit'] = this.approvalLimit;
|
||||
data['CompanyGroupID'] = this.companyGroupID;
|
||||
data['CompanyName'] = this.companyName;
|
||||
data['CompanyRemarks'] = this.companyRemarks;
|
||||
data['DOB'] = this.dOB;
|
||||
data['Deductible'] = this.deductible;
|
||||
data['EffectiveFrom'] = this.effectiveFrom;
|
||||
data['EffectiveTo'] = this.effectiveTo;
|
||||
data['EligabilityFailureReason'] = this.eligabilityFailureReason;
|
||||
data['IsMemberEligible'] = this.isMemberEligible;
|
||||
data['MemberID'] = this.memberID;
|
||||
data['MemberName'] = this.memberName;
|
||||
data['MemberStatus'] = this.memberStatus;
|
||||
data['Message'] = this.message;
|
||||
data['NationalId'] = this.nationalId;
|
||||
data['PolicyNumber'] = this.policyNumber;
|
||||
data['ResponseMessage'] = this.responseMessage;
|
||||
data['Room'] = this.room;
|
||||
data['SubCategory'] = this.subCategory;
|
||||
return data;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,139 @@
|
||||
import 'package:easy_localization/easy_localization.dart';
|
||||
import 'package:flutter/cupertino.dart';
|
||||
import 'package:hmg_patient_app_new/core/app_assets.dart';
|
||||
import 'package:hmg_patient_app_new/core/utils/date_util.dart';
|
||||
import 'package:hmg_patient_app_new/core/utils/size_utils.dart';
|
||||
import 'package:hmg_patient_app_new/core/utils/utils.dart';
|
||||
import 'package:hmg_patient_app_new/extensions/string_extensions.dart';
|
||||
import 'package:hmg_patient_app_new/extensions/widget_extensions.dart';
|
||||
import 'package:hmg_patient_app_new/features/insurance/insurance_view_model.dart';
|
||||
import 'package:hmg_patient_app_new/generated/locale_keys.g.dart';
|
||||
import 'package:hmg_patient_app_new/theme/colors.dart';
|
||||
import 'package:hmg_patient_app_new/widgets/buttons/custom_button.dart';
|
||||
import 'package:hmg_patient_app_new/widgets/shimmer/movies_shimmer_widget.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
|
||||
class PatientInsuranceCardUpdateCard extends StatelessWidget {
|
||||
PatientInsuranceCardUpdateCard({super.key});
|
||||
|
||||
late InsuranceViewModel insuranceViewModel;
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
insuranceViewModel = Provider.of<InsuranceViewModel>(context);
|
||||
return Column(
|
||||
children: [
|
||||
Row(
|
||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||
children: [
|
||||
LocaleKeys.insuranceCards.tr(context: context).toText24(isBold: true),
|
||||
Utils.buildSvgWithAssets(icon: AppAssets.close_bottom_sheet_icon).onPress(() {
|
||||
Navigator.of(context).pop();
|
||||
}),
|
||||
],
|
||||
).paddingSymmetrical(24.h, 24.h),
|
||||
insuranceViewModel.isInsuranceUpdateDetailsLoading
|
||||
? const MoviesShimmerWidget().paddingSymmetrical(24.h, 24.h)
|
||||
: Container(
|
||||
// height: 120.h,
|
||||
decoration: RoundedRectangleBorder().toSmoothCornerDecoration(
|
||||
color: AppColors.whiteColor,
|
||||
borderRadius: 24,
|
||||
),
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
"Haroon Amjad".toText16(weight: FontWeight.w600),
|
||||
"Policy: ${insuranceViewModel.patientInsuranceUpdateResponseModel!.policyNumber}".toText12(isBold: true, color: AppColors.lightGrayColor),
|
||||
SizedBox(height: 8.h),
|
||||
Row(
|
||||
children: [
|
||||
insuranceViewModel.patientInsuranceUpdateResponseModel!.companyName!.toText12(isBold: true),
|
||||
SizedBox(
|
||||
width: 6.h,
|
||||
),
|
||||
Container(
|
||||
padding: EdgeInsets.symmetric(horizontal: 6.h, vertical: 3.h),
|
||||
decoration: RoundedRectangleBorder().toSmoothCornerDecoration(
|
||||
color: AppColors.infoColor,
|
||||
borderRadius: 50,
|
||||
),
|
||||
child: insuranceViewModel.patientInsuranceUpdateResponseModel!.subCategory!.toText8(isBold: true, color: AppColors.whiteColor),
|
||||
),
|
||||
],
|
||||
),
|
||||
SizedBox(height: 8.h),
|
||||
Row(
|
||||
children: [
|
||||
Wrap(
|
||||
direction: Axis.horizontal,
|
||||
spacing: 4.h,
|
||||
runSpacing: 4.h,
|
||||
children: [
|
||||
Row(
|
||||
children: [
|
||||
CustomButton(
|
||||
icon: AppAssets.doctor_calendar_icon,
|
||||
iconColor: AppColors.blackColor,
|
||||
iconSize: 13.h,
|
||||
text: "${LocaleKeys.expiryOn.tr(context: context)} ${insuranceViewModel.patientInsuranceUpdateResponseModel!.effectiveTo}",
|
||||
onPressed: () {},
|
||||
backgroundColor: AppColors.greyColor,
|
||||
borderColor: AppColors.greyColor,
|
||||
textColor: AppColors.blackColor,
|
||||
fontSize: 10,
|
||||
fontWeight: FontWeight.w500,
|
||||
borderRadius: 12,
|
||||
padding: EdgeInsets.fromLTRB(10, 0, 10, 0),
|
||||
height: 30.h,
|
||||
),
|
||||
],
|
||||
),
|
||||
Row(
|
||||
children: [
|
||||
CustomButton(
|
||||
text: "Member ID: ${insuranceViewModel.patientInsuranceUpdateResponseModel!.memberID!}",
|
||||
onPressed: () {},
|
||||
backgroundColor: AppColors.greyColor,
|
||||
borderColor: AppColors.greyColor,
|
||||
textColor: AppColors.blackColor,
|
||||
fontSize: 10,
|
||||
fontWeight: FontWeight.w500,
|
||||
borderRadius: 12,
|
||||
padding: EdgeInsets.fromLTRB(10, 0, 10, 0),
|
||||
height: 30.h,
|
||||
),
|
||||
],
|
||||
),
|
||||
],
|
||||
),
|
||||
],
|
||||
),
|
||||
],
|
||||
).paddingSymmetrical(16.h, 16.h),
|
||||
).paddingSymmetrical(24.h, 0.h),
|
||||
SizedBox(
|
||||
height: 24.h,
|
||||
),
|
||||
CustomButton(
|
||||
icon: AppAssets.insurance_active_icon,
|
||||
iconColor: AppColors.whiteColor,
|
||||
iconSize: 20.h,
|
||||
text: "Update Insurance",
|
||||
onPressed: () {},
|
||||
backgroundColor: AppColors.successColor,
|
||||
borderColor: AppColors.successColor.withOpacity(0.01),
|
||||
textColor: AppColors.whiteColor,
|
||||
fontSize: 16,
|
||||
fontWeight: FontWeight.w500,
|
||||
borderRadius: 12,
|
||||
padding: EdgeInsets.fromLTRB(10, 0, 10, 0),
|
||||
height: 56.h,
|
||||
).paddingSymmetrical(24.h, 0.h),
|
||||
SizedBox(
|
||||
height: 24.h,
|
||||
),
|
||||
],
|
||||
);
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue