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