Medical file widgets, Insurance approval implementation contd.
							parent
							
								
									77b4f28291
								
							
						
					
					
						commit
						25fa1acc9e
					
				| @ -0,0 +1,465 @@ | |||||||
|  | class InsuranceApprovalResponseModel { | ||||||
|  |   String? setupID; | ||||||
|  |   int? projectID; | ||||||
|  |   int? approvalNo; | ||||||
|  |   String? approvalDate; | ||||||
|  |   int? patientType; | ||||||
|  |   int? patientID; | ||||||
|  |   int? companyID; | ||||||
|  |   int? subCategoryID; | ||||||
|  |   int? doctorID; | ||||||
|  |   int? clinicID; | ||||||
|  |   int? approvalType; | ||||||
|  |   String? inpatientApprovalSubType; | ||||||
|  |   String? validFrom; | ||||||
|  |   String? vaildDays; | ||||||
|  |   String? validTo; | ||||||
|  |   bool? isApprovalOnGross; | ||||||
|  |   bool? isPackage; | ||||||
|  |   int? requestedAmount; | ||||||
|  |   int? actualApprovedAmount; | ||||||
|  |   int? aviliableAmount; | ||||||
|  |   String? companyApprovalNo; | ||||||
|  |   int? progNoteOrderNo; | ||||||
|  |   String? submitOn; | ||||||
|  |   String? receiptOn; | ||||||
|  |   String? remarks1; | ||||||
|  |   String? remarks2; | ||||||
|  |   int? status; | ||||||
|  |   String? feedbackStatusBy; | ||||||
|  |   String? feedbackStatus; | ||||||
|  |   String? feedbackStatusOn; | ||||||
|  |   int? authorizerID; | ||||||
|  |   String? expiryDate; | ||||||
|  |   int? appointmentNo; | ||||||
|  |   int? admissionNo; | ||||||
|  |   int? admissionRequestNo; | ||||||
|  |   int? createdBy; | ||||||
|  |   String? createdOn; | ||||||
|  |   int? editedBy; | ||||||
|  |   String? editedOn; | ||||||
|  |   String? rowVer; | ||||||
|  |   bool? isAddlDiscApplied; | ||||||
|  |   int? inProgressReasonID; | ||||||
|  |   String? extendedBy; | ||||||
|  |   String? extendedOn; | ||||||
|  |   int? subPolicyNo; | ||||||
|  |   int? noOrderAuthorizerID; | ||||||
|  |   bool? isVerbalApproval; | ||||||
|  |   String? subStatus; | ||||||
|  |   bool? isNotificationSend; | ||||||
|  |   String? eApprovalStatus; | ||||||
|  |   String? eApprovalRemarks; | ||||||
|  |   bool? isEmailSentOnDelayApproval; | ||||||
|  |   int? eAuthorizationID; | ||||||
|  |   InsuranceApprovalDetails? apporvalDetails; | ||||||
|  |   String? approvalStatusDescption; | ||||||
|  |   String? clinicName; | ||||||
|  |   String? clinicNameN; | ||||||
|  |   String? companyName; | ||||||
|  |   String? doctorImageURL; | ||||||
|  |   String? doctorName; | ||||||
|  |   String? doctorNameN; | ||||||
|  |   int? doctorRate; | ||||||
|  |   String? doctorTitle; | ||||||
|  |   int? gender; | ||||||
|  |   String? genderDescription; | ||||||
|  |   bool? isActiveDoctorProfile; | ||||||
|  |   bool? isExecludeDoctor; | ||||||
|  |   bool? isInOutPatient; | ||||||
|  |   String? isInOutPatientDescription; | ||||||
|  |   String? isInOutPatientDescriptionN; | ||||||
|  |   bool? isLiveCareAppointment; | ||||||
|  |   String? projectName; | ||||||
|  |   String? projectNameN; | ||||||
|  |   String? qR; | ||||||
|  |   List<String>? speciality; | ||||||
|  |   String? strApprovalDate; | ||||||
|  |   String? strExpiryDate; | ||||||
|  |   String? strSubmitDate; | ||||||
|  |   int? totaUnUsedCount; | ||||||
|  |   int? unUsedCount; | ||||||
|  | 
 | ||||||
|  |   InsuranceApprovalResponseModel( | ||||||
|  |       {this.setupID, | ||||||
|  |       this.projectID, | ||||||
|  |       this.approvalNo, | ||||||
|  |       this.approvalDate, | ||||||
|  |       this.patientType, | ||||||
|  |       this.patientID, | ||||||
|  |       this.companyID, | ||||||
|  |       this.subCategoryID, | ||||||
|  |       this.doctorID, | ||||||
|  |       this.clinicID, | ||||||
|  |       this.approvalType, | ||||||
|  |       this.inpatientApprovalSubType, | ||||||
|  |       this.validFrom, | ||||||
|  |       this.vaildDays, | ||||||
|  |       this.validTo, | ||||||
|  |       this.isApprovalOnGross, | ||||||
|  |       this.isPackage, | ||||||
|  |       this.requestedAmount, | ||||||
|  |       this.actualApprovedAmount, | ||||||
|  |       this.aviliableAmount, | ||||||
|  |       this.companyApprovalNo, | ||||||
|  |       this.progNoteOrderNo, | ||||||
|  |       this.submitOn, | ||||||
|  |       this.receiptOn, | ||||||
|  |       this.remarks1, | ||||||
|  |       this.remarks2, | ||||||
|  |       this.status, | ||||||
|  |       this.feedbackStatusBy, | ||||||
|  |       this.feedbackStatus, | ||||||
|  |       this.feedbackStatusOn, | ||||||
|  |       this.authorizerID, | ||||||
|  |       this.expiryDate, | ||||||
|  |       this.appointmentNo, | ||||||
|  |       this.admissionNo, | ||||||
|  |       this.admissionRequestNo, | ||||||
|  |       this.createdBy, | ||||||
|  |       this.createdOn, | ||||||
|  |       this.editedBy, | ||||||
|  |       this.editedOn, | ||||||
|  |       this.rowVer, | ||||||
|  |       this.isAddlDiscApplied, | ||||||
|  |       this.inProgressReasonID, | ||||||
|  |       this.extendedBy, | ||||||
|  |       this.extendedOn, | ||||||
|  |       this.subPolicyNo, | ||||||
|  |       this.noOrderAuthorizerID, | ||||||
|  |       this.isVerbalApproval, | ||||||
|  |       this.subStatus, | ||||||
|  |       this.isNotificationSend, | ||||||
|  |       this.eApprovalStatus, | ||||||
|  |       this.eApprovalRemarks, | ||||||
|  |       this.isEmailSentOnDelayApproval, | ||||||
|  |       this.eAuthorizationID, | ||||||
|  |       this.apporvalDetails, | ||||||
|  |       this.approvalStatusDescption, | ||||||
|  |       this.clinicName, | ||||||
|  |       this.clinicNameN, | ||||||
|  |       this.companyName, | ||||||
|  |       this.doctorImageURL, | ||||||
|  |       this.doctorName, | ||||||
|  |       this.doctorNameN, | ||||||
|  |       this.doctorRate, | ||||||
|  |       this.doctorTitle, | ||||||
|  |       this.gender, | ||||||
|  |       this.genderDescription, | ||||||
|  |       this.isActiveDoctorProfile, | ||||||
|  |       this.isExecludeDoctor, | ||||||
|  |       this.isInOutPatient, | ||||||
|  |       this.isInOutPatientDescription, | ||||||
|  |       this.isInOutPatientDescriptionN, | ||||||
|  |       this.isLiveCareAppointment, | ||||||
|  |       this.projectName, | ||||||
|  |       this.projectNameN, | ||||||
|  |       this.qR, | ||||||
|  |       this.speciality, | ||||||
|  |       this.strApprovalDate, | ||||||
|  |       this.strExpiryDate, | ||||||
|  |       this.strSubmitDate, | ||||||
|  |       this.totaUnUsedCount, | ||||||
|  |       this.unUsedCount}); | ||||||
|  | 
 | ||||||
|  |   InsuranceApprovalResponseModel.fromJson(Map<String, dynamic> json) { | ||||||
|  |     setupID = json['SetupID']; | ||||||
|  |     projectID = json['ProjectID']; | ||||||
|  |     approvalNo = json['ApprovalNo']; | ||||||
|  |     approvalDate = json['ApprovalDate']; | ||||||
|  |     patientType = json['PatientType']; | ||||||
|  |     patientID = json['PatientID']; | ||||||
|  |     companyID = json['CompanyID']; | ||||||
|  |     subCategoryID = json['SubCategoryID']; | ||||||
|  |     doctorID = json['DoctorID']; | ||||||
|  |     clinicID = json['ClinicID']; | ||||||
|  |     approvalType = json['ApprovalType']; | ||||||
|  |     inpatientApprovalSubType = json['InpatientApprovalSubType']; | ||||||
|  |     validFrom = json['ValidFrom']; | ||||||
|  |     vaildDays = json['VaildDays']; | ||||||
|  |     validTo = json['ValidTo']; | ||||||
|  |     isApprovalOnGross = json['IsApprovalOnGross']; | ||||||
|  |     isPackage = json['IsPackage']; | ||||||
|  |     requestedAmount = json['RequestedAmount']; | ||||||
|  |     actualApprovedAmount = json['ActualApprovedAmount']; | ||||||
|  |     aviliableAmount = json['AviliableAmount']; | ||||||
|  |     companyApprovalNo = json['CompanyApprovalNo']; | ||||||
|  |     progNoteOrderNo = json['ProgNoteOrderNo']; | ||||||
|  |     submitOn = json['SubmitOn']; | ||||||
|  |     receiptOn = json['ReceiptOn']; | ||||||
|  |     remarks1 = json['Remarks1']; | ||||||
|  |     remarks2 = json['Remarks2']; | ||||||
|  |     status = json['Status']; | ||||||
|  |     feedbackStatusBy = json['FeedbackStatusBy']; | ||||||
|  |     feedbackStatus = json['FeedbackStatus']; | ||||||
|  |     feedbackStatusOn = json['FeedbackStatusOn']; | ||||||
|  |     authorizerID = json['AuthorizerID']; | ||||||
|  |     expiryDate = json['ExpiryDate']; | ||||||
|  |     appointmentNo = json['AppointmentNo']; | ||||||
|  |     admissionNo = json['AdmissionNo']; | ||||||
|  |     admissionRequestNo = json['AdmissionRequestNo']; | ||||||
|  |     createdBy = json['CreatedBy']; | ||||||
|  |     createdOn = json['CreatedOn']; | ||||||
|  |     editedBy = json['EditedBy']; | ||||||
|  |     editedOn = json['EditedOn']; | ||||||
|  |     rowVer = json['RowVer']; | ||||||
|  |     isAddlDiscApplied = json['IsAddlDiscApplied']; | ||||||
|  |     inProgressReasonID = json['InProgressReasonID']; | ||||||
|  |     extendedBy = json['ExtendedBy']; | ||||||
|  |     extendedOn = json['ExtendedOn']; | ||||||
|  |     subPolicyNo = json['SubPolicyNo']; | ||||||
|  |     noOrderAuthorizerID = json['NoOrderAuthorizerID']; | ||||||
|  |     isVerbalApproval = json['isVerbalApproval']; | ||||||
|  |     subStatus = json['SubStatus']; | ||||||
|  |     isNotificationSend = json['IsNotificationSend']; | ||||||
|  |     eApprovalStatus = json['EApprovalStatus']; | ||||||
|  |     eApprovalRemarks = json['EApprovalRemarks']; | ||||||
|  |     isEmailSentOnDelayApproval = json['IsEmailSentOnDelayApproval']; | ||||||
|  |     eAuthorizationID = json['EAuthorizationID']; | ||||||
|  |     if (json['ApporvalDetails'] != null && json['ApporvalDetails'].length != 0) { | ||||||
|  |       apporvalDetails = InsuranceApprovalDetails.fromJson(json['ApporvalDetails'][0]); | ||||||
|  |     } | ||||||
|  |     approvalStatusDescption = json['ApprovalStatusDescption']; | ||||||
|  |     clinicName = json['ClinicName']; | ||||||
|  |     clinicNameN = json['ClinicNameN']; | ||||||
|  |     companyName = json['CompanyName']; | ||||||
|  |     doctorImageURL = json['DoctorImageURL']; | ||||||
|  |     doctorName = json['DoctorName']; | ||||||
|  |     doctorNameN = json['DoctorNameN']; | ||||||
|  |     doctorRate = json['DoctorRate']; | ||||||
|  |     doctorTitle = json['DoctorTitle']; | ||||||
|  |     gender = json['Gender']; | ||||||
|  |     genderDescription = json['GenderDescription']; | ||||||
|  |     isActiveDoctorProfile = json['IsActiveDoctorProfile']; | ||||||
|  |     isExecludeDoctor = json['IsExecludeDoctor']; | ||||||
|  |     isInOutPatient = json['IsInOutPatient']; | ||||||
|  |     isInOutPatientDescription = json['IsInOutPatientDescription']; | ||||||
|  |     isInOutPatientDescriptionN = json['IsInOutPatientDescriptionN']; | ||||||
|  |     isLiveCareAppointment = json['IsLiveCareAppointment']; | ||||||
|  |     projectName = json['ProjectName']; | ||||||
|  |     projectNameN = json['ProjectNameN']; | ||||||
|  |     qR = json['QR']; | ||||||
|  |     if (json['Speciality'] != null) speciality = json['Speciality'].cast<String>(); | ||||||
|  |     strApprovalDate = json['StrApprovalDate']; | ||||||
|  |     strExpiryDate = json['StrExpiryDate']; | ||||||
|  |     strSubmitDate = json['StrSubmitDate']; | ||||||
|  |     totaUnUsedCount = json['TotaUnUsedCount']; | ||||||
|  |     unUsedCount = json['UnUsedCount']; | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   Map<String, dynamic> toJson() { | ||||||
|  |     final Map<String, dynamic> data = new Map<String, dynamic>(); | ||||||
|  |     data['SetupID'] = this.setupID; | ||||||
|  |     data['ProjectID'] = this.projectID; | ||||||
|  |     data['ApprovalNo'] = this.approvalNo; | ||||||
|  |     data['ApprovalDate'] = this.approvalDate; | ||||||
|  |     data['PatientType'] = this.patientType; | ||||||
|  |     data['PatientID'] = this.patientID; | ||||||
|  |     data['CompanyID'] = this.companyID; | ||||||
|  |     data['SubCategoryID'] = this.subCategoryID; | ||||||
|  |     data['DoctorID'] = this.doctorID; | ||||||
|  |     data['ClinicID'] = this.clinicID; | ||||||
|  |     data['ApprovalType'] = this.approvalType; | ||||||
|  |     data['InpatientApprovalSubType'] = this.inpatientApprovalSubType; | ||||||
|  |     data['ValidFrom'] = this.validFrom; | ||||||
|  |     data['VaildDays'] = this.vaildDays; | ||||||
|  |     data['ValidTo'] = this.validTo; | ||||||
|  |     data['IsApprovalOnGross'] = this.isApprovalOnGross; | ||||||
|  |     data['IsPackage'] = this.isPackage; | ||||||
|  |     data['RequestedAmount'] = this.requestedAmount; | ||||||
|  |     data['ActualApprovedAmount'] = this.actualApprovedAmount; | ||||||
|  |     data['AviliableAmount'] = this.aviliableAmount; | ||||||
|  |     data['CompanyApprovalNo'] = this.companyApprovalNo; | ||||||
|  |     data['ProgNoteOrderNo'] = this.progNoteOrderNo; | ||||||
|  |     data['SubmitOn'] = this.submitOn; | ||||||
|  |     data['ReceiptOn'] = this.receiptOn; | ||||||
|  |     data['Remarks1'] = this.remarks1; | ||||||
|  |     data['Remarks2'] = this.remarks2; | ||||||
|  |     data['Status'] = this.status; | ||||||
|  |     data['FeedbackStatusBy'] = this.feedbackStatusBy; | ||||||
|  |     data['FeedbackStatus'] = this.feedbackStatus; | ||||||
|  |     data['FeedbackStatusOn'] = this.feedbackStatusOn; | ||||||
|  |     data['AuthorizerID'] = this.authorizerID; | ||||||
|  |     data['ExpiryDate'] = this.expiryDate; | ||||||
|  |     data['AppointmentNo'] = this.appointmentNo; | ||||||
|  |     data['AdmissionNo'] = this.admissionNo; | ||||||
|  |     data['AdmissionRequestNo'] = this.admissionRequestNo; | ||||||
|  |     data['CreatedBy'] = this.createdBy; | ||||||
|  |     data['CreatedOn'] = this.createdOn; | ||||||
|  |     data['EditedBy'] = this.editedBy; | ||||||
|  |     data['EditedOn'] = this.editedOn; | ||||||
|  |     data['RowVer'] = this.rowVer; | ||||||
|  |     data['IsAddlDiscApplied'] = this.isAddlDiscApplied; | ||||||
|  |     data['InProgressReasonID'] = this.inProgressReasonID; | ||||||
|  |     data['ExtendedBy'] = this.extendedBy; | ||||||
|  |     data['ExtendedOn'] = this.extendedOn; | ||||||
|  |     data['SubPolicyNo'] = this.subPolicyNo; | ||||||
|  |     data['NoOrderAuthorizerID'] = this.noOrderAuthorizerID; | ||||||
|  |     data['isVerbalApproval'] = this.isVerbalApproval; | ||||||
|  |     data['SubStatus'] = this.subStatus; | ||||||
|  |     data['IsNotificationSend'] = this.isNotificationSend; | ||||||
|  |     data['EApprovalStatus'] = this.eApprovalStatus; | ||||||
|  |     data['EApprovalRemarks'] = this.eApprovalRemarks; | ||||||
|  |     data['IsEmailSentOnDelayApproval'] = this.isEmailSentOnDelayApproval; | ||||||
|  |     data['EAuthorizationID'] = this.eAuthorizationID; | ||||||
|  |     if (this.apporvalDetails != null) { | ||||||
|  |       data['ApporvalDetails'] = this.apporvalDetails!.toJson; | ||||||
|  |     } | ||||||
|  |     data['ApprovalStatusDescption'] = this.approvalStatusDescption; | ||||||
|  |     data['ClinicName'] = this.clinicName; | ||||||
|  |     data['ClinicNameN'] = this.clinicNameN; | ||||||
|  |     data['CompanyName'] = this.companyName; | ||||||
|  |     data['DoctorImageURL'] = this.doctorImageURL; | ||||||
|  |     data['DoctorName'] = this.doctorName; | ||||||
|  |     data['DoctorNameN'] = this.doctorNameN; | ||||||
|  |     data['DoctorRate'] = this.doctorRate; | ||||||
|  |     data['DoctorTitle'] = this.doctorTitle; | ||||||
|  |     data['Gender'] = this.gender; | ||||||
|  |     data['GenderDescription'] = this.genderDescription; | ||||||
|  |     data['IsActiveDoctorProfile'] = this.isActiveDoctorProfile; | ||||||
|  |     data['IsExecludeDoctor'] = this.isExecludeDoctor; | ||||||
|  |     data['IsInOutPatient'] = this.isInOutPatient; | ||||||
|  |     data['IsInOutPatientDescription'] = this.isInOutPatientDescription; | ||||||
|  |     data['IsInOutPatientDescriptionN'] = this.isInOutPatientDescriptionN; | ||||||
|  |     data['IsLiveCareAppointment'] = this.isLiveCareAppointment; | ||||||
|  |     data['ProjectName'] = this.projectName; | ||||||
|  |     data['ProjectNameN'] = this.projectNameN; | ||||||
|  |     data['QR'] = this.qR; | ||||||
|  |     data['Speciality'] = this.speciality; | ||||||
|  |     data['StrApprovalDate'] = this.strApprovalDate; | ||||||
|  |     data['StrExpiryDate'] = this.strExpiryDate; | ||||||
|  |     data['StrSubmitDate'] = this.strSubmitDate; | ||||||
|  |     data['TotaUnUsedCount'] = this.totaUnUsedCount; | ||||||
|  |     data['UnUsedCount'] = this.unUsedCount; | ||||||
|  |     return data; | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | class InsuranceApprovalDetails { | ||||||
|  |   int? setupID; | ||||||
|  |   int? projectID; | ||||||
|  |   int? approvalNo; | ||||||
|  |   int? lineItemNo; | ||||||
|  |   int? orderType; | ||||||
|  |   int? procedureID; | ||||||
|  |   int? toothNo; | ||||||
|  |   int? price; | ||||||
|  |   int? approvedAmount; | ||||||
|  |   String? unapprovedPatientShare; | ||||||
|  |   int? waivedAmount; | ||||||
|  |   String? discountType; | ||||||
|  |   int? discountValue; | ||||||
|  |   String? shareType; | ||||||
|  |   String? patientShareTypeValue; | ||||||
|  |   String? companyShareTypeValue; | ||||||
|  |   String? patientShare; | ||||||
|  |   String? companyShare; | ||||||
|  |   int? deductableAmount; | ||||||
|  |   String? disapprovedRemarks; | ||||||
|  |   int? progNoteOrderNo; | ||||||
|  |   int? progNoteLineItemNo; | ||||||
|  |   String? invoiceTransactionType; | ||||||
|  |   int? invoiceNo; | ||||||
|  |   String? procedureName; | ||||||
|  |   String? procedureNameN; | ||||||
|  |   String? status; | ||||||
|  |   bool? isInvoiced; | ||||||
|  |   String? isInvoicedDesc; | ||||||
|  | 
 | ||||||
|  |   InsuranceApprovalDetails( | ||||||
|  |       {this.setupID, | ||||||
|  |       this.projectID, | ||||||
|  |       this.approvalNo, | ||||||
|  |       this.lineItemNo, | ||||||
|  |       this.orderType, | ||||||
|  |       this.procedureID, | ||||||
|  |       this.toothNo, | ||||||
|  |       this.price, | ||||||
|  |       this.approvedAmount, | ||||||
|  |       this.unapprovedPatientShare, | ||||||
|  |       this.waivedAmount, | ||||||
|  |       this.discountType, | ||||||
|  |       this.discountValue, | ||||||
|  |       this.shareType, | ||||||
|  |       this.patientShareTypeValue, | ||||||
|  |       this.companyShareTypeValue, | ||||||
|  |       this.patientShare, | ||||||
|  |       this.companyShare, | ||||||
|  |       this.deductableAmount, | ||||||
|  |       this.disapprovedRemarks, | ||||||
|  |       this.progNoteOrderNo, | ||||||
|  |       this.progNoteLineItemNo, | ||||||
|  |       this.invoiceTransactionType, | ||||||
|  |       this.invoiceNo, | ||||||
|  |       this.procedureName, | ||||||
|  |       this.procedureNameN, | ||||||
|  |       this.status, | ||||||
|  |       this.isInvoiced, | ||||||
|  |       this.isInvoicedDesc}); | ||||||
|  | 
 | ||||||
|  |   InsuranceApprovalDetails.fromJson(Map<String, dynamic> json) { | ||||||
|  |     setupID = json['SetupID']; | ||||||
|  |     projectID = json['ProjectID']; | ||||||
|  |     approvalNo = json['ApprovalNo']; | ||||||
|  |     lineItemNo = json['LineItemNo']; | ||||||
|  |     orderType = json['OrderType']; | ||||||
|  |     procedureID = json['ProcedureID']; | ||||||
|  |     toothNo = json['ToothNo']; | ||||||
|  |     price = json['Price']; | ||||||
|  |     approvedAmount = json['ApprovedAmount']; | ||||||
|  |     unapprovedPatientShare = json['UnapprovedPatientShare']; | ||||||
|  |     waivedAmount = json['WaivedAmount']; | ||||||
|  |     discountType = json['DiscountType']; | ||||||
|  |     discountValue = json['DiscountValue']; | ||||||
|  |     shareType = json['ShareType']; | ||||||
|  |     patientShareTypeValue = json['PatientShareTypeValue']; | ||||||
|  |     companyShareTypeValue = json['CompanyShareTypeValue']; | ||||||
|  |     patientShare = json['PatientShare']; | ||||||
|  |     companyShare = json['CompanyShare']; | ||||||
|  |     deductableAmount = json['DeductableAmount']; | ||||||
|  |     disapprovedRemarks = json['DisapprovedRemarks']; | ||||||
|  |     progNoteOrderNo = json['ProgNoteOrderNo']; | ||||||
|  |     progNoteLineItemNo = json['ProgNoteLineItemNo']; | ||||||
|  |     invoiceTransactionType = json['InvoiceTransactionType']; | ||||||
|  |     invoiceNo = json['InvoiceNo']; | ||||||
|  |     procedureName = json['ProcedureName']; | ||||||
|  |     procedureNameN = json['ProcedureNameN']; | ||||||
|  |     status = json['Status']; | ||||||
|  |     isInvoiced = json['IsInvoiced']; | ||||||
|  |     isInvoicedDesc = json['IsInvoicedDesc']; | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   Map<String, dynamic> toJson() { | ||||||
|  |     final Map<String, dynamic> data = new Map<String, dynamic>(); | ||||||
|  |     data['SetupID'] = this.setupID; | ||||||
|  |     data['ProjectID'] = this.projectID; | ||||||
|  |     data['ApprovalNo'] = this.approvalNo; | ||||||
|  |     data['LineItemNo'] = this.lineItemNo; | ||||||
|  |     data['OrderType'] = this.orderType; | ||||||
|  |     data['ProcedureID'] = this.procedureID; | ||||||
|  |     data['ToothNo'] = this.toothNo; | ||||||
|  |     data['Price'] = this.price; | ||||||
|  |     data['ApprovedAmount'] = this.approvedAmount; | ||||||
|  |     data['UnapprovedPatientShare'] = this.unapprovedPatientShare; | ||||||
|  |     data['WaivedAmount'] = this.waivedAmount; | ||||||
|  |     data['DiscountType'] = this.discountType; | ||||||
|  |     data['DiscountValue'] = this.discountValue; | ||||||
|  |     data['ShareType'] = this.shareType; | ||||||
|  |     data['PatientShareTypeValue'] = this.patientShareTypeValue; | ||||||
|  |     data['CompanyShareTypeValue'] = this.companyShareTypeValue; | ||||||
|  |     data['PatientShare'] = this.patientShare; | ||||||
|  |     data['CompanyShare'] = this.companyShare; | ||||||
|  |     data['DeductableAmount'] = this.deductableAmount; | ||||||
|  |     data['DisapprovedRemarks'] = this.disapprovedRemarks; | ||||||
|  |     data['ProgNoteOrderNo'] = this.progNoteOrderNo; | ||||||
|  |     data['ProgNoteLineItemNo'] = this.progNoteLineItemNo; | ||||||
|  |     data['InvoiceTransactionType'] = this.invoiceTransactionType; | ||||||
|  |     data['InvoiceNo'] = this.invoiceNo; | ||||||
|  |     data['ProcedureName'] = this.procedureName; | ||||||
|  |     data['ProcedureNameN'] = this.procedureNameN; | ||||||
|  |     data['Status'] = this.status; | ||||||
|  |     data['IsInvoiced'] = this.isInvoiced; | ||||||
|  |     data['IsInvoicedDesc'] = this.isInvoicedDesc; | ||||||
|  |     return data; | ||||||
|  |   } | ||||||
|  | } | ||||||
| @ -0,0 +1,109 @@ | |||||||
|  | import 'dart:async'; | ||||||
|  | 
 | ||||||
|  | import 'package:easy_localization/easy_localization.dart'; | ||||||
|  | import 'package:flutter/material.dart'; | ||||||
|  | import 'package:flutter_staggered_animations/flutter_staggered_animations.dart'; | ||||||
|  | import 'package:hmg_patient_app_new/core/app_state.dart'; | ||||||
|  | import 'package:hmg_patient_app_new/core/dependencies.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/features/insurance/models/resp_models/patient_insurance_approval_response_model.dart'; | ||||||
|  | import 'package:hmg_patient_app_new/generated/locale_keys.g.dart'; | ||||||
|  | import 'package:hmg_patient_app_new/presentation/insurance/widgets/insurance_approval_card.dart'; | ||||||
|  | import 'package:hmg_patient_app_new/presentation/insurance/widgets/insurance_approval_details_page.dart'; | ||||||
|  | import 'package:hmg_patient_app_new/theme/colors.dart'; | ||||||
|  | import 'package:hmg_patient_app_new/widgets/appbar/collapsing_list_view.dart'; | ||||||
|  | import 'package:hmg_patient_app_new/widgets/routes/custom_page_route.dart'; | ||||||
|  | import 'package:provider/provider.dart'; | ||||||
|  | 
 | ||||||
|  | class InsuranceApprovalsPage extends StatefulWidget { | ||||||
|  |   const InsuranceApprovalsPage({super.key}); | ||||||
|  | 
 | ||||||
|  |   @override | ||||||
|  |   State<InsuranceApprovalsPage> createState() => _InsuranceApprovalsPageState(); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | class _InsuranceApprovalsPageState extends State<InsuranceApprovalsPage> { | ||||||
|  |   late InsuranceViewModel insuranceViewModel; | ||||||
|  |   late AppState appState; | ||||||
|  | 
 | ||||||
|  |   @override | ||||||
|  |   void initState() { | ||||||
|  |     scheduleMicrotask(() { | ||||||
|  |       insuranceViewModel.setIsInsuranceApprovalsLoading(true); | ||||||
|  |       insuranceViewModel.getPatientInsuranceApprovalsList(); | ||||||
|  |     }); | ||||||
|  |     super.initState(); | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   @override | ||||||
|  |   Widget build(BuildContext context) { | ||||||
|  |     appState = getIt.get<AppState>(); | ||||||
|  |     insuranceViewModel = Provider.of<InsuranceViewModel>(context, listen: false); | ||||||
|  |     return CollapsingListView( | ||||||
|  |       title: "${LocaleKeys.insurance.tr(context: context)} ${LocaleKeys.approvals.tr(context: context)}", | ||||||
|  |       child: SingleChildScrollView( | ||||||
|  |         child: Consumer<InsuranceViewModel>(builder: (context, insuranceVM, child) { | ||||||
|  |           return Column( | ||||||
|  |             crossAxisAlignment: CrossAxisAlignment.start, | ||||||
|  |             children: [ | ||||||
|  |               ListView.separated( | ||||||
|  |                 padding: EdgeInsets.only(top: 24.h), | ||||||
|  |                 shrinkWrap: true, | ||||||
|  |                 physics: NeverScrollableScrollPhysics(), | ||||||
|  |                 itemCount: insuranceVM.isInsuranceApprovalsLoading | ||||||
|  |                     ? 5 | ||||||
|  |                     : insuranceVM.patientInsuranceApprovalsList.isNotEmpty | ||||||
|  |                         ? insuranceVM.patientInsuranceApprovalsList.length | ||||||
|  |                         : 1, | ||||||
|  |                 itemBuilder: (context, index) { | ||||||
|  |                   return insuranceVM.isInsuranceApprovalsLoading | ||||||
|  |                       ? Container( | ||||||
|  |                           decoration: RoundedRectangleBorder().toSmoothCornerDecoration(color: AppColors.whiteColor, borderRadius: 24.h, hasShadow: true), | ||||||
|  |                           child: InsuranceApprovalCard( | ||||||
|  |                             insuranceApprovalResponseModel: InsuranceApprovalResponseModel(), | ||||||
|  |                             appState: appState, | ||||||
|  |                             isLoading: true, | ||||||
|  |                           ), | ||||||
|  |                         ).paddingSymmetrical(24.h, 0.h) | ||||||
|  |                       : insuranceVM.patientInsuranceApprovalsList.isNotEmpty | ||||||
|  |                           ? AnimationConfiguration.staggeredList( | ||||||
|  |                               position: index, | ||||||
|  |                               duration: const Duration(milliseconds: 500), | ||||||
|  |                               child: SlideAnimation( | ||||||
|  |                                 verticalOffset: 100.0, | ||||||
|  |                                 child: FadeInAnimation( | ||||||
|  |                                   child: AnimatedContainer( | ||||||
|  |                                     duration: Duration(milliseconds: 300), | ||||||
|  |                                     curve: Curves.easeInOut, | ||||||
|  |                                     decoration: RoundedRectangleBorder().toSmoothCornerDecoration(color: AppColors.whiteColor, borderRadius: 24.h, hasShadow: true), | ||||||
|  |                                     child: InsuranceApprovalCard( | ||||||
|  |                                       insuranceApprovalResponseModel: insuranceVM.patientInsuranceApprovalsList[index], | ||||||
|  |                                       appState: appState, | ||||||
|  |                                       isLoading: false, | ||||||
|  |                                     ).onPress(() { | ||||||
|  |                                       Navigator.of(context).push( | ||||||
|  |                                         CustomPageRoute( | ||||||
|  |                                           page: InsuranceApprovalDetailsPage(insuranceApprovalResponseModel: insuranceVM.patientInsuranceApprovalsList[index]), | ||||||
|  |                                         ), | ||||||
|  |                                       ); | ||||||
|  |                                     }), | ||||||
|  |                                   ).paddingSymmetrical(24.h, 0.h), | ||||||
|  |                                 ), | ||||||
|  |                               ), | ||||||
|  |                             ) | ||||||
|  |                           : Utils.getNoDataWidget(context, noDataText: "You don't have any insurance approvals yet.".needTranslation); | ||||||
|  |                 }, | ||||||
|  |                 separatorBuilder: (BuildContext cxt, int index) => SizedBox(height: 16.h), | ||||||
|  |               ), | ||||||
|  |               SizedBox(height: 24.h), | ||||||
|  |             ], | ||||||
|  |           ); | ||||||
|  |         }), | ||||||
|  |       ), | ||||||
|  |     ); | ||||||
|  |   } | ||||||
|  | } | ||||||
| @ -0,0 +1,129 @@ | |||||||
|  | import 'package:easy_localization/easy_localization.dart'; | ||||||
|  | import 'package:flutter/material.dart'; | ||||||
|  | import 'package:hmg_patient_app_new/core/app_assets.dart'; | ||||||
|  | import 'package:hmg_patient_app_new/core/app_state.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/models/resp_models/patient_insurance_approval_response_model.dart'; | ||||||
|  | import 'package:hmg_patient_app_new/features/my_appointments/models/resp_models/patient_appointment_history_response_model.dart'; | ||||||
|  | import 'package:hmg_patient_app_new/features/my_appointments/utils/appointment_type.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/chip/app_custom_chip_widget.dart'; | ||||||
|  | 
 | ||||||
|  | class InsuranceApprovalCard extends StatelessWidget { | ||||||
|  |   InsuranceApprovalCard({super.key, required this.insuranceApprovalResponseModel, required this.isLoading, required this.appState}); | ||||||
|  | 
 | ||||||
|  |   InsuranceApprovalResponseModel insuranceApprovalResponseModel; | ||||||
|  |   AppState appState; | ||||||
|  |   bool isLoading; | ||||||
|  | 
 | ||||||
|  |   @override | ||||||
|  |   Widget build(BuildContext context) { | ||||||
|  |     return Container( | ||||||
|  |       decoration: RoundedRectangleBorder().toSmoothCornerDecoration( | ||||||
|  |         color: AppColors.whiteColor, | ||||||
|  |         borderRadius: 20.h, | ||||||
|  |         hasShadow: true, | ||||||
|  |       ), | ||||||
|  |       child: Padding( | ||||||
|  |         padding: EdgeInsets.all(14.h), | ||||||
|  |         child: Column( | ||||||
|  |           crossAxisAlignment: CrossAxisAlignment.start, | ||||||
|  |           children: [ | ||||||
|  |             Wrap( | ||||||
|  |               alignment: WrapAlignment.start, | ||||||
|  |               direction: Axis.horizontal, | ||||||
|  |               spacing: 6.h, | ||||||
|  |               runSpacing: 6.h, | ||||||
|  |               children: [ | ||||||
|  |                 AppCustomChipWidget( | ||||||
|  |                   labelText: isLoading ? "Approved" : insuranceApprovalResponseModel.approvalStatusDescption, | ||||||
|  |                   backgroundColor: insuranceApprovalResponseModel.status == 9 ? AppColors.successColor.withOpacity(0.1) : AppColors.primaryRedColor.withOpacity(0.1), | ||||||
|  |                   textColor: insuranceApprovalResponseModel.status == 9 ? AppColors.successColor : AppColors.primaryRedColor, | ||||||
|  |                 ).toShimmer2(isShow: isLoading), | ||||||
|  |                 AppCustomChipWidget( | ||||||
|  |                   icon: isLoading ? AppAssets.walkin_appointment_icon : (!insuranceApprovalResponseModel.isLiveCareAppointment! ? AppAssets.walkin_appointment_icon : AppAssets.small_livecare_icon), | ||||||
|  |                   iconColor: isLoading | ||||||
|  |                       ? AppColors.textColor | ||||||
|  |                       : !insuranceApprovalResponseModel.isLiveCareAppointment! | ||||||
|  |                           ? AppColors.textColor | ||||||
|  |                           : AppColors.whiteColor, | ||||||
|  |                   labelText: isLoading | ||||||
|  |                       ? "Walk In" | ||||||
|  |                       : insuranceApprovalResponseModel.isLiveCareAppointment! | ||||||
|  |                           ? LocaleKeys.livecare.tr(context: context) | ||||||
|  |                           : "Walk In".needTranslation, | ||||||
|  |                   backgroundColor: isLoading ? AppColors.greyColor : (!insuranceApprovalResponseModel.isLiveCareAppointment! ? AppColors.greyColor : AppColors.successColor), | ||||||
|  |                   textColor: isLoading ? AppColors.textColor : (!insuranceApprovalResponseModel.isLiveCareAppointment! ? AppColors.textColor : AppColors.whiteColor), | ||||||
|  |                 ).toShimmer2(isShow: isLoading), | ||||||
|  |                 AppCustomChipWidget( | ||||||
|  |                   labelText: isLoading | ||||||
|  |                       ? "OutPatient" | ||||||
|  |                       : appState.isArabic() | ||||||
|  |                           ? insuranceApprovalResponseModel.isInOutPatientDescriptionN! | ||||||
|  |                           : insuranceApprovalResponseModel.isInOutPatientDescription!, | ||||||
|  |                   backgroundColor: AppColors.primaryRedColor.withOpacity(0.1), | ||||||
|  |                   textColor: AppColors.primaryRedColor, | ||||||
|  |                 ).toShimmer2(isShow: isLoading), | ||||||
|  |               ], | ||||||
|  |             ).toShimmer2(isShow: isLoading), | ||||||
|  |             SizedBox(height: 16.h), | ||||||
|  |             Row( | ||||||
|  |               crossAxisAlignment: CrossAxisAlignment.start, | ||||||
|  |               children: [ | ||||||
|  |                 Image.network( | ||||||
|  |                   isLoading ? "https://hmgwebservices.com/Images/MobileImages/OALAY/1439.png" : insuranceApprovalResponseModel.doctorImageURL!, | ||||||
|  |                   width: 63.h, | ||||||
|  |                   height: 63.h, | ||||||
|  |                   fit: BoxFit.cover, | ||||||
|  |                 ).circle(100).toShimmer2(isShow: isLoading), | ||||||
|  |                 SizedBox(width: 16.h), | ||||||
|  |                 Expanded( | ||||||
|  |                   child: Column( | ||||||
|  |                     crossAxisAlignment: CrossAxisAlignment.start, | ||||||
|  |                     children: [ | ||||||
|  |                       (isLoading ? "John Smith" : insuranceApprovalResponseModel.doctorName!).toText16(isBold: true).toShimmer2(isShow: isLoading), | ||||||
|  |                       Wrap( | ||||||
|  |                         direction: Axis.horizontal, | ||||||
|  |                         spacing: 3.h, | ||||||
|  |                         runSpacing: 4.h, | ||||||
|  |                         children: [ | ||||||
|  |                           // AppCustomChipWidget(labelText: isLoading ? "Approved" : insuranceApprovalResponseModel.approvalStatusDescption!, | ||||||
|  |                           //   backgroundColor: insuranceApprovalResponseModel.status == 9 ? AppColors.successColor.withValues(alpha: 0.1) : AppColors.primaryRedColor.withValues(alpha: 0.1), | ||||||
|  |                           //   textColor: insuranceApprovalResponseModel.status == 9 ? AppColors.successColor : AppColors.primaryRedColor, | ||||||
|  |                           // ).toShimmer2(isShow: isLoading), | ||||||
|  |                           AppCustomChipWidget(labelText: isLoading ? "Cardiology" : insuranceApprovalResponseModel.clinicName!).toShimmer2(isShow: isLoading), | ||||||
|  |                           AppCustomChipWidget( | ||||||
|  |                                   icon: AppAssets.doctor_calendar_icon, | ||||||
|  |                                   labelText: isLoading ? "Cardiology" : DateUtil.formatDateToDate(DateUtil.convertStringToDate(insuranceApprovalResponseModel.submitOn), false)) | ||||||
|  |                               .toShimmer2(isShow: isLoading), | ||||||
|  |                           isLoading | ||||||
|  |                               ? SizedBox.shrink() | ||||||
|  |                               : AppCustomChipWidget( | ||||||
|  |                                       labelText: isLoading ? LocaleKeys.approvalNo.tr(context: context) : "${LocaleKeys.approvalNo.tr(context: context)} ${insuranceApprovalResponseModel.approvalNo}") | ||||||
|  |                                   .toShimmer2(isShow: isLoading), | ||||||
|  |                         ], | ||||||
|  |                       ), | ||||||
|  |                     ], | ||||||
|  |                   ), | ||||||
|  |                 ), | ||||||
|  |               ], | ||||||
|  |             ), | ||||||
|  |             Row( | ||||||
|  |               mainAxisAlignment: MainAxisAlignment.end, | ||||||
|  |               children: [ | ||||||
|  |                 Transform.flip( | ||||||
|  |                     flipX: appState.isArabic(), child: Utils.buildSvgWithAssets(icon: AppAssets.forward_arrow_icon_small, width: 15.h, height: 15.h, fit: BoxFit.contain, iconColor: AppColors.textColor)), | ||||||
|  |               ], | ||||||
|  |             ), | ||||||
|  |           ], | ||||||
|  |         ), | ||||||
|  |       ), | ||||||
|  |     ); | ||||||
|  |   } | ||||||
|  | } | ||||||
| @ -0,0 +1,135 @@ | |||||||
|  | import 'package:easy_localization/easy_localization.dart'; | ||||||
|  | import 'package:flutter/material.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_state.dart'; | ||||||
|  | import 'package:hmg_patient_app_new/core/dependencies.dart'; | ||||||
|  | import 'package:hmg_patient_app_new/core/utils/date_util.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/features/insurance/models/resp_models/patient_insurance_approval_response_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/appbar/collapsing_list_view.dart'; | ||||||
|  | import 'package:hmg_patient_app_new/widgets/chip/app_custom_chip_widget.dart'; | ||||||
|  | import 'package:provider/provider.dart'; | ||||||
|  | 
 | ||||||
|  | class InsuranceApprovalDetailsPage extends StatelessWidget { | ||||||
|  |   InsuranceApprovalDetailsPage({super.key, required this.insuranceApprovalResponseModel}); | ||||||
|  | 
 | ||||||
|  |   InsuranceApprovalResponseModel insuranceApprovalResponseModel; | ||||||
|  |   late InsuranceViewModel insuranceViewModel; | ||||||
|  |   late AppState appState; | ||||||
|  | 
 | ||||||
|  |   @override | ||||||
|  |   Widget build(BuildContext context) { | ||||||
|  |     appState = getIt.get<AppState>(); | ||||||
|  |     insuranceViewModel = Provider.of<InsuranceViewModel>(context, listen: false); | ||||||
|  |     return CollapsingListView( | ||||||
|  |       title: "${LocaleKeys.insurance.tr(context: context)} ${LocaleKeys.approvals.tr(context: context)}", | ||||||
|  |       child: Column( | ||||||
|  |         crossAxisAlignment: CrossAxisAlignment.start, | ||||||
|  |         children: [ | ||||||
|  |           Container( | ||||||
|  |             decoration: RoundedRectangleBorder().toSmoothCornerDecoration( | ||||||
|  |               color: AppColors.whiteColor, | ||||||
|  |               borderRadius: 24.h, | ||||||
|  |               hasShadow: true, | ||||||
|  |             ), | ||||||
|  |             child: Padding( | ||||||
|  |               padding: EdgeInsets.all(14.h), | ||||||
|  |               child: Column( | ||||||
|  |                 crossAxisAlignment: CrossAxisAlignment.start, | ||||||
|  |                 children: [ | ||||||
|  |                   Wrap( | ||||||
|  |                     alignment: WrapAlignment.start, | ||||||
|  |                     direction: Axis.horizontal, | ||||||
|  |                     spacing: 6.h, | ||||||
|  |                     runSpacing: 6.h, | ||||||
|  |                     children: [ | ||||||
|  |                       AppCustomChipWidget( | ||||||
|  |                         labelText: insuranceApprovalResponseModel.approvalStatusDescption, | ||||||
|  |                         backgroundColor: insuranceApprovalResponseModel.status == 9 ? AppColors.successColor.withOpacity(0.1) : AppColors.primaryRedColor.withOpacity(0.1), | ||||||
|  |                         textColor: insuranceApprovalResponseModel.status == 9 ? AppColors.successColor : AppColors.primaryRedColor, | ||||||
|  |                       ), | ||||||
|  |                       AppCustomChipWidget( | ||||||
|  |                         icon: (!insuranceApprovalResponseModel.isLiveCareAppointment! ? AppAssets.walkin_appointment_icon : AppAssets.small_livecare_icon), | ||||||
|  |                         iconColor: !insuranceApprovalResponseModel.isLiveCareAppointment! ? AppColors.textColor : AppColors.whiteColor, | ||||||
|  |                         labelText: insuranceApprovalResponseModel.isLiveCareAppointment! ? LocaleKeys.livecare.tr(context: context) : "Walk In".needTranslation, | ||||||
|  |                         backgroundColor: (!insuranceApprovalResponseModel.isLiveCareAppointment! ? AppColors.greyColor : AppColors.successColor), | ||||||
|  |                         textColor: (!insuranceApprovalResponseModel.isLiveCareAppointment! ? AppColors.textColor : AppColors.whiteColor), | ||||||
|  |                       ), | ||||||
|  |                       AppCustomChipWidget( | ||||||
|  |                         labelText: appState.isArabic() ? insuranceApprovalResponseModel.isInOutPatientDescriptionN! : insuranceApprovalResponseModel.isInOutPatientDescription!, | ||||||
|  |                         backgroundColor: AppColors.primaryRedColor.withOpacity(0.1), | ||||||
|  |                         textColor: AppColors.primaryRedColor, | ||||||
|  |                       ), | ||||||
|  |                     ], | ||||||
|  |                   ), | ||||||
|  |                   SizedBox(height: 16.h), | ||||||
|  |                   Row( | ||||||
|  |                     crossAxisAlignment: CrossAxisAlignment.start, | ||||||
|  |                     children: [ | ||||||
|  |                       Image.network( | ||||||
|  |                         insuranceApprovalResponseModel.doctorImageURL!, | ||||||
|  |                         width: 63.h, | ||||||
|  |                         height: 63.h, | ||||||
|  |                         fit: BoxFit.cover, | ||||||
|  |                       ).circle(100), | ||||||
|  |                       SizedBox(width: 16.h), | ||||||
|  |                       Expanded( | ||||||
|  |                         child: Column( | ||||||
|  |                           crossAxisAlignment: CrossAxisAlignment.start, | ||||||
|  |                           children: [ | ||||||
|  |                             (insuranceApprovalResponseModel.doctorName!).toText16(isBold: true), | ||||||
|  |                             Wrap( | ||||||
|  |                               direction: Axis.horizontal, | ||||||
|  |                               spacing: 3.h, | ||||||
|  |                               runSpacing: 4.h, | ||||||
|  |                               children: [ | ||||||
|  |                                 AppCustomChipWidget(labelText: insuranceApprovalResponseModel.clinicName!), | ||||||
|  |                                 AppCustomChipWidget(labelText: "${LocaleKeys.approvalNo.tr(context: context)} ${insuranceApprovalResponseModel.approvalNo}"), | ||||||
|  |                                 AppCustomChipWidget(labelText: "${LocaleKeys.unusedCount.tr(context: context)} ${insuranceApprovalResponseModel.unUsedCount}"), | ||||||
|  |                                 AppCustomChipWidget(labelText: "${LocaleKeys.companyName.tr(context: context)} ${insuranceApprovalResponseModel.companyName}"), | ||||||
|  |                                 AppCustomChipWidget( | ||||||
|  |                                     labelText: | ||||||
|  |                                         "${LocaleKeys.receiptOn.tr(context: context)} ${DateUtil.formatDateToDate(DateUtil.convertStringToDate(insuranceApprovalResponseModel.receiptOn), false)}"), | ||||||
|  |                                 AppCustomChipWidget( | ||||||
|  |                                     labelText: | ||||||
|  |                                         "${LocaleKeys.expiryOn.tr(context: context)} ${DateUtil.formatDateToDate(DateUtil.convertStringToDate(insuranceApprovalResponseModel.expiryDate), false)}"), | ||||||
|  |                               ], | ||||||
|  |                             ), | ||||||
|  |                           ], | ||||||
|  |                         ), | ||||||
|  |                       ), | ||||||
|  |                     ], | ||||||
|  |                   ), | ||||||
|  |                 ], | ||||||
|  |               ), | ||||||
|  |             ), | ||||||
|  |           ), | ||||||
|  |           SizedBox(height: 16.h), | ||||||
|  |           Container( | ||||||
|  |             width: double.infinity, | ||||||
|  |             height: 200.h, | ||||||
|  |             decoration: RoundedRectangleBorder().toSmoothCornerDecoration( | ||||||
|  |               color: AppColors.whiteColor, | ||||||
|  |               borderRadius: 24.h, | ||||||
|  |               hasShadow: true, | ||||||
|  |             ), | ||||||
|  |             child: Padding( | ||||||
|  |               padding: EdgeInsets.all(16.h), | ||||||
|  |               child: Column( | ||||||
|  |                 crossAxisAlignment: CrossAxisAlignment.start, | ||||||
|  |                 children: [ | ||||||
|  |                   "Approval Details".toText16(isBold: true), | ||||||
|  |                 ], | ||||||
|  |               ), | ||||||
|  |             ), | ||||||
|  |           ) | ||||||
|  |         ], | ||||||
|  |       ).paddingSymmetrical(24.h, 24.h), | ||||||
|  |     ); | ||||||
|  |   } | ||||||
|  | } | ||||||
					Loading…
					
					
				
		Reference in New Issue