{"version":3,"sources":["./src/app/Components/administators/claim-capture-main/claim-capture-main.component.html","./src/app/Components/administators/claim-capture-main/claim-capture-new/claim-capture-new.component.html","./src/app/Components/administators/claim-capture-main/view-captured-claims/view-captured-claims.component.html","./src/app/Components/chronic-cond/chronic-cond-app/chronic-cond-app.component.html","./src/app/Components/chronic-cond/chronic-cond-detail-view/chronic-cond-detail-view.component.html","./src/app/Components/chronic-cond/chronic-cond-form-components/asthma-form/asthma-form.component.html","./src/app/Components/chronic-cond/chronic-cond-form-components/biometric-form/biometric-form.component.html","./src/app/Components/chronic-cond/chronic-cond-form-components/comorbid-form/comorbid-form.component.html","./src/app/Components/chronic-cond/chronic-cond-form-components/condition-form/condition-form.component.html","./src/app/Components/chronic-cond/chronic-cond-form-components/declaration-form/declaration-form.component.html","./src/app/Components/chronic-cond/chronic-cond-form-components/diabetes-form/diabetes-form.component.html","./src/app/Components/chronic-cond/chronic-cond-form-components/documents-form/documents-form.component.html","./src/app/Components/chronic-cond/chronic-cond-form-components/hyperlipidaemia-form/hyperlipidaemia-form.component.html","./src/app/Components/chronic-cond/chronic-cond-form-components/hypertension-form/hypertension-form.component.html","./src/app/Components/chronic-cond/chronic-cond-form-components/medication-form/medication-form.component.html","./src/app/Components/chronic-cond/chronic-cond-form-components/member-form/member-form.component.html","./src/app/Components/chronic-cond/chronic-cond-form-components/provider-form/provider-form.component.html","./src/app/Components/chronic-cond/chronic-cond-form-components/requested-medication-form/requested-medication-form.component.html","./src/app/Components/chronic-cond/chronic-cond-form-components/risk-factors-form/risk-factors-form.component.html","./src/app/Components/chronic-cond/chronic-cond-submitted-list/chronic-cond-submitted-list.component.html","./src/app/Components/chronic-cond/chronic-cond-update/chronic-cond-update.component.html","./src/app/Components/shared/auths/auths.component.html","./src/app/Components/shared/claim-history/claim-history.component.html","./src/app/Components/shared/claim-info/claim-info.component.html","./src/app/Components/shared/downloads/downloads.component.html","./src/app/Components/shared/info-detail-lines/info-detail-lines.component.html","./src/app/Components/shared/login/login.component.html","./src/app/Components/shared/member-claim-info/member-claim-info.component.html","./src/app/Components/shared/member-claims/member-claims.component.html","./src/app/Components/shared/membership/membership.component.html","./src/app/Components/shared/provclaims/provclaims.component.html","./src/app/Components/shared/reject-claim/reject-claim.component.html","./src/app/app.component.html","./src/$_lazy_route_resource lazy namespace object","./src/app/Components/administators/claim-capture-main/claim-capture-main.component.css","./src/app/Components/administators/claim-capture-main/claim-capture-main.component.ts","./src/app/Components/administators/claim-capture-main/claim-capture-new/claim-capture-new.component.css","./src/app/Components/administators/claim-capture-main/claim-capture-new/claim-capture-new.component.ts","./src/app/Components/administators/claim-capture-main/view-captured-claims/view-captured-claims.component.css","./src/app/Components/administators/claim-capture-main/view-captured-claims/view-captured-claims.component.ts","./src/app/Components/chronic-cond/chronic-cond-app/chronic-cond-app.component.css","./src/app/Components/chronic-cond/chronic-cond-app/chronic-cond-app.component.ts","./src/app/Components/chronic-cond/chronic-cond-detail-view/chronic-cond-detail-view.component.css","./src/app/Components/chronic-cond/chronic-cond-detail-view/chronic-cond-detail-view.component.ts","./src/app/Components/chronic-cond/chronic-cond-form-components/asthma-form/asthma-form.component.css","./src/app/Components/chronic-cond/chronic-cond-form-components/asthma-form/asthma-form.component.ts","./src/app/Components/chronic-cond/chronic-cond-form-components/biometric-form/biometric-form.component.css","./src/app/Components/chronic-cond/chronic-cond-form-components/biometric-form/biometric-form.component.ts","./src/app/Components/chronic-cond/chronic-cond-form-components/comorbid-form/comorbid-form.component.css","./src/app/Components/chronic-cond/chronic-cond-form-components/comorbid-form/comorbid-form.component.ts","./src/app/Components/chronic-cond/chronic-cond-form-components/condition-form/condition-form.component.css","./src/app/Components/chronic-cond/chronic-cond-form-components/condition-form/condition-form.component.ts","./src/app/Components/chronic-cond/chronic-cond-form-components/declaration-form/declaration-form.component.css","./src/app/Components/chronic-cond/chronic-cond-form-components/declaration-form/declaration-form.component.ts","./src/app/Components/chronic-cond/chronic-cond-form-components/diabetes-form/diabetes-form.component.css","./src/app/Components/chronic-cond/chronic-cond-form-components/diabetes-form/diabetes-form.component.ts","./src/app/Components/chronic-cond/chronic-cond-form-components/documents-form/documents-form.component.css","./src/app/Components/chronic-cond/chronic-cond-form-components/documents-form/documents-form.component.ts","./src/app/Components/chronic-cond/chronic-cond-form-components/hyperlipidaemia-form/hyperlipidaemia-form.component.css","./src/app/Components/chronic-cond/chronic-cond-form-components/hyperlipidaemia-form/hyperlipidaemia-form.component.ts","./src/app/Components/chronic-cond/chronic-cond-form-components/hypertension-form/hypertension-form.component.css","./src/app/Components/chronic-cond/chronic-cond-form-components/hypertension-form/hypertension-form.component.ts","./src/app/Components/chronic-cond/chronic-cond-form-components/medication-form/medication-form.component.css","./src/app/Components/chronic-cond/chronic-cond-form-components/medication-form/medication-form.component.ts","./src/app/Components/chronic-cond/chronic-cond-form-components/member-form/member-form.component.css","./src/app/Components/chronic-cond/chronic-cond-form-components/member-form/member-form.component.ts","./src/app/Components/chronic-cond/chronic-cond-form-components/provider-form/provider-form.component.css","./src/app/Components/chronic-cond/chronic-cond-form-components/provider-form/provider-form.component.ts","./src/app/Components/chronic-cond/chronic-cond-form-components/requested-medication-form/requested-medication-form.component.css","./src/app/Components/chronic-cond/chronic-cond-form-components/requested-medication-form/requested-medication-form.component.ts","./src/app/Components/chronic-cond/chronic-cond-form-components/risk-factors-form/risk-factors-form.component.css","./src/app/Components/chronic-cond/chronic-cond-form-components/risk-factors-form/risk-factors-form.component.ts","./src/app/Components/chronic-cond/chronic-cond-submitted-list/chronic-cond-submitted-list.component.css","./src/app/Components/chronic-cond/chronic-cond-submitted-list/chronic-cond-submitted-list.component.ts","./src/app/Components/chronic-cond/chronic-cond-update/chronic-cond-update.component.css","./src/app/Components/chronic-cond/chronic-cond-update/chronic-cond-update.component.ts","./src/app/Components/shared/auths/auths.component.css","./src/app/Components/shared/auths/auths.component.ts","./src/app/Components/shared/claim-history/claim-history.component.css","./src/app/Components/shared/claim-history/claim-history.component.ts","./src/app/Components/shared/claim-info/claim-info.component.css","./src/app/Components/shared/claim-info/claim-info.component.ts","./src/app/Components/shared/downloads/downloads.component.css","./src/app/Components/shared/downloads/downloads.component.ts","./src/app/Components/shared/info-detail-lines/info-detail-lines.component.css","./src/app/Components/shared/info-detail-lines/info-detail-lines.component.ts","./src/app/Components/shared/login/login.component.css","./src/app/Components/shared/login/login.component.ts","./src/app/Components/shared/member-claim-info/member-claim-info.component.css","./src/app/Components/shared/member-claim-info/member-claim-info.component.ts","./src/app/Components/shared/member-claims/member-claims.component.css","./src/app/Components/shared/member-claims/member-claims.component.ts","./src/app/Components/shared/membership/membership.component.css","./src/app/Components/shared/membership/membership.component.ts","./src/app/Components/shared/provclaims/provclaims.component.css","./src/app/Components/shared/provclaims/provclaims.component.ts","./src/app/Components/shared/reject-claim/reject-claim.component.css","./src/app/Components/shared/reject-claim/reject-claim.component.ts","./src/app/app.component.css","./src/app/app.component.ts","./src/app/app.module.ts","./src/app/models/AccountingBureauRemittancesModel.ts","./src/app/models/AdjustcodesModel.ts","./src/app/models/AllocationListModel.ts","./src/app/models/AuthHeadersModel.ts","./src/app/models/AuthModel.ts","./src/app/models/BankingDetailModel.ts","./src/app/models/BatchDetailsModel.ts","./src/app/models/CheckRunDetailsModel.ts","./src/app/models/ChronicConditionApplicationModel.ts","./src/app/models/ChronicConditionDiagsModel.ts","./src/app/models/ClaimCodesModel.ts","./src/app/models/ClaimDetailModel.ts","./src/app/models/ClaimHeadersModel.ts","./src/app/models/ClaimMasterModel.ts","./src/app/models/ClaimReport.ts","./src/app/models/ClaimReversalModel.ts","./src/app/models/ClaimsModel.ts","./src/app/models/DefaultCodesModel.ts","./src/app/models/DetailLinesModel.ts","./src/app/models/EmailsModel.ts","./src/app/models/FileItemModel.ts","./src/app/models/HP_ContractsModel.ts","./src/app/models/HeadersModel.ts","./src/app/models/HealthPlanSetupModel.ts","./src/app/models/ImagespecModel.ts","./src/app/models/LOBcodesModel.ts","./src/app/models/LoginDetailsModel.ts","./src/app/models/MedicationModel.ts","./src/app/models/MedicineCodesModel.ts","./src/app/models/MemberEligibilityModel.ts","./src/app/models/MemberNoModel.ts","./src/app/models/ModifiedClaimsArrayModel.ts","./src/app/models/ModifierModel.ts","./src/app/models/PasswordChangeModel.ts","./src/app/models/ProviderRemittancesModel.ts","./src/app/models/Recordtype1Model.ts","./src/app/models/Recordtype2Model.ts","./src/app/models/Recordtype4Model.ts","./src/app/models/Recordtype5Model.ts","./src/app/models/Recordtype8Model.ts","./src/app/models/RejectClaimDetaiModel.ts","./src/app/models/RejectionCodesModel.ts","./src/app/models/SettingsModel.ts","./src/app/models/SpecCodes.ts","./src/app/models/ToothNumbersModel.ts","./src/app/models/UserRightsModel.ts","./src/app/models/UsertypeModel.ts","./src/app/models/ValidationResultsModel.ts","./src/app/models/VendorInfoModel.ts","./src/app/models/VendoridsModel.ts","./src/app/models/VoucherClientModel.ts","./src/app/models/VoucherTransactionModel.ts","./src/app/models/benifit-results.ts","./src/app/models/benifit-rights.ts","./src/app/models/diagcodes.ts","./src/app/models/faq.ts","./src/app/models/history.ts","./src/app/models/objectlog.ts","./src/app/services/app.service.ts","./src/app/services/authorization.service.ts","./src/app/services/checkrun.service.ts","./src/app/services/chronic-condition.service.ts","./src/app/services/claim-capture.service.ts","./src/app/services/graphs.service.ts","./src/app/services/login.service.ts","./src/app/services/medivouch.service.ts","./src/app/services/member-claim.service.ts","./src/app/services/membership.service.ts","./src/app/services/patient-wellness.service.ts","./src/app/services/security.service.ts","./src/app/services/settings.service.ts","./src/app/services/upload-file.service.ts","./src/app/services/validation.service.ts","./src/app/services/voucher-admin.service.ts","./src/environments/environment.ts","./src/main.ts"],"names":[],"mappings":"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CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAAE,OAAO,KAAK,CAAC;QAC/G,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAAE,OAAO,KAAK,CAAC;QAC/G,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAAE,OAAO,KAAK,CAAC;QAC/G,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAAE,OAAO,KAAK,CAAC;QAC/G,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAAE,OAAO,KAAK,CAAC;QAC/G,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAAE,OAAO,KAAK,CAAC;QAC/G,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC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","file":"main-es2015.js","sourcesContent":["export default \"
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n\"","export default \"
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n Claim Capture\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n

Claim Header

\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
0\\\">\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n Please select a fund\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
0\\\">\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n Please select a type\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n Requires a valid 7 digit practice number\\r\\n \\r\\n \\r\\n {{this._appService.ClaimCaptureService.CurrentClaim.provName}}\\r\\n \\r\\n \\r\\n SPECIALITY: {{this._appService.ClaimCaptureService.CurrentClaim.provSpec}} - {{this._appService.ClaimCaptureService.CurrentClaim.provSpecDescr}}\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n Please select a group/payment practice\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n *This field is optional\\r\\n \\r\\n \\r\\n Requires a valid 7 digit practice number or leave blank if not applicable\\r\\n \\r\\n \\r\\n {{this._appService.ClaimCaptureService.CurrentClaim.refProvName}}\\r\\n \\r\\n \\r\\n SPECIALITY: {{this._appService.ClaimCaptureService.CurrentClaim.refProvSpec}} - {{this._appService.ClaimCaptureService.CurrentClaim.refProvSpecDescr}}\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n This field is required (max length: 20)\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n This field is required\\r\\n \\r\\n \\r\\n Policy Number incorrect/not found\\r\\n \\r\\n \\r\\n OPTION: {{this._appService.ClaimCaptureService.CurrentClaim.familyOpt}}\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n Please select a dependant\\r\\n \\r\\n \\r\\n {{this._appService.ClaimCaptureService.DepOpthruDt}}\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n Valid date required (between {{this._appService.ClaimCaptureService.GetMinDateStr()}} and {{this._appService.ClaimCaptureService.GetTodayStr()}})\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n Please select an option\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n *This field is optional\\r\\n \\r\\n \\r\\n max length: 16\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n Valid ICD10 code required\\r\\n \\r\\n \\r\\n {{this._appService.ClaimCaptureService.CurrentClaim.diag1desc}}\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n *This field is optional\\r\\n \\r\\n \\r\\n Valid ICD10 code required, or leave blank if not applicable\\r\\n \\r\\n \\r\\n {{this._appService.ClaimCaptureService.CurrentClaim.diag2desc}}\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n *This field is optional\\r\\n \\r\\n \\r\\n Valid ICD10 code required, or leave blank if not applicable\\r\\n \\r\\n \\r\\n {{this._appService.ClaimCaptureService.CurrentClaim.diag3desc}}\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n *This field is optional\\r\\n \\r\\n \\r\\n Valid ICD10 code required, or leave blank if not applicable\\r\\n \\r\\n \\r\\n {{this._appService.ClaimCaptureService.CurrentClaim.diag4desc}}\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n

Claim Detail Lines

\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n Action\\r\\n Line\\r\\n Service Type\\r\\n From Date\\r\\n To Date\\r\\n Service Code\\r\\n Charged\\r\\n Qty\\r\\n Tooth Numbers\\r\\n Modifiers\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{item.lineNo}}\\r\\n {{item.phCodeDesc}}\\r\\n {{item.svcDateFrom}}\\r\\n {{item.svcDateTo}}\\r\\n {{item.procCode}}\\r\\n {{item.billed}}\\r\\n {{item.qty}}\\r\\n {{item.toothNumString}}\\r\\n {{item.modCodesString}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
Detail Lines Added: {{this._appService.ClaimCaptureService.CurrentClaim.claimDetails.length}}
\\r\\n
\\r\\n
\\r\\n
Total Amount Charged: {{this._appService.ClaimCaptureService.CurrentClaim.detailLinesBilledTotal | number: '1.2-2' : 'en-US'}}
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n

Claim Detail Line

\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n Service code or medicine code required (max length: 20)\\r\\n \\r\\n \\r\\n {{this._appService.ClaimCaptureService.CurrentClaimDetail.procCodeDesc}}\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n Please select a Service Type\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n Valid date required (between {{this._appService.ClaimCaptureService.GetMinDateStr()}} and {{this._appService.ClaimCaptureService.GetTodayStr()}})\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n Valid date required (between {{this._appService.ClaimCaptureService.GetMinDateStr()}} and {{this._appService.ClaimCaptureService.GetTodayStr()}})\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n Valid billed amount required. (format 99999.99)\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n Valid quantity required. (format 9999.99)\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n Please select an ICD10 code\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n Reject Claim\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n *This field is optional\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n Tooth Numbers\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n *This field is optional\\r\\n \\r\\n \\r\\n Valid tooth no required, or leave blank if not applicable\\r\\n \\r\\n \\r\\n {{this._appService.ClaimCaptureService.CurrentClaimDetail.tooth1Desc}}\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n *This field is optional\\r\\n \\r\\n \\r\\n Valid tooth no required, or leave blank if not applicable\\r\\n \\r\\n \\r\\n {{this._appService.ClaimCaptureService.CurrentClaimDetail.tooth2Desc}}\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n *This field is optional\\r\\n \\r\\n \\r\\n Valid tooth no required, or leave blank if not applicable\\r\\n \\r\\n \\r\\n {{this._appService.ClaimCaptureService.CurrentClaimDetail.tooth3Desc}}\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n *This field is optional\\r\\n \\r\\n \\r\\n Valid tooth no required, or leave blank if not applicable\\r\\n \\r\\n \\r\\n {{this._appService.ClaimCaptureService.CurrentClaimDetail.tooth4Desc}}\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n *This field is optional\\r\\n \\r\\n \\r\\n Valid tooth no required, or leave blank if not applicable\\r\\n \\r\\n \\r\\n {{this._appService.ClaimCaptureService.CurrentClaimDetail.tooth5Desc}}\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n *This field is optional\\r\\n \\r\\n \\r\\n Valid tooth no required, or leave blank if not applicable\\r\\n \\r\\n \\r\\n {{this._appService.ClaimCaptureService.CurrentClaimDetail.tooth6Desc}}\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n *This field is optional\\r\\n \\r\\n \\r\\n Valid tooth no required, or leave blank if not applicable\\r\\n \\r\\n \\r\\n {{this._appService.ClaimCaptureService.CurrentClaimDetail.tooth7Desc}}\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n *This field is optional\\r\\n \\r\\n \\r\\n Valid tooth no required, or leave blank if not applicable\\r\\n \\r\\n \\r\\n {{this._appService.ClaimCaptureService.CurrentClaimDetail.tooth8Desc}}\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n Modifiers\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n *This field is optional\\r\\n \\r\\n \\r\\n Max length 7, or leave blank if not applicable\\r\\n \\r\\n \\r\\n {{this._appService.ClaimCaptureService.CurrentClaimDetail.modifier1Desc}}\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n *This field is optional\\r\\n \\r\\n \\r\\n Max length 7, or leave blank if not applicable\\r\\n \\r\\n \\r\\n {{this._appService.ClaimCaptureService.CurrentClaimDetail.modifier2Desc}}\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n *This field is optional\\r\\n \\r\\n \\r\\n Max length 7, or leave blank if not applicable\\r\\n \\r\\n \\r\\n {{this._appService.ClaimCaptureService.CurrentClaimDetail.modifier3Desc}}\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n *This field is optional\\r\\n \\r\\n \\r\\n Max length 7, or leave blank if not applicable\\r\\n \\r\\n \\r\\n {{this._appService.ClaimCaptureService.CurrentClaimDetail.modifier4Desc}}\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n Notes\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n *This field is optional\\r\\n \\r\\n \\r\\n Max length: 40\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Submission Confirmation

\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Please confirm that the claim information is correct.\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n Fund: {{this._appService.ClaimCaptureService.CurrentClaim.hpCodeDesc}}
\\r\\n Type: {{this._appService.ClaimCaptureService.CurrentClaim.provHospDesc}}
\\r\\n Treating Practice: {{this._appService.ClaimCaptureService.CurrentClaim.provId}} {{this._appService.ClaimCaptureService.CurrentClaim.provName}} Speciality: {{this._appService.ClaimCaptureService.CurrentClaim.provSpec}}-{{this._appService.ClaimCaptureService.CurrentClaim.provSpecDescr}}
\\r\\n Group/Payment Practice: {{this._appService.ClaimCaptureService.CurrentClaim.vendorName}}
\\r\\n Referring Practice: {{this._appService.ClaimCaptureService.CurrentClaim.refProvId}} {{this._appService.ClaimCaptureService.CurrentClaim.refProvName}} Speciality: {{this._appService.ClaimCaptureService.CurrentClaim.refProvSpec}}-{{this._appService.ClaimCaptureService.CurrentClaim.refProvSpecDescr}}
\\r\\n Policy No: {{this._appService.ClaimCaptureService.CurrentClaim.policyNo}} - {{this._appService.ClaimCaptureService.CurrentClaim.familyOpt}}
\\r\\n Dependant: {{this._appService.ClaimCaptureService.CurrentClaim.dependant}} - {{this._appService.ClaimCaptureService.CurrentClaim.dependantFirstnm}} {{this._appService.ClaimCaptureService.CurrentClaim.dependantLastnm}}
\\r\\n Date Received: {{this._appService.ClaimCaptureService.CurrentClaim.dateReceived}}
\\r\\n Payment To: {{this._appService.ClaimCaptureService.CurrentClaim.claimTypeDesc}}
\\r\\n Auth No: {{this._appService.ClaimCaptureService.CurrentClaim.authNo}}
\\r\\n ICD10: {{this._appService.ClaimCaptureService.CurrentClaim.diag1}} {{this._appService.ClaimCaptureService.CurrentClaim.diag1desc}}
\\r\\n ICD10: {{this._appService.ClaimCaptureService.CurrentClaim.diag2}} {{this._appService.ClaimCaptureService.CurrentClaim.diag2desc}}
\\r\\n ICD10: {{this._appService.ClaimCaptureService.CurrentClaim.diag3}} {{this._appService.ClaimCaptureService.CurrentClaim.diag3desc}}
\\r\\n ICD10: {{this._appService.ClaimCaptureService.CurrentClaim.diag4}} {{this._appService.ClaimCaptureService.CurrentClaim.diag4desc}}
\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n Line No: {{line.lineNo}}
\\r\\n Tarrif Code: {{line.procCode}} - {{line.procCodeDesc}}
\\r\\n Service Type: {{line.phCodeDesc}}
\\r\\n Service From Date: {{line.svcDateFrom}}
\\r\\n Service To Date: {{line.svcDateTo}}
\\r\\n Charge Amount: {{line.billed}}
\\r\\n Quantity: {{line.qty}}
\\r\\n ICD10: {{line.diag}} {{line.diagDesc}}
\\r\\n Rejection Reason: {{line.rejCodeDesc}}
\\r\\n Tooth Numbers: {{line.toothNumString}}
\\r\\n Modifiers: {{line.modCodesString}}
\\r\\n Note: {{line.note}}
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n

Would you like to add banking details for this member?

\\r\\n

Would you like to add banking details for this provider?

\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Edit Banking Details

\\r\\n
\\r\\n
\\r\\n Edit banking details for Member: {{this._appService.ClaimCaptureService.ClaimMasterForm.get('policyNo').value}}\\r\\n Edit banking details for Provider: {{this._appService.ClaimCaptureService.ClaimMasterForm.get('vendor').value}}\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n This field is required (max length: 30)\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n This field is required (max length: 10)\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n This field is required (max length: 20)\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n Please select an option\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n

WARNING

\\r\\n
\\r\\n
\\r\\n

\\r\\n You are about to permanently change the banking details of a member.
\\r\\n Do you wish to continue?\\r\\n

\\r\\n
\\r\\n
\\r\\n

\\r\\n You are about to permanently change the banking details of a Provider.
\\r\\n Do you wish to continue?\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n Loading...\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

{{this._appService.ClaimCaptureService._errorMessageHeading}}

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n {{this._appService.ClaimCaptureService._errorMessage}}\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{this._appService.ClaimCaptureService._successMessageHeading}}

\\r\\n
\\r\\n
\\r\\n

{{this._appService.ClaimCaptureService._successMessage}}

\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Warning

\\r\\n
\\r\\n
\\r\\n

Are you sure you want to clear all claim data without saving?

\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Warning

\\r\\n
\\r\\n
\\r\\n

Are you sure you want to cancel without saving changes?

\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\"","export default \"
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n View Captured Claims\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n Valid date required\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n Valid date required\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n Please select an option\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n   ?   Need help..\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n {{this._appService.ClaimCaptureService.curPage}}/{{this._appService.ClaimCaptureService.claimReportTotalPages}} pages\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n CAPTURED DATE\\r\\n \\r\\n \\r\\n \\r\\n CAPTURED BY\\r\\n \\r\\n \\r\\n PRACTICE NO\\r\\n MEMBER NO\\r\\n DETAIL LINES\\r\\n BILLED\\r\\n CLAIM NO\\r\\n BATCH NO\\r\\n \\r\\n {{claim.dateCreated}}\\r\\n {{claim.user}}\\r\\n {{claim.provid}}\\r\\n {{claim.memb}}\\r\\n {{claim.detailLines}}\\r\\n R {{claim.billed }}\\r\\n {{claim.ezcapClaimNo}}\\r\\n {{claim.batchNo}}\\r\\n \\r\\n\\r\\n {{this._appService.ClaimCaptureService._ReportList.length}} claims\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n Loading...\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

{{this._appService.ClaimCaptureService._loadingErrorMessageHeading}}

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n {{this._appService.ClaimCaptureService._loadingErrorMessage}}\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","export default \"
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n Application for registration of a chronic condition including PMB conditions\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

Medication Item

\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n Loading...\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

{{this._appService.ChronicConditionService.SuccessMessageHeading}}

\\r\\n
\\r\\n
\\r\\n \\r\\n

{{this._appService.ChronicConditionService.SuccessMessage}} {{this._appService.ChronicConditionService.SuccessMessageBoldPart}}

\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

{{this._appService.ChronicConditionService.ErrorMessageHeading}}

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n {{this._appService.ChronicConditionService.ErrorMessage}}\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

{{this._appService.ChronicConditionService.ErrorArrayHeading}}

\\r\\n
\\r\\n
\\r\\n\\r\\n {{this._appService.ChronicConditionService.ErrorArrayMessage}}\\r\\n\\r\\n
\\r\\n

 {{ item }}

\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

Confirm action

\\r\\n
\\r\\n
\\r\\n \\r\\n

\\r\\n You have an unsubmitted chronic condition update. If you proceed to a new chronic condition application\\r\\n we will keep the member on the form but all other data will be lost.

\\r\\n Do you want to proceed?\\r\\n

\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\"","export default \"
\\r\\n
\\r\\n

Could not retrieve application information

\\r\\n

{{this._appService.ChronicConditionService.ErrorMessage}}

\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n Application Number: {{this._appService.ChronicConditionService.SumbittedApplication.conditionApplicationNumber}}\\r\\n
\\r\\n Status: {{this._appService.ChronicConditionService.SumbittedApplication.status}}\\r\\n
\\r\\n Decline Note: {{this._appService.ChronicConditionService.SumbittedApplication.declineNote}}\\r\\n
\\r\\n Condition applied for: {{this._appService.ChronicConditionService.SumbittedApplication.conditionDescription}}\\r\\n
\\r\\n Submission Date: {{this._appService.ChronicConditionService.SumbittedApplication.applicationDate}}\\r\\n
\\r\\n\\r\\n

Patient

\\r\\n
\\r\\n
\\r\\n
\\r\\n Name: {{this._appService.ChronicConditionService.SumbittedApplication.membFirstName}}
\\r\\n
\\r\\n
\\r\\n Surname: {{this._appService.ChronicConditionService.SumbittedApplication.membLastName}}
\\r\\n
\\r\\n
\\r\\n Member No: {{this._appService.ChronicConditionService.SumbittedApplication.membId}}
\\r\\n
\\r\\n
\\r\\n Member Email: {{this._appService.ChronicConditionService.SumbittedApplication.membEmail}}
\\r\\n
\\r\\n
\\r\\n\\r\\n

Medical Practitioner

\\r\\n
\\r\\n
\\r\\n
\\r\\n Practice No: {{this._appService.ChronicConditionService.SumbittedApplication.provId}}
\\r\\n
\\r\\n
\\r\\n Name: {{this._appService.LoginService.CurrentLoggedInUser.lastname}}
\\r\\n
\\r\\n
\\r\\n Contact No: {{this._appService.LoginService.CurrentLoggedInUser.contact}}
\\r\\n
\\r\\n
\\r\\n Email: {{this._appService.ChronicConditionService.SumbittedApplication.provEmail}}
\\r\\n
\\r\\n
\\r\\n Refer patient to specialist?: {{this._appService.ChronicConditionService.SumbittedApplication.referredYN}}
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n Specialist Practice No: {{this._appService.ChronicConditionService.SumbittedApplication.refProvid}}
\\r\\n Specialist Surname: {{this._appService.ChronicConditionService.SumbittedApplication.refProvSurname}}
\\r\\n Referring Speciality: {{this._appService.ChronicConditionService.SumbittedApplication.refProvSpec}}
\\r\\n Referral Notes: {{this._appService.ChronicConditionService.SumbittedApplication.refProvNotes}}
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n Referral Letter: None
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
0\\\">\\r\\n\\r\\n
\\r\\n Referral Letter:\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
{{ eachfile.name }}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n

Base Biometric

\\r\\n
\\r\\n
\\r\\n
BMI
\\r\\n Height (cm): {{this._appService.ChronicConditionService.SumbittedApplication.height}}
\\r\\n Weight (kg): {{this._appService.ChronicConditionService.SumbittedApplication.weight}}
\\r\\n BMI: {{this._appService.ChronicConditionService.SumbittedApplication.bmi}}
\\r\\n
\\r\\n\\r\\n
\\r\\n
Lipogram
\\r\\n Total Chol: {{this._appService.ChronicConditionService.SumbittedApplication.cholesterolTotal}}
\\r\\n HDL: {{this._appService.ChronicConditionService.SumbittedApplication.cholesterolHDL}}
\\r\\n LDL: {{this._appService.ChronicConditionService.SumbittedApplication.cholesterolLDL}}
\\r\\n TRIG: {{this._appService.ChronicConditionService.SumbittedApplication.cholesterolTRI}}
\\r\\n HDL-LDL ratio: {{this._appService.ChronicConditionService.SumbittedApplication.cholesterolLdlHdlRatio}}
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
Blood Pressure
\\r\\n Systolic: {{this._appService.ChronicConditionService.SumbittedApplication.bloodPresSystolic}}
\\r\\n Diastolic: {{this._appService.ChronicConditionService.SumbittedApplication.bloodPresDiastolic}}
\\r\\n
\\r\\n\\r\\n
\\r\\n
Diabetes
\\r\\n Does the patient have diabetes? {{this._appService.ChronicConditionService.SumbittedApplication.diabetesYN}}
\\r\\n
\\r\\n Type of Diabetes: {{this._appService.ChronicConditionService.SumbittedApplication.diabetesType}}
\\r\\n OGTT result (mg/dL): {{this._appService.ChronicConditionService.SumbittedApplication.ogttResult }}
\\r\\n Most recent HbA1c results: {{this._appService.ChronicConditionService.SumbittedApplication.hba1c}}
\\r\\n Fasting glucose result (mg/dL): {{this._appService.ChronicConditionService.SumbittedApplication.fastingGlucoseResult}}
\\r\\n Random glucose result (mg/dL): {{this._appService.ChronicConditionService.SumbittedApplication.randomGlucoseResult}}
\\r\\n \\r\\n Date of Test: {{this._appService.ChronicConditionService.SumbittedApplication.diabTestDate}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n

Risk Factors

\\r\\n
\\r\\n
\\r\\n
Predisposing Risk Factors
\\r\\n Alcohol: {{this._appService.ChronicConditionService.SumbittedApplication.alcohol}}
\\r\\n Obesity: {{this._appService.ChronicConditionService.SumbittedApplication.obesity}}
\\r\\n Smoker: {{this._appService.ChronicConditionService.SumbittedApplication.smoker}}
\\r\\n
\\r\\n Smoke in the past?: {{this._appService.ChronicConditionService.SumbittedApplication.smokeInPast}}
\\r\\n
\\r\\n
\\r\\n Date of Cessation: {{this._appService.ChronicConditionService.SumbittedApplication.cessationDate}}
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
Pre-existing Complications
\\r\\n Ischaematic Heart Disease (e.g. Angina, Myocardial Infract): {{this._appService.ChronicConditionService.SumbittedApplication.ischaemicHeartDisease}}
\\r\\n Peripheral Vascular Disease (e.g. Aeortic Aneurism): {{this._appService.ChronicConditionService.SumbittedApplication.peripheralVascularDisease}}
\\r\\n Stroke/transient ischaemic attacks (TIA): {{this._appService.ChronicConditionService.SumbittedApplication.strokeAttacks}}
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n

Diabetes Mellitus


\\r\\n
\\r\\n
\\r\\n ICD10 Code: {{this._appService.ChronicConditionService.SumbittedApplication.diabetesIcd10}}
\\r\\n
\\r\\n
\\r\\n\\r\\n
0\\\">\\r\\n\\r\\n
\\r\\n Pathology Results:\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
{{ eachfile.name }}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n

Hyperlipidaemia


\\r\\n
\\r\\n
\\r\\n ICD10 Code: {{this._appService.ChronicConditionService.SumbittedApplication.hyperlipidaemiaIcd10}}
\\r\\n Is the patient on therapy?: {{this._appService.ChronicConditionService.SumbittedApplication.hyperlipidaemiatherapyYN}}
\\r\\n
\\r\\n Duration of therapy (years): {{this._appService.ChronicConditionService.SumbittedApplication.hyperlipidaemiaTherapyDuration}}
\\r\\n Medicine used when most recent fasting lipogram was done:
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
ICD-10Prescribed medicineStrengthDosageQuantity per monthNumber of repeats
{{medItem.icd10}}{{medItem.svcCodeDescr}}{{medItem.strength}}{{medItem.dosage}}{{medItem.qtyPerMonth}}{{medItem.numRepeats}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
0\\\">\\r\\n\\r\\n
\\r\\n Pathology Results:\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
{{ eachfile.name }}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n Does the patient have symptomatic atherosclerotic disease: {{this._appService.ChronicConditionService.SumbittedApplication.hyperlipidaemiaAtheroscleroticYN}}
\\r\\n Is the patient on treatment for hypertension?: {{this._appService.ChronicConditionService.SumbittedApplication.hyperlipidaemiaHypertensionTreatmentYN}}
\\r\\n Genetic hyperlipidaemia: Diagnosed by a specialist physician?: {{this._appService.ChronicConditionService.SumbittedApplication.hyperlipidaemiaGeneticHyperlipidaemiaYN}}
\\r\\n Positive family history of myocardial infraction in::
\\r\\n 1. First-grade male blood relative (father/brother) < 55 years: {{this._appService.ChronicConditionService.SumbittedApplication.hyperlipidaemiaMaleBloodRelativeYN}}
\\r\\n 2. First-grade female blood relative (mother/sister) < 65 years: {{this._appService.ChronicConditionService.SumbittedApplication.hyperlipidaemiaFemaleBloodRelativeYN}}
\\r\\n 3. Presence of tendon xanthoma: {{this._appService.ChronicConditionService.SumbittedApplication.hyperlipidaemiaTendonXanthomaYN}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n
\\r\\n

Hypertension


\\r\\n
\\r\\n
\\r\\n ICD10 Code: {{this._appService.ChronicConditionService.SumbittedApplication.hypertensionIcd10}}
\\r\\n Severity: {{this._appService.ChronicConditionService.SumbittedApplication.hypertensionSeverity}}
\\r\\n Is the patient currently on therapy? {{this._appService.ChronicConditionService.SumbittedApplication.hypertensionTherapyYN}}
\\r\\n
\\r\\n Hypertension medicine history:
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
ICD-10Prescribed medicineStrengthDosageQuantity per monthNumber of repeats
{{medItem.icd10}}{{medItem.svcCodeDescr}}{{medItem.strength}}{{medItem.dosage}}{{medItem.qtyPerMonth}}{{medItem.numRepeats}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n

Asthma


\\r\\n
\\r\\n
\\r\\n ICD10 Code: {{this._appService.ChronicConditionService.SumbittedApplication.asthmaIcd10}}
\\r\\n Peak flow test results (L/min): {{this._appService.ChronicConditionService.SumbittedApplication.asthmaPleakFlow}}
\\r\\n Is the patient currently 3 years of age or younger? {{this._appService.ChronicConditionService.SumbittedApplication.asthmaYounger3YN}}
\\r\\n
\\r\\n
\\r\\n\\r\\n
0\\\">\\r\\n\\r\\n
\\r\\n Paediatrician's report:\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
{{ eachfile.name }}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
0\\\">\\r\\n\\r\\n
\\r\\n Flow Volume test result:\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
{{ eachfile.name }}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n

Requested Medications

\\r\\n\\r\\n
\\r\\n
\\r\\n None\\r\\n
\\r\\n
\\r\\n\\r\\n
0\\\">\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
ICD-10Prescribed medicineStrengthDosageQuantity per monthNumber of repeats
{{medItem.icd10}}{{medItem.svcCodeDescr}}{{medItem.strength}}{{medItem.dosage}}{{medItem.qtyPerMonth}}{{medItem.numRepeats}}
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
0\\\">\\r\\n\\r\\n
\\r\\n Prescription:\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
{{ eachfile.name }}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n

Additional Documents

\\r\\n\\r\\n
\\r\\n
\\r\\n None\\r\\n
\\r\\n
\\r\\n\\r\\n
0\\\">\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
{{ eachfile.name }}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n

Comorbid Conditions

\\r\\n\\r\\n
\\r\\n
\\r\\n None\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
Addisons Disease comorbid condition

\\r\\n ICD10 Code: {{this._appService.ChronicConditionService.SumbittedApplication.addisCmICD10}}
\\r\\n
0\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Addisons Disease medicine history:
ICD-10Prescribed medicineStrengthDosageQuantity per monthNumber of repeats
{{medItem.icd10}}{{medItem.svcCodeDescr}}{{medItem.strength}}{{medItem.dosage}}{{medItem.qtyPerMonth}}{{medItem.numRepeats}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
Asthma comorbid condition

\\r\\n ICD10 Code: {{this._appService.ChronicConditionService.SumbittedApplication.asthmaCmICD10}}
\\r\\n
0\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Asthma medicine history::
ICD-10Prescribed medicineStrengthDosageQuantity per monthNumber of repeats
{{medItem.icd10}}{{medItem.svcCodeDescr}}{{medItem.strength}}{{medItem.dosage}}{{medItem.qtyPerMonth}}{{medItem.numRepeats}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
Bipolar Mood Disorder comorbid condition

\\r\\n ICD10 Code: {{this._appService.ChronicConditionService.SumbittedApplication.bipolCmICD10}}
\\r\\n
0\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Bipolar Mood Disorder medicine history:
ICD-10Prescribed medicineStrengthDosageQuantity per monthNumber of repeats
{{medItem.icd10}}{{medItem.svcCodeDescr}}{{medItem.strength}}{{medItem.dosage}}{{medItem.qtyPerMonth}}{{medItem.numRepeats}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
Bronchiectasis comorbid condition

\\r\\n ICD10 Code: {{this._appService.ChronicConditionService.SumbittedApplication.bronchCmICD10}}
\\r\\n
0\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Bronchiectasis medicine history:
ICD-10Prescribed medicineStrengthDosageQuantity per monthNumber of repeats
{{medItem.icd10}}{{medItem.svcCodeDescr}}{{medItem.strength}}{{medItem.dosage}}{{medItem.qtyPerMonth}}{{medItem.numRepeats}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
Cardiac Failure comorbid condition

\\r\\n ICD10 Code: {{this._appService.ChronicConditionService.SumbittedApplication.cardiacCmICD10}}
\\r\\n
0\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Cardiac Failure medicine history:
ICD-10Prescribed medicineStrengthDosageQuantity per monthNumber of repeats
{{medItem.icd10}}{{medItem.svcCodeDescr}}{{medItem.strength}}{{medItem.dosage}}{{medItem.qtyPerMonth}}{{medItem.numRepeats}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
Cardiomyopathy comorbid condition

\\r\\n ICD10 Code: {{this._appService.ChronicConditionService.SumbittedApplication.cardiomCmICD10}}
\\r\\n
0\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Cardiomyopathy medicine history:
ICD-10Prescribed medicineStrengthDosageQuantity per monthNumber of repeats
{{medItem.icd10}}{{medItem.svcCodeDescr}}{{medItem.strength}}{{medItem.dosage}}{{medItem.qtyPerMonth}}{{medItem.numRepeats}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
Chronic Obstructive Pulmonary Disease comorbid condition

\\r\\n ICD10 Code: {{this._appService.ChronicConditionService.SumbittedApplication.copdCmICD10}}
\\r\\n
0\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Chronic Obstructive Pulmonary Disease medicine history:
ICD-10Prescribed medicineStrengthDosageQuantity per monthNumber of repeats
{{medItem.icd10}}{{medItem.svcCodeDescr}}{{medItem.strength}}{{medItem.dosage}}{{medItem.qtyPerMonth}}{{medItem.numRepeats}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
Chronic Renal Disease comorbid condition

\\r\\n ICD10 Code: {{this._appService.ChronicConditionService.SumbittedApplication.renalCmICD10}}
\\r\\n
0\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Chronic Renal Disease medicine history:
ICD-10Prescribed medicineStrengthDosageQuantity per monthNumber of repeats
{{medItem.icd10}}{{medItem.svcCodeDescr}}{{medItem.strength}}{{medItem.dosage}}{{medItem.qtyPerMonth}}{{medItem.numRepeats}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
Coronary Artery Disease comorbid condition

\\r\\n ICD10 Code: {{this._appService.ChronicConditionService.SumbittedApplication.coronarCmICD10}}
\\r\\n
0\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Coronary Artery Disease medicine history:
ICD-10Prescribed medicineStrengthDosageQuantity per monthNumber of repeats
{{medItem.icd10}}{{medItem.svcCodeDescr}}{{medItem.strength}}{{medItem.dosage}}{{medItem.qtyPerMonth}}{{medItem.numRepeats}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
Crohn's Disease comorbid condition

\\r\\n ICD10 Code: {{this._appService.ChronicConditionService.SumbittedApplication.crohnsCmICD10}}
\\r\\n
0\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Crohn's Disease medicine history:
ICD-10Prescribed medicineStrengthDosageQuantity per monthNumber of repeats
{{medItem.icd10}}{{medItem.svcCodeDescr}}{{medItem.strength}}{{medItem.dosage}}{{medItem.qtyPerMonth}}{{medItem.numRepeats}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
Diabetes Insipidus comorbid condition

\\r\\n ICD10 Code: {{this._appService.ChronicConditionService.SumbittedApplication.diabinsipCmICD10}}
\\r\\n
0\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Diabetes Insipidus medicine history:
ICD-10Prescribed medicineStrengthDosageQuantity per monthNumber of repeats
{{medItem.icd10}}{{medItem.svcCodeDescr}}{{medItem.strength}}{{medItem.dosage}}{{medItem.qtyPerMonth}}{{medItem.numRepeats}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
Diabetes Mellitus comorbid condition
\\r\\n ICD10 Code: {{this._appService.ChronicConditionService.SumbittedApplication.diabCmICD10}}
\\r\\n
0\\\">\\r\\n Diabetes medicine history:
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
ICD-10Prescribed medicineStrengthDosageQuantity per monthNumber of repeats
{{medItem.icd10}}{{medItem.svcCodeDescr}}{{medItem.strength}}{{medItem.dosage}}{{medItem.qtyPerMonth}}{{medItem.numRepeats}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
Dysrhythmia comorbid condition

\\r\\n ICD10 Code: {{this._appService.ChronicConditionService.SumbittedApplication.dysrhytCmICD10}}
\\r\\n
0\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Dysrhythmia medicine history:
ICD-10Prescribed medicineStrengthDosageQuantity per monthNumber of repeats
{{medItem.icd10}}{{medItem.svcCodeDescr}}{{medItem.strength}}{{medItem.dosage}}{{medItem.qtyPerMonth}}{{medItem.numRepeats}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
Epilepsy comorbid condition

\\r\\n ICD10 Code: {{this._appService.ChronicConditionService.SumbittedApplication.epilCmICD10}}
\\r\\n
0\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Epilepsy medicine history:
ICD-10Prescribed medicineStrengthDosageQuantity per monthNumber of repeats
{{medItem.icd10}}{{medItem.svcCodeDescr}}{{medItem.strength}}{{medItem.dosage}}{{medItem.qtyPerMonth}}{{medItem.numRepeats}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
Glaucoma comorbid condition

\\r\\n ICD10 Code: {{this._appService.ChronicConditionService.SumbittedApplication.glaucomCmICD10}}
\\r\\n
0\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Glaucoma medicine history:
ICD-10Prescribed medicineStrengthDosageQuantity per monthNumber of repeats
{{medItem.icd10}}{{medItem.svcCodeDescr}}{{medItem.strength}}{{medItem.dosage}}{{medItem.qtyPerMonth}}{{medItem.numRepeats}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
Haemophilia comorbid condition

\\r\\n ICD10 Code: {{this._appService.ChronicConditionService.SumbittedApplication.haemophilCmICD10}}
\\r\\n
0\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Haemophilia medicine history:
ICD-10Prescribed medicineStrengthDosageQuantity per monthNumber of repeats
{{medItem.icd10}}{{medItem.svcCodeDescr}}{{medItem.strength}}{{medItem.dosage}}{{medItem.qtyPerMonth}}{{medItem.numRepeats}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
Hyperlipidaemia comorbid condition

\\r\\n ICD10 Code: {{this._appService.ChronicConditionService.SumbittedApplication.hyperlipCmICD10}}
\\r\\n
0\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Hyperlipidaemia medicine history:
ICD-10Prescribed medicineStrengthDosageQuantity per monthNumber of repeats
{{medItem.icd10}}{{medItem.svcCodeDescr}}{{medItem.strength}}{{medItem.dosage}}{{medItem.qtyPerMonth}}{{medItem.numRepeats}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
Hypertension comorbid condition
\\r\\n ICD10 Code: {{this._appService.ChronicConditionService.SumbittedApplication.hypertensionCmICD10}}
\\r\\n
0\\\">\\r\\n Hypertension medicine history:
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
ICD-10Prescribed medicineStrengthDosageQuantity per monthNumber of repeats
{{medItem.icd10}}{{medItem.svcCodeDescr}}{{medItem.strength}}{{medItem.dosage}}{{medItem.qtyPerMonth}}{{medItem.numRepeats}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
Hypothyroidism comorbid condition

\\r\\n ICD10 Code: {{this._appService.ChronicConditionService.SumbittedApplication.hypothCmICD10}}
\\r\\n
0\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Hypothyroidism medicine history:
ICD-10Prescribed medicineStrengthDosageQuantity per monthNumber of repeats
{{medItem.icd10}}{{medItem.svcCodeDescr}}{{medItem.strength}}{{medItem.dosage}}{{medItem.qtyPerMonth}}{{medItem.numRepeats}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
Multiple Sclerosis comorbid condition

\\r\\n ICD10 Code: {{this._appService.ChronicConditionService.SumbittedApplication.sclerosisCmICD10}}
\\r\\n
0\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Multiple Sclerosis medicine history:
ICD-10Prescribed medicineStrengthDosageQuantity per monthNumber of repeats
{{medItem.icd10}}{{medItem.svcCodeDescr}}{{medItem.strength}}{{medItem.dosage}}{{medItem.qtyPerMonth}}{{medItem.numRepeats}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
Parkinson's Disease comorbid condition

\\r\\n ICD10 Code: {{this._appService.ChronicConditionService.SumbittedApplication.parkinsCmICD10}}
\\r\\n
0\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Parkinson's Disease medicine history:
ICD-10Prescribed medicineStrengthDosageQuantity per monthNumber of repeats
{{medItem.icd10}}{{medItem.svcCodeDescr}}{{medItem.strength}}{{medItem.dosage}}{{medItem.qtyPerMonth}}{{medItem.numRepeats}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
Rheumatoid Arthritis comorbid condition

\\r\\n ICD10 Code: {{this._appService.ChronicConditionService.SumbittedApplication.rheumaCmICD10}}
\\r\\n
0\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Rheumatoid Arthritis medicine history:
ICD-10Prescribed medicineStrengthDosageQuantity per monthNumber of repeats
{{medItem.icd10}}{{medItem.svcCodeDescr}}{{medItem.strength}}{{medItem.dosage}}{{medItem.qtyPerMonth}}{{medItem.numRepeats}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
Schizophrenia comorbid condition

\\r\\n ICD10 Code: {{this._appService.ChronicConditionService.SumbittedApplication.schizoCmICD10}}
\\r\\n
0\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Schizophrenia medicine history:
ICD-10Prescribed medicineStrengthDosageQuantity per monthNumber of repeats
{{medItem.icd10}}{{medItem.svcCodeDescr}}{{medItem.strength}}{{medItem.dosage}}{{medItem.qtyPerMonth}}{{medItem.numRepeats}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
Systematic Lupus Erythematosus comorbid condition

\\r\\n ICD10 Code: {{this._appService.ChronicConditionService.SumbittedApplication.lupusCmICD10}}
\\r\\n
0\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Systematic Lupus Erythematosus medicine history:
ICD-10Prescribed medicineStrengthDosageQuantity per monthNumber of repeats
{{medItem.icd10}}{{medItem.svcCodeDescr}}{{medItem.strength}}{{medItem.dosage}}{{medItem.qtyPerMonth}}{{medItem.numRepeats}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
Ulcerative Colitis comorbid condition

\\r\\n ICD10 Code: {{this._appService.ChronicConditionService.SumbittedApplication.ulceraCmICD10}}
\\r\\n
0\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Ulcerative Colitis medicine history:
ICD-10Prescribed medicineStrengthDosageQuantity per monthNumber of repeats
{{medItem.icd10}}{{medItem.svcCodeDescr}}{{medItem.strength}}{{medItem.dosage}}{{medItem.qtyPerMonth}}{{medItem.numRepeats}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n Loading...\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\"","export default \"
\\r\\n\\r\\n

Asthma

\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n Please select a diagnosis code\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
Base Biometric
\\r\\n
\\r\\n\\r\\n
\\r\\n
Current (latest) Biometric
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n This field requires valid data\\r\\n \\r\\n\\r\\n \\r\\n {{this._appService.ChronicConditionService.ApprovedApplication.applicationDate}} Initial Result: {{this._appService.ChronicConditionService.ApprovedApplication.asthmaPleakFlow}}\\r\\n \\r\\n\\r\\n \\r\\n {{this._appService.ChronicConditionService.LatestUpdate.applicationDate}} Latest Result: {{this._appService.ChronicConditionService.LatestUpdate.asthmaPleakFlow}}\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n Please select an option\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n CLICK OR DROP FILES HERE TO UPLOAD\\r\\n \\r\\n \\r\\n Paediatrician's report is required for patients 3 years or younger\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
{{ eachfile.name }}\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n CLICK OR DROP FILES HERE TO UPLOAD\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
{{ eachfile.name }}\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n

\\r\\n\\r\\n \\r\\n\\r\\n
0 \\\">\\r\\n\\r\\n
\\r\\n Paediatrician's report submitted on application ({{this._appService.ChronicConditionService.ApprovedApplication.applicationDate}}):\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
{{ eachfile.name }}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
0 \\\">\\r\\n\\r\\n
\\r\\n Paediatrician's report submitted on latest update ({{this._appService.ChronicConditionService.LatestUpdate.applicationDate}}):\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
{{ eachfile.name }}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
0 \\\">\\r\\n\\r\\n
\\r\\n Flow Volume test results submitted on application ({{this._appService.ChronicConditionService.ApprovedApplication.applicationDate}}):\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
{{ eachfile.name }}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
0 \\\">\\r\\n\\r\\n
\\r\\n Flow Volume test results submitted on latest update ({{this._appService.ChronicConditionService.LatestUpdate.applicationDate}}):\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
{{ eachfile.name }}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\"","export default \"
\\r\\n\\r\\n

Base Biometric

\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
BMI
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n This field requires valid data\\r\\n \\r\\n \\r\\n \\r\\n {{this._appService.ChronicConditionService.ApprovedApplication.applicationDate}} Initial Result: {{this._appService.ChronicConditionService.ApprovedApplication.height}}\\r\\n \\r\\n\\r\\n \\r\\n {{this._appService.ChronicConditionService.LatestUpdate.applicationDate}} Latest Result: {{this._appService.ChronicConditionService.LatestUpdate.height}}\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n This field requires valid data\\r\\n \\r\\n\\r\\n \\r\\n {{this._appService.ChronicConditionService.ApprovedApplication.applicationDate}} Initial Result: {{this._appService.ChronicConditionService.ApprovedApplication.weight}}\\r\\n \\r\\n\\r\\n \\r\\n {{this._appService.ChronicConditionService.LatestUpdate.applicationDate}} Latest Result: {{this._appService.ChronicConditionService.LatestUpdate.weight}}\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n This field requires valid data\\r\\n \\r\\n\\r\\n \\r\\n {{this._appService.ChronicConditionService.ApprovedApplication.applicationDate}} Initial Result: {{this._appService.ChronicConditionService.ApprovedApplication.bmi}}\\r\\n \\r\\n\\r\\n \\r\\n {{this._appService.ChronicConditionService.LatestUpdate.applicationDate}} Latest Result: {{this._appService.ChronicConditionService.LatestUpdate.bmi}}\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
Lipogram (all values in mmol/L)
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n This field requires valid data\\r\\n \\r\\n\\r\\n \\r\\n {{this._appService.ChronicConditionService.ApprovedApplication.applicationDate}} Initial Result: {{this._appService.ChronicConditionService.ApprovedApplication.cholesterolTotal}}\\r\\n \\r\\n\\r\\n \\r\\n {{this._appService.ChronicConditionService.LatestUpdate.applicationDate}} Latest Result: {{this._appService.ChronicConditionService.LatestUpdate.cholesterolTotal}}\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n This field requires valid data\\r\\n \\r\\n\\r\\n \\r\\n {{this._appService.ChronicConditionService.ApprovedApplication.applicationDate}} Initial Result: {{this._appService.ChronicConditionService.ApprovedApplication.cholesterolHDL}}\\r\\n \\r\\n\\r\\n \\r\\n {{this._appService.ChronicConditionService.LatestUpdate.applicationDate}} Latest Result: {{this._appService.ChronicConditionService.LatestUpdate.cholesterolHDL}}\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n This field requires valid data\\r\\n \\r\\n\\r\\n \\r\\n {{this._appService.ChronicConditionService.ApprovedApplication.applicationDate}} Initial Result: {{this._appService.ChronicConditionService.ApprovedApplication.cholesterolLDL}}\\r\\n \\r\\n\\r\\n \\r\\n {{this._appService.ChronicConditionService.LatestUpdate.applicationDate}} Latest Result: {{this._appService.ChronicConditionService.LatestUpdate.cholesterolLDL}}\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n This field requires valid data\\r\\n \\r\\n\\r\\n \\r\\n {{this._appService.ChronicConditionService.ApprovedApplication.applicationDate}} Initial Result: {{this._appService.ChronicConditionService.ApprovedApplication.cholesterolTRI}}\\r\\n \\r\\n\\r\\n \\r\\n {{this._appService.ChronicConditionService.LatestUpdate.applicationDate}} Latest Result: {{this._appService.ChronicConditionService.LatestUpdate.cholesterolTRI}}\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n This field requires valid data\\r\\n \\r\\n\\r\\n \\r\\n {{this._appService.ChronicConditionService.ApprovedApplication.applicationDate}} Initial Result: {{this._appService.ChronicConditionService.ApprovedApplication.cholesterolLdlHdlRatio}}\\r\\n \\r\\n\\r\\n \\r\\n {{this._appService.ChronicConditionService.LatestUpdate.applicationDate}} Latest Result: {{this._appService.ChronicConditionService.LatestUpdate.cholesterolLdlHdlRatio}}\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
Blood Pressure
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n This field requires valid data\\r\\n \\r\\n\\r\\n \\r\\n {{this._appService.ChronicConditionService.ApprovedApplication.applicationDate}} Initial Result: {{this._appService.ChronicConditionService.ApprovedApplication.bloodPresSystolic}}\\r\\n \\r\\n\\r\\n \\r\\n {{this._appService.ChronicConditionService.LatestUpdate.applicationDate}} Latest Result: {{this._appService.ChronicConditionService.LatestUpdate.bloodPresSystolic}}\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n This field requires valid data\\r\\n \\r\\n\\r\\n \\r\\n {{this._appService.ChronicConditionService.ApprovedApplication.applicationDate}} Initial Result: {{this._appService.ChronicConditionService.ApprovedApplication.bloodPresDiastolic}}\\r\\n \\r\\n\\r\\n \\r\\n {{this._appService.ChronicConditionService.LatestUpdate.applicationDate}} Latest Result: {{this._appService.ChronicConditionService.LatestUpdate.bloodPresDiastolic}}\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
Diabetes
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n Please select an option\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n Please select an option\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n This field requires valid data\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n This field requires valid data\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n This field requires valid data\\r\\n \\r\\n\\r\\n \\r\\n {{this._appService.ChronicConditionService.ApprovedApplication.applicationDate}} OGTT Result: {{this._appService.ChronicConditionService.ApprovedApplication.ogttResult}}\\r\\n \\r\\n\\r\\n \\r\\n {{this._appService.ChronicConditionService.ApprovedApplication.applicationDate}} Fasting Glucose Result: {{this._appService.ChronicConditionService.ApprovedApplication.fastingGlucoseResult}}\\r\\n \\r\\n\\r\\n \\r\\n {{this._appService.ChronicConditionService.LatestUpdate.applicationDate}} Latest HbA1c Result: {{this._appService.ChronicConditionService.LatestUpdate.HbA1c}}\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n This field requires valid data\\r\\n \\r\\n\\r\\n \\r\\n {{this._appService.ChronicConditionService.ApprovedApplication.applicationDate}} Initial Result: {{this._appService.ChronicConditionService.ApprovedApplication.randomGlucoseResult}}\\r\\n \\r\\n\\r\\n \\r\\n {{this._appService.ChronicConditionService.LatestUpdate.applicationDate}} Latest Result: {{this._appService.ChronicConditionService.LatestUpdate.randomGlucoseResult}}\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n Valid current or past date required\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n\"","export default \"
\\r\\n\\r\\n

Comorbid Conditions

\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
Addison's comorbid condition
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n Please select a diagnosis code\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
ICD-10Prescribed medicineStrengthDosageQuantity per monthNumber of repeats
{{medItem.icd10}}{{medItem.svcCodeDescr}}{{medItem.strength}}{{medItem.dosage}}{{medItem.qtyPerMonth}}{{medItem.numRepeats}}\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n Medicine history is required\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
Asthma comorbid condition
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n Please select a diagnosis code\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
ICD-10Prescribed medicineStrengthDosageQuantity per monthNumber of repeats
{{medItem.icd10}}{{medItem.svcCodeDescr}}{{medItem.strength}}{{medItem.dosage}}{{medItem.qtyPerMonth}}{{medItem.numRepeats}}\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n Medicine history is required\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
Bipolar Mood Disorder comorbid condition
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n Please select a diagnosis code\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
ICD-10Prescribed medicineStrengthDosageQuantity per monthNumber of repeats
{{medItem.icd10}}{{medItem.svcCodeDescr}}{{medItem.strength}}{{medItem.dosage}}{{medItem.qtyPerMonth}}{{medItem.numRepeats}}\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n Medicine history is required\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
Bronchiectasis comorbid condition
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n Please select a diagnosis code\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
ICD-10Prescribed medicineStrengthDosageQuantity per monthNumber of repeats
{{medItem.icd10}}{{medItem.svcCodeDescr}}{{medItem.strength}}{{medItem.dosage}}{{medItem.qtyPerMonth}}{{medItem.numRepeats}}\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n Medicine history is required\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
Cardiac Failure comorbid condition
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n Please select a diagnosis code\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
ICD-10Prescribed medicineStrengthDosageQuantity per monthNumber of repeats
{{medItem.icd10}}{{medItem.svcCodeDescr}}{{medItem.strength}}{{medItem.dosage}}{{medItem.qtyPerMonth}}{{medItem.numRepeats}}\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n Medicine history is required\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
Cardiomyopathy comorbid condition
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n Please select a diagnosis code\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
ICD-10Prescribed medicineStrengthDosageQuantity per monthNumber of repeats
{{medItem.icd10}}{{medItem.svcCodeDescr}}{{medItem.strength}}{{medItem.dosage}}{{medItem.qtyPerMonth}}{{medItem.numRepeats}}\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n Medicine history is required\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
Chronic Obstructive Pulmonary Disease (COPD) comorbid condition
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n Please select a diagnosis code\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
ICD-10Prescribed medicineStrengthDosageQuantity per monthNumber of repeats
{{medItem.icd10}}{{medItem.svcCodeDescr}}{{medItem.strength}}{{medItem.dosage}}{{medItem.qtyPerMonth}}{{medItem.numRepeats}}\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n Medicine history is required\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
Chronic Renal Disease comorbid condition
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n Please select a diagnosis code\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
ICD-10Prescribed medicineStrengthDosageQuantity per monthNumber of repeats
{{medItem.icd10}}{{medItem.svcCodeDescr}}{{medItem.strength}}{{medItem.dosage}}{{medItem.qtyPerMonth}}{{medItem.numRepeats}}\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n Medicine history is required\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
Coronary Artery Disease comorbid condition
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n Please select a diagnosis code\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
ICD-10Prescribed medicineStrengthDosageQuantity per monthNumber of repeats
{{medItem.icd10}}{{medItem.svcCodeDescr}}{{medItem.strength}}{{medItem.dosage}}{{medItem.qtyPerMonth}}{{medItem.numRepeats}}\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n Medicine history is required\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
Crohn's Disease comorbid condition
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n Please select a diagnosis code\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
ICD-10Prescribed medicineStrengthDosageQuantity per monthNumber of repeats
{{medItem.icd10}}{{medItem.svcCodeDescr}}{{medItem.strength}}{{medItem.dosage}}{{medItem.qtyPerMonth}}{{medItem.numRepeats}}\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n Medicine history is required\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
Diabetes Insipidus comorbid condition
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n Please select a diagnosis code\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
ICD-10Prescribed medicineStrengthDosageQuantity per monthNumber of repeats
{{medItem.icd10}}{{medItem.svcCodeDescr}}{{medItem.strength}}{{medItem.dosage}}{{medItem.qtyPerMonth}}{{medItem.numRepeats}}\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n Medicine history is required\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
Diabetes Mellitus comorbid condition
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n Please select a diagnosis code\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
ICD-10Prescribed medicineStrengthDosageQuantity per monthNumber of repeats
{{medItem.icd10}}{{medItem.svcCodeDescr}}{{medItem.strength}}{{medItem.dosage}}{{medItem.qtyPerMonth}}{{medItem.numRepeats}}\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n Medicine history is required\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
Dysrhythmia comorbid condition
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n Please select a diagnosis code\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
ICD-10Prescribed medicineStrengthDosageQuantity per monthNumber of repeats
{{medItem.icd10}}{{medItem.svcCodeDescr}}{{medItem.strength}}{{medItem.dosage}}{{medItem.qtyPerMonth}}{{medItem.numRepeats}}\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n Medicine history is required\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
Epilepsy comorbid condition
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n Please select a diagnosis code\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
ICD-10Prescribed medicineStrengthDosageQuantity per monthNumber of repeats
{{medItem.icd10}}{{medItem.svcCodeDescr}}{{medItem.strength}}{{medItem.dosage}}{{medItem.qtyPerMonth}}{{medItem.numRepeats}}\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n Medicine history is required\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
Glaucoma comorbid condition
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n Please select a diagnosis code\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
ICD-10Prescribed medicineStrengthDosageQuantity per monthNumber of repeats
{{medItem.icd10}}{{medItem.svcCodeDescr}}{{medItem.strength}}{{medItem.dosage}}{{medItem.qtyPerMonth}}{{medItem.numRepeats}}\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n Medicine history is required\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
Haemophilia comorbid condition
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n Please select a diagnosis code\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
ICD-10Prescribed medicineStrengthDosageQuantity per monthNumber of repeats
{{medItem.icd10}}{{medItem.svcCodeDescr}}{{medItem.strength}}{{medItem.dosage}}{{medItem.qtyPerMonth}}{{medItem.numRepeats}}\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n Medicine history is required\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
Hyperlipidaemia comorbid condition
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n Please select a diagnosis code\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
ICD-10Prescribed medicineStrengthDosageQuantity per monthNumber of repeats
{{medItem.icd10}}{{medItem.svcCodeDescr}}{{medItem.strength}}{{medItem.dosage}}{{medItem.qtyPerMonth}}{{medItem.numRepeats}}\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n Medicine history is required\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
Hypertension comorbid condition
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n Please select a diagnosis code\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
ICD-10Prescribed medicineStrengthDosageQuantity per monthNumber of repeats
{{medItem.icd10}}{{medItem.svcCodeDescr}}{{medItem.strength}}{{medItem.dosage}}{{medItem.qtyPerMonth}}{{medItem.numRepeats}}\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n Medicine history is required\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
Hypothyroidism comorbid condition
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n Please select a diagnosis code\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
ICD-10Prescribed medicineStrengthDosageQuantity per monthNumber of repeats
{{medItem.icd10}}{{medItem.svcCodeDescr}}{{medItem.strength}}{{medItem.dosage}}{{medItem.qtyPerMonth}}{{medItem.numRepeats}}\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n Medicine history is required\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
Multiple Sclerosis comorbid condition
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n Please select a diagnosis code\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
ICD-10Prescribed medicineStrengthDosageQuantity per monthNumber of repeats
{{medItem.icd10}}{{medItem.svcCodeDescr}}{{medItem.strength}}{{medItem.dosage}}{{medItem.qtyPerMonth}}{{medItem.numRepeats}}\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n Medicine history is required\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
Parkinsons Disease comorbid condition
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n Please select a diagnosis code\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
ICD-10Prescribed medicineStrengthDosageQuantity per monthNumber of repeats
{{medItem.icd10}}{{medItem.svcCodeDescr}}{{medItem.strength}}{{medItem.dosage}}{{medItem.qtyPerMonth}}{{medItem.numRepeats}}\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n Medicine history is required\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
Rheumatoid Arthritis comorbid condition
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n Please select a diagnosis code\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
ICD-10Prescribed medicineStrengthDosageQuantity per monthNumber of repeats
{{medItem.icd10}}{{medItem.svcCodeDescr}}{{medItem.strength}}{{medItem.dosage}}{{medItem.qtyPerMonth}}{{medItem.numRepeats}}\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n Medicine history is required\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
Schizophrenia comorbid condition
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n Please select a diagnosis code\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
ICD-10Prescribed medicineStrengthDosageQuantity per monthNumber of repeats
{{medItem.icd10}}{{medItem.svcCodeDescr}}{{medItem.strength}}{{medItem.dosage}}{{medItem.qtyPerMonth}}{{medItem.numRepeats}}\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n Medicine history is required\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
Systematic Lupus Erythematosus comorbid condition
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n Please select a diagnosis code\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
ICD-10Prescribed medicineStrengthDosageQuantity per monthNumber of repeats
{{medItem.icd10}}{{medItem.svcCodeDescr}}{{medItem.strength}}{{medItem.dosage}}{{medItem.qtyPerMonth}}{{medItem.numRepeats}}\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n Medicine history is required\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
Ulcerative Colitis comorbid condition
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n Please select a diagnosis code\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
ICD-10Prescribed medicineStrengthDosageQuantity per monthNumber of repeats
{{medItem.icd10}}{{medItem.svcCodeDescr}}{{medItem.strength}}{{medItem.dosage}}{{medItem.qtyPerMonth}}{{medItem.numRepeats}}\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n Medicine history is required\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\"","export default \"
\\r\\n\\r\\n
\\r\\n

Condition applied for

\\r\\n
\\r\\n
\\r\\n

Registered Condition

\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n Please select a condition to continue\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\"","export default \"
\\r\\n\\r\\n

Declaration

\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Declaration is required\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n Valid current or past date required\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\"","export default \"
\\r\\n\\r\\n

Diabetes Mellitus

\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n Please select a diagnosis code\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n CLICK OR DROP FILES HERE TO UPLOAD\\r\\n \\r\\n \\r\\n Pathology results are required\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
{{ eachfile.name }}\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\"","export default \"
\\r\\n\\r\\n

Additional Documents

\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n CLICK OR DROP FILES HERE TO UPLOAD\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
{{ eachfile.name }}\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\"","export default \"
\\r\\n\\r\\n

Hyperlipidaemia

\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n Please select a diagnosis code\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n Please select an option\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n This field requires valid data\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
ICD-10Prescribed medicineStrengthDosageQuantity per monthNumber of repeats
{{medItem.icd10}}{{medItem.svcCodeDescr}}{{medItem.strength}}{{medItem.dosage}}{{medItem.qtyPerMonth}}{{medItem.numRepeats}}\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n Medicine used is required\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n CLICK OR DROP FILES HERE TO UPLOAD\\r\\n \\r\\n \\r\\n Pathology results are required\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
{{ eachfile.name }}\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n Please select an option\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n Please select an option\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n Please select an option\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n Please select an option\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n Please select an option\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n Please select an option\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\"","export default \"
\\r\\n\\r\\n

Hypertension

\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n Please select a diagnosis code\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n Please select an option\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n Please select an option\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
ICD-10Prescribed medicineStrengthDosageQuantity per monthNumber of repeats
{{medItem.icd10}}{{medItem.svcCodeDescr}}{{medItem.strength}}{{medItem.dosage}}{{medItem.qtyPerMonth}}{{medItem.numRepeats}}\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n Medicine used is required\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\"","export default \"
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n Please select a diagnosis code\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n This field is required\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n This field is required\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n This field is required\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n This field requires valid data\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n This field requires valid data\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","export default \"
\\r\\n\\r\\n

Patient

\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n Please select a fund to proceed\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n This field is required\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n Please enter a valid date of birth\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n
0\\\">\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n Please select a dependant to proceed\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n This field is required\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\"","export default \"
\\r\\n\\r\\n

Medical Practitioner

\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n This field is required\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n Please select an option\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n This field is required\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n This field is required\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n Please select a referring speciality\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n This field requires valid data (max length: 1000 characters)\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n CLICK OR DROP FILES HERE TO UPLOAD\\r\\n \\r\\n \\r\\n The referral letter is required\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
{{ eachfile.name }}\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\"","export default \"
\\r\\n\\r\\n

Requested Medications

\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
ICD-10Prescribed medicineStrengthDosageQuantity per monthNumber of repeats
{{medItem.icd10}}{{medItem.svcCodeDescr}}{{medItem.strength}}{{medItem.dosage}}{{medItem.qtyPerMonth}}{{medItem.numRepeats}}\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
0\\\">\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n CLICK OR DROP FILES HERE TO UPLOAD\\r\\n \\r\\n \\r\\n Prescription required\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
{{ eachfile.name }}\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\"","export default \"
\\r\\n\\r\\n

Risk Factors

\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
Predisposing Risk Factors
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n Please select an option\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n Please select an option\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n Please select an option\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n Please select an option\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n Valid past date required\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
Pre-existing Complications
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n Please select an option\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n Please select an option\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n Please select an option\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\"","export default \"
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n Chronic Condition Submissions\\r\\n
\\r\\n\\r\\n 0\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Application NoConditionMember NoNameSurnameStatusView
{{item.conditionApplicationNumber}}{{item.conditionDescription}}{{item.membId}}{{item.membFirstName}}{{item.membLastName}}{{item.status}}\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n

No previous chronic condition applications found.

\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

Chronic Condition Submission

\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n Loading...\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

{{this.errorMessageHeading}}

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n {{this.errorMessage}}\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","export default \"
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n Registered Chronic Conditions Biometric Update\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

Medication Item

\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n Loading...\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

{{this._appService.ChronicConditionService.SuccessMessageHeading}}

\\r\\n
\\r\\n
\\r\\n \\r\\n

{{this._appService.ChronicConditionService.SuccessMessage}} {{this._appService.ChronicConditionService.SuccessMessageBoldPart}}

\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

{{this._appService.ChronicConditionService.ErrorMessageHeading}}

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n {{this._appService.ChronicConditionService.ErrorMessage}}\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

{{this._appService.ChronicConditionService.ErrorArrayHeading}}

\\r\\n
\\r\\n
\\r\\n\\r\\n {{this._appService.ChronicConditionService.ErrorArrayMessage}}\\r\\n\\r\\n
\\r\\n

 {{ item }}

\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

Confirm action

\\r\\n
\\r\\n
\\r\\n \\r\\n

\\r\\n You have an unsubmitted new chronic condition application. If you proceed to a chronic condition update\\r\\n we will keep the member on the form but all other data will be lost.

\\r\\n Do you want to proceed?\\r\\n

\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\"","export default \"
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Enter Auth Details\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Practice Number: {{this._appService.LoginService.CurrentLoggedInUser.provID}}\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Searching Auths...\\r\\n \\r\\n \\r\\n Searching Auths...\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Need help..\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Searching Auths...\\r\\n \\r\\n \\r\\n Searching Auths...\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Searching Auths...\\r\\n \\r\\n \\r\\n Searching Auths...\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n WARNING!!!\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

\\r\\n
\\r\\n
\\r\\n {{line}}\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Member NumberDependent CodePlanMember NameService DateReferenceAuth NumberAuthorized AmountDESC
{{auth.memberNo}}{{auth.dependentCode}}{{auth.plan}}{{auth.memberName}}{{auth.serviceDate | date:'yyyy-MM-dd'}}{{auth.reff}}{{auth.authNo}}{{auth.authorizedAmount}}{{auth.descr}}
{{this._appService.AuthorizationService.AllAuths.length}} Auths Found
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

The Following Is Required:

\\r\\n
\\r\\n
\\r\\n
    \\r\\n
  • {{Requirement}}
  • \\r\\n
\\r\\n

Make sure details are provided before a auth can be searched.

\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

No Auth(s) Found!!

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n Search Returned with {{this._appService.AuthorizationService.AllAuths.length}} Auths.\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

Select Format To Download

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n

Opening File

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n Loading...\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n Please be patient while your remittance information is being gathered...\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","export default \"
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Enter Claim Details\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Practice Number: {{this._appService.LoginService.CurrentLoggedInUser.provID}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Searching Claims...\\r\\n \\r\\n \\r\\n Searching Claims...\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Need help..\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n Download remittance to view rejection codes\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{this._appService.SecurityService.familyName}} - {{this._appService.SecurityService.familyNo}}\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Dependant CodeMember NamePlanReceive DateService DateCharged AmountPaid AmountStatusDate PaidPaid ToDownloadInformation
{{claim.dependent}}{{claim.memberFirstName}}{{claim.opt}}{{claim.receivedDate}}{{claim.serviceDate}}{{claim.charged}}{{claim.paid}}{{claim.status}}{{claim.datePaid}}{{claim.paidTo}}\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Third Party Payment\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
{{this._appService.SecurityService.RecievedHistoryClaims.length}} Claims Found
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Dependant CodeMember NamePlanReceive DateService DateCharged AmountPaid AmountStatusDate PaidPaid ToDownloadInformation
{{claim.dependent}}{{claim.memberFirstName}}{{claim.opt}}{{claim.receivedDate}}{{claim.serviceDate }}{{claim.charged}}{{claim.paid}}{{claim.status}}{{claim.datePaid }}{{claim.paidTo}}\\r\\n \\r\\n \\r\\n \\r\\n
{{this._appService.SecurityService.RecievedClaims.length}} Claims Found
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
Dependant CodeMember NamePlanReceive DateFrom Service DateTo Service DateCharged AmountPaid AmountStatusDate PaidPaid ToReverse ClaimDownloadInformation
{{claim.dependent}}{{claim.memberFirstName}}{{claim.opt}}{{claim.receivedDate}}{{claim.serviceDate}}{{claim.serviceDateTo}}{{claim.charged}}{{claim.paid}}{{claim.status}}{{claim.datePaid }}{{claim.paidTo}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

Search Failed

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n This practice number is not linked to your bureau, use the practices tab to recon your provider list.\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

No Claim(s) Found!!

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n Search Returned with {{this._appService.SecurityService.RecievedClaims.length}} Claims.\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

The Following Is Required:

\\r\\n
\\r\\n
\\r\\n
    \\r\\n
  • {{Requirement}}
  • \\r\\n
\\r\\n

Make sure details are provided before a claim can be searched.

\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

Select Format To Download

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

Opening File

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n Loading...\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n Please be patient while your remittance information is being gathered...\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

Are You Sure You Want To Reverse The Following Claim?

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Member Number :\\r\\n
\\r\\n
\\r\\n {{this._appService.SecurityService.ClaimModal.memberNumber}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Claim Number :\\r\\n
\\r\\n
\\r\\n {{this._appService.SecurityService.ClaimModal.claimNumber}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Health Plan:\\r\\n
\\r\\n
\\r\\n {{this._appService.SecurityService.ClaimModal.healthPlan}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Service Date:\\r\\n
\\r\\n
\\r\\n {{this._appService.SecurityService.ClaimModal.serviceDate}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Received Date:\\r\\n
\\r\\n
\\r\\n {{this._appService.SecurityService.ClaimModal.recievedDate}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Charged Amount:\\r\\n
\\r\\n
\\r\\n {{this._appService.SecurityService.ClaimModal.chargedAmount}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Date Paid:\\r\\n
\\r\\n
\\r\\n {{this._appService.SecurityService.ClaimModal.paidDate}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Paid Amount:\\r\\n
\\r\\n
\\r\\n {{this._appService.SecurityService.ClaimModal.paidAmount}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

PAMC-Portal Has Stopped Working

\\r\\n
\\r\\n
\\r\\n

A problem has caused the program to stop working correctly.

\\r\\n

\\r\\n For assistance on this matter contact our network department\\r\\n on\\r\\n network@dentalrisk.com or phone on 012 - 741 5101\\r\\n

\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n Loading...\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n WARNING!!!\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

\\r\\n
\\r\\n
\\r\\n {{line}}\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n

An Error Occurred

\\r\\n
\\r\\n

The Server is currently to busy to handle your remittance request, if this problem persists, please try again after 15h00 in the afternoon.

\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\"","export default \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n

Claim Details: {{this._appService.SecurityService.SelectedClaim.claimNo}}

\\r\\n \\r\\n
\\r\\n
\\r\\n

(click the info button to view rejection reason(s))

\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n Proccode\\r\\n From date\\r\\n Billed\\r\\n Net\\r\\n Qty\\r\\n Diagcode\\r\\n Rejections\\r\\n\\r\\n \\r\\n {{detail.proccode}}\\r\\n {{detail.fromdatesvc | date}}\\r\\n {{detail.billed}}\\r\\n {{detail.net}}\\r\\n {{detail.qty}}\\r\\n {{detail.diagcode}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
    \\r\\n
  • {{detail.comments}}
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n

An Error Occurred

\\r\\n
\\r\\n

The Server is currently to busy to handle your remittance request, if this problem persists, please try again after 15h00 in the afternoon.

\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\"","export default \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Operational Manuals:

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{this.GetPreviousYear()}} Operational Manuals

\\r\\n \\r\\n
\\r\\n
\\r\\n

{{this.GetCurrYear()}} Operational Manuals

\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Provider Guides:

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{this.GetPreviousYear()}} Provider Guides

\\r\\n \\r\\n
\\r\\n
\\r\\n

{{this.GetCurrYear()}} Provider Guides

\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","export default \"\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n

\\r\\n \\r\\n Loading...\\r\\n \\r\\n \\r\\n Processing...\\r\\n .\\r\\n

\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n Treating Practice
\\r\\n Practice ID: {{this._appService.SecurityService.SelectedClaim.practice}}
\\r\\n Name: {{this._appService.SecurityService.SelectedClaim.provname}}
\\r\\n Specialty : {{this._appService.SecurityService.refProviderInfo.provspec}} - {{this._appService.SecurityService.refProviderInfo.provdesc}}
\\r\\n Provider Account/Ref Number: {{this._appService.SecurityService.SelectedClaim.accountNo}}

\\r\\n \\r\\n Referring Practice
\\r\\n Practice ID: {{this._appService.SecurityService.refProviderInfo.refProvId}}
\\r\\n Name: {{this._appService.SecurityService.refProviderInfo.refProfName}}
\\r\\n Specialty : {{this._appService.SecurityService.refProviderInfo.specCode}} - {{this._appService.SecurityService.refProviderInfo.desc}}

\\r\\n\\r\\n Payment to {{this._appService.SecurityService.vendorInfo.vendorTypeDescr}}
\\r\\n Practice ID: {{this._appService.SecurityService.vendorInfo.vendorId}}
\\r\\n Name: {{this._appService.SecurityService.vendorInfo.vendorName}}
\\r\\n Specialty: {{this._appService.SecurityService.vendorInfo.specCode}} - {{this._appService.SecurityService.vendorInfo.specCodeDescr}}
\\r\\n
\\r\\n\\r\\n
\\r\\n Member
\\r\\n Name:   {{this._appService.SecurityService.SelectedClaim.memberName}}
\\r\\n GP Visits Year to date:   {{this._appService.SecurityService.visitCounts | number: '.0' }}

\\r\\n\\r\\n Other
\\r\\n Claim Receive Date : {{this._appService.SecurityService.SelectedClaim.receivedDate}}
\\r\\n Auth Number:   {{this._appService.SecurityService.authNo }}

\\r\\n\\r\\n
\\r\\n Claim Reversal Info
\\r\\n Original Claim No: {{this._appService.SecurityService.refProviderInfo.claimOriginal}}
\\r\\n Reverse Date : {{this._appService.SecurityService.refProviderInfo.reversedate}}
\\r\\n Reverse Claim No: {{this._appService.SecurityService.refProviderInfo.claimreverse}}

\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Claim Amount Details\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n No editing available - Claim adjudication in process.\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n No editing available - Claim already batched for payment.\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n SERVICE START DATE\\r\\n SERVICE END DATE\\r\\n \\r\\n SERVICE CODE\\r\\n CHARGED\\r\\n COPAY\\r\\n REJECTED AMOUNT\\r\\n ABOVE SCHEME RATE\\r\\n APPROVED AMOUNT\\r\\n ICD10 CODE\\r\\n REASON CODE\\r\\n \\r\\n TOOTH NO.\\r\\n ...\\r\\n\\r\\n \\r\\n {{paidinfo.fromDate}}\\r\\n {{paidinfo.tooDate}}\\r\\n \\r\\n {{paidinfo.srvCode}}\\r\\n \\r\\n \\r\\n {{paidinfo.srvCodeDesc}}\\r\\n \\r\\n \\r\\n R {{paidinfo.billed}}\\r\\n R {{paidinfo.coPay}}\\r\\n R {{paidinfo.adjust}}\\r\\n R {{paidinfo.tarrif}}\\r\\n R {{paidinfo.net}}\\r\\n {{paidinfo.diagcode}}\\r\\n \\r\\n \\r\\n {{paidinfo.diagdesc}}\\r\\n \\r\\n \\r\\n {{paidinfo.adjCode}}\\r\\n \\r\\n {{paidinfo.clinicalCodes}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n ICD10 Codes\\r\\n \\r\\n \\r\\n CODE\\r\\n DESCRIPTION\\r\\n\\r\\n There are no ICD10 codes for this Claim!\\r\\n\\r\\n \\r\\n {{code.code}}\\r\\n {{code.desc}}\\r\\n \\r\\n {{this._appService.SecurityService.diacodes.length}} ICD10 Codes\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Reason Codes\\r\\n \\r\\n \\r\\n CODE\\r\\n DESCRIPTION\\r\\n\\r\\n There are no reason codes for this claim.\\r\\n\\r\\n \\r\\n {{reason.adjCode2}}\\r\\n {{reason.comments}}\\r\\n \\r\\n\\r\\n {{this._appService.SecurityService.AdjustInfo.length}} Adjustment Reasons\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\"","export default \"
\\r\\n
\\r\\n
\\r\\n

\\r\\n Welcome to our\\r\\n

\\r\\n PORTAL\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Forgot password?\\r\\n
\\r\\n Invalid username or password\\r\\n
\\r\\n
\\r\\n Web Service Is Currently Unavailable.\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Loading...\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n  {{this._appService.LoginService.server}}\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n

Account recovery

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Loading...\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n

Account recovery

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

\\r\\n For assistance on this matter contact our network department on\\r\\n network@dentalrisk.com or phone on 012 - 741 5101\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n

Account recovery

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n

Account recovery

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n

\\r\\n \\r\\n Loading...\\r\\n \\r\\n \\r\\n Loading...\\r\\n \\r\\n

\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

Update Failed

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n {{ this._appService.LoginService.UpdateError}}. For assistance on this matter contact our network department on\\r\\n network@dentalrisk.com or phone on 012 - 741 5101\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

Successfully Update

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n Your password has been successfully updated!\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

Successfully Update

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n Your password has been successfully updated!\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","export default \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n

Claim Details: {{this._appService.SecurityService.SelectedClaim.claimNo}}

\\r\\n \\r\\n
\\r\\n
\\r\\n

(click the info button to view rejection reason(s))

\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n Proccode\\r\\n From date\\r\\n Billed\\r\\n Net\\r\\n Qty\\r\\n Diagcode\\r\\n Rejections\\r\\n\\r\\n \\r\\n {{detail.proccode}}\\r\\n {{detail.fromdatesvc | date}}\\r\\n {{detail.billed}}\\r\\n {{detail.net}}\\r\\n {{detail.qty}}\\r\\n {{detail.diagcode}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
    \\r\\n
  • {{detail.comments}}
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n

\\r\\n
\\r\\n

\\r\\n \\r\\n Loading...\\r\\n \\r\\n \\r\\n Processing...\\r\\n .\\r\\n

\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n

An Error Occurred

\\r\\n
\\r\\n

The Server is currently to busy to handle your remittance request, if this problem persists, please try again after 15h00 in the afternoon.

\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\"","export default \"
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Enter Claim Details\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Practice Number: {{this._appService.LoginService.CurrentLoggedInUser.provID}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Searching Claims...\\r\\n \\r\\n \\r\\n Searching Claims...\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Need help..\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n Download remittance to view rejection codes\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n {{this._appService.MemberClaimService.familyName}} - {{this._appService.MemberClaimService.familyNo}}\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n
Practice NameDependant CodeMember NamePlanReceive DateFrom Service DateTo Service DateCharged AmountPaid AmountStatusDate PaidPaid ToReverse ClaimDownloadInformation
{{claim.provname}}{{claim.dependent}}{{claim.memberFirstName}}{{claim.opt}}{{claim.receivedDate}}{{claim.serviceDate}}{{claim.serviceDateTo}}{{claim.charged}}{{claim.paid}}{{claim.status}}{{claim.datePaid}}{{claim.paidTo}}\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

No Claim(s) Found!!

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n Search Returned with {{this._appService.MemberClaimService.RecievedClaims.length}} Claims.\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

The Following Is Required:

\\r\\n
\\r\\n
\\r\\n
    \\r\\n
  • {{Requirement}}
  • \\r\\n
\\r\\n

Make sure details are provided before a claim can be searched.

\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

Opening File

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n Loading...\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n Please be patient while your remittance information is being gathered...\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

Are You Sure You Want To Reverse The Following Claim?

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Member Number :\\r\\n
\\r\\n
\\r\\n {{this._appService.SecurityService.ClaimModal.memberNumber}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Claim Number :\\r\\n
\\r\\n
\\r\\n {{this._appService.SecurityService.ClaimModal.claimNumber}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Health Plan:\\r\\n
\\r\\n
\\r\\n {{this._appService.SecurityService.ClaimModal.healthPlan}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Service Date:\\r\\n
\\r\\n
\\r\\n {{this._appService.SecurityService.ClaimModal.serviceDate}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Received Date:\\r\\n
\\r\\n
\\r\\n {{this._appService.SecurityService.ClaimModal.recievedDate}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Charged Amount:\\r\\n
\\r\\n
\\r\\n {{this._appService.SecurityService.ClaimModal.chargedAmount}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Date Paid:\\r\\n
\\r\\n
\\r\\n {{this._appService.SecurityService.ClaimModal.paidDate}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Paid Amount:\\r\\n
\\r\\n
\\r\\n {{this._appService.SecurityService.ClaimModal.paidAmount}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n Loading...\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n Loading...\\r\\n \\r\\n
\\r\\n
\\r\\n\"","export default \"
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Enter Member's Credentials\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n Practice Number: {{this._appService.LoginService.CurrentLoggedInUser.provID}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n Please take note that a member eligibility check is not needed to confirm a voucher for any of our voucher partners. Click on the Vouchers tab to get started.\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Validating Credentials...\\r\\n \\r\\n \\r\\n Validating Credentials...\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n   ?   Need help..\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Validating Credentials...\\r\\n \\r\\n \\r\\n Validating Credentials...\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Need help..\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n

Membership Info

\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
FAMILY MEMBER NUMBERDEPENDANTLAST NAMEFIRST NAMEDATE OF BIRTHOPTIONACTIVE DATETERMINATION DATERELATION DESCRIPTIONMEMBER STATUSWAIT PERIODSGP CONSULTATIONS
{{member.subssn.substring(1, member.subssn.length)}} {{member.dependant}}{{member.lastnm}}{{member.firstnm}}{{member.birth | date:'yyyy/MM/dd'}}{{member.opt}}{{member.opfromdt | date:'yyyy/MM/dd'}}{{member.opthrudt}}{{member.relation}}{{member.memberStatus}}N/A 0\\\">\\r\\n \\r\\n {{member.consultations}}
{{this._appService.MembershipService.AllMembers.length}} Members Found
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n

Chronic Condition Submissions

\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Application NoConditionMember NoNameSurnameStatusView
{{item.conditionApplicationNumber}}{{item.conditionDescription}}{{item.membId}}{{item.membFirstName}}{{item.membLastName}}{{item.status}}\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

The Following Is Required:

\\r\\n
\\r\\n
\\r\\n
    \\r\\n
  • {{Requirement}}
  • \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

No Member Found!!

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n Search Returned with {{this._appService.MembershipService.AllMembers.length}} Members.\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n WARNING!!!\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

\\r\\n
\\r\\n
\\r\\n {{line}}\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n

Benifit Search History

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n

Benefit Search History

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n

Member Wait Period(s)

\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
DependantDescriptionStart DateEnd Date
{{item.dependant}}{{item.description}}{{item.fromDate}}{{item.toDate}}
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n

\\r\\n \\r\\n Loading...\\r\\n \\r\\n

\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n

{{this._appService.LoginService.popupList[this._appService.LoginService.currPopMsg].heading}}

\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{this._appService.LoginService.popupList[this._appService.LoginService.currPopMsg].body}}

\\r\\n
\\r\\n
\\r\\n \\r\\n Document:\\r\\n \\r\\n \\r\\n {{this._appService.LoginService.popupList[this._appService.LoginService.currPopMsg].filename}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n {{this._appService.LoginService.popupList[this._appService.LoginService.currPopMsg].body}}
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n Loading...\\r\\n \\r\\n \\r\\n Please wait while the image is loading...\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n

{{this._appService.LoginService.popupList[this._appService.LoginService.currPopMsg].heading}}

\\r\\n
\\r\\n
\\r\\n
\\r\\n {{this._appService.LoginService.popupList[this._appService.LoginService.currPopMsg].body}}\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n Loading...\\r\\n \\r\\n \\r\\n Please wait while the image is loading...\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n

{{this._appService.LoginService.popupList[this._appService.LoginService.currPopMsg].heading}}

\\r\\n
\\r\\n
\\r\\n
\\r\\n {{this._appService.LoginService.popupList[this._appService.LoginService.currPopMsg].body}}\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Loading...\\r\\n \\r\\n \\r\\n Please wait while the image is loading...\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n

\\r\\n \\r\\n Loading...\\r\\n \\r\\n

\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

Chronic Condition Submission

\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","export default \"
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Enter Claim Details\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Practice Number: {{this._appService.LoginService.CurrentLoggedInUser.provID}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Searching Claims...\\r\\n \\r\\n \\r\\n Searching Claims...\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Need help..\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Searching Claims...\\r\\n \\r\\n \\r\\n Searching Claims...\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Need help..\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Searching Claims...\\r\\n \\r\\n \\r\\n Searching Claims...\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Need help..\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n Download remittance to view rejection codes\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{this._appService.SecurityService.familyName}} - {{this._appService.SecurityService.familyNo}}\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Dependant CodeMember NamePlanReceive DateService DateCharged AmountPaid AmountStatusDate PaidPaid ToDownloadInformation
{{claim.dependent}}{{claim.memberFirstName}}{{claim.opt}}{{claim.receivedDate}}{{claim.serviceDate}}{{claim.charged}}{{claim.paid}}{{claim.status}}{{claim.datePaid}}{{claim.paidTo}}\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Third Party Payment\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
{{this._appService.SecurityService.RecievedClaims.length}} Claims Found
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Dependant CodeMember NamePlanReceive DateService DateCharged AmountPaid AmountStatusDate PaidPaid ToDownloadInformation
{{claim.dependent}}{{claim.memberFirstName}}{{claim.opt}}{{claim.receivedDate}}{{claim.serviceDate }}{{claim.charged}}{{claim.paid}}{{claim.status}}{{claim.datePaid }}{{claim.paidTo}}\\r\\n \\r\\n \\r\\n \\r\\n
{{this._appService.SecurityService.RecievedClaims.length}} Claims Found
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
Dependant CodeMember NamePlanReceive DateFrom Service DateTo Service DateCharged AmountPaid AmountStatusDate PaidPaid ToReverse ClaimDownloadInformation
{{claim.dependent}}{{claim.memberFirstName}}{{claim.opt}}{{claim.receivedDate}}{{claim.serviceDate}}{{claim.serviceDateTo}}{{claim.charged}}{{claim.paid}}{{claim.status}}{{claim.datePaid }}{{claim.paidTo}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

Search Failed

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n This practice number is not linked to your bureau, use the practices tab to recon your provider list.\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

No Claim(s) Found!!

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n Search Returned with {{this._appService.SecurityService.RecievedClaims.length}} Claims.\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

The Following Is Required:

\\r\\n
\\r\\n
\\r\\n
    \\r\\n
  • {{Requirement}}
  • \\r\\n
\\r\\n

Make sure details are provided before a claim can be searched.

\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

Select Format To Download

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

Generating File

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n Loading...\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n Please be patient while your remittance information is being gathered...\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

Fetching Claim Details

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n Loading...\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n Please be patient while the claim details are being gathered...\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

Are You Sure You Want To Reverse The Following Claim?

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Member Number :\\r\\n
\\r\\n
\\r\\n {{this._appService.SecurityService.ClaimModal.memberNumber}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Claim Number :\\r\\n
\\r\\n
\\r\\n {{this._appService.SecurityService.ClaimModal.claimNumber}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Health Plan:\\r\\n
\\r\\n
\\r\\n {{this._appService.SecurityService.ClaimModal.healthPlan}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Service Date:\\r\\n
\\r\\n
\\r\\n {{this._appService.SecurityService.ClaimModal.serviceDate}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Received Date:\\r\\n
\\r\\n
\\r\\n {{this._appService.SecurityService.ClaimModal.recievedDate}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Charged Amount:\\r\\n
\\r\\n
\\r\\n {{this._appService.SecurityService.ClaimModal.chargedAmount}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Date Paid:\\r\\n
\\r\\n
\\r\\n {{this._appService.SecurityService.ClaimModal.paidDate}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Paid Amount:\\r\\n
\\r\\n
\\r\\n {{this._appService.SecurityService.ClaimModal.paidAmount}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

PAMC-Portal Has Stopped Working

\\r\\n
\\r\\n
\\r\\n

A problem has caused the program to stop working correctly.

\\r\\n

\\r\\n For assistance on this matter contact our network department\\r\\n on\\r\\n network@dentalrisk.com or phone on 012 - 741 5101\\r\\n

\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n Loading...\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n WARNING!!!\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

\\r\\n
\\r\\n
\\r\\n {{line}}\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n

An Error Occurred

\\r\\n
\\r\\n

The Server is currently to busy to handle your remittance request, if this problem persists, please try again after 15h00 in the afternoon.

\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\"","export default \"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n Please State a Reason For Rejecting the Claim\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n   \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\"","export default \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n   Please help us improve your user experience on the site by doing an online survey.\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n

\\r\\n ⓘ We use cookies to optimise the user experience.
\\r\\n Tell me more\\r\\n      Dismiss\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{this._appService.SettingService._headerInfo}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
= 768\\\">\\r\\n\\r\\n \\r\\n \\r\\n Eligibility ⯆\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n Click on this tab to navigate to the member eligibility screen to do a member validation check.\\r\\n \\r\\n \\r\\n Membership\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Click on this tab to navigate to the benefit confirmation screen where benefits of a member can be confirmed.\\r\\n \\r\\n \\r\\n Benefit Confirmation\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n Submissions ⯆\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n Click on this tab to navigate to the provider Claims screen,\\r\\n where you can search for claims already paid and in process to be paid.\\r\\n \\r\\n \\r\\n View Claims\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n Click on this tab to navigate to the authorisation screen, where you can search for authorisations.\\r\\n\\r\\n \\r\\n \\r\\n View Auths\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Click on this tab to navigate to the authorisation submission screen, where you can submit your authorisations.\\r\\n\\r\\n \\r\\n \\r\\n Upload Auths\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Click on this tab to navigate to the remittance screen, where you can download your remittances.\\r\\n\\r\\n \\r\\n \\r\\n Remittances\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Click on this tab to navigate to the History Claims screen,\\r\\n where you can search for all claims already paid and in process to be paid for a specific health plan.\\r\\n \\r\\n \\r\\n View History Of All Claims\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Click on this tab to navigate to the Chronic Conditions screen.\\r\\n \\r\\n \\r\\n Chronic Conditions\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n Click on this tab to navigate to redeem a voucher.\\r\\n Vouchers\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n Information ⯆\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n Click on this tab to navigate to the contact page which contains either DRC or PAMC contact details or both.\\r\\n \\r\\n \\r\\n Contact Us\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n Click on this tab to navigate to the downloads page which contains our provider guides.\\r\\n \\r\\n \\r\\n Provider Guides\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n Click on this tab to navigate to the Frequently Asked Questions page.\\r\\n \\r\\n \\r\\n FAQ\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Membership\\r\\n \\r\\n Click on this tab to navigate to the member eligibility screen to do a member validation check.\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n Click on this tab to navigate to the member benefit confirmation screen to do a benefit confirmation on a member.\\r\\n\\r\\n \\r\\n Benefit Confirmation\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n Click on this tab to navigate to the claims search screen, where you can search for claims that was paid to you or is going to be paid.\\r\\n\\r\\n \\r\\n View Claims\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n Click on this tab to search for authorisations.\\r\\n\\r\\n \\r\\n View Auths\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n Click on this tab to navigate to the authorisation upload screen, where you can upload and submit your quotation/x-rays/documentation.\\r\\n\\r\\n \\r\\n Upload Auths\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n Click on this tab to see all your remittances.\\r\\n\\r\\n \\r\\n Remittances\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n Click on this tab to navigate to the History Claims screen,\\r\\n where you can search for all claims already paid and in process to be paid for a specific health plan.\\r\\n \\r\\n\\r\\n \\r\\n View History Of All Claims\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n Click here to redeem a voucher.\\r\\n \\r\\n\\r\\n \\r\\n Vouchers\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n Click on this tab to navigate to the contact page which contains either DRC or PAMC contact details or both.\\r\\n \\r\\n\\r\\n \\r\\n Contact Us\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n Click on this tab to navigate to the downloads page which contains our provider guides.\\r\\n \\r\\n\\r\\n \\r\\n Provider Guides\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n Click on this tab to navigate to the Frequently Asked Questions page.\\r\\n \\r\\n\\r\\n \\r\\n FAQ\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n
= 768\\\">\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n Reports\\r\\n Click on this tab to navigate to the report screen, where you can view and download reports based on your current paid and unpaind claims.\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n Membership\\r\\n Click on this tab to navigate to the member eligibility screen to do a member validation check.\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n Claims ⯆\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n Provider Claims\\r\\n \\r\\n Click on this tab to navigate to the Provider Claims screen, where you can search for claims that was paid to a provider or is going to be paid.\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n Member Claims\\r\\n\\r\\n \\r\\n Click on this tab to navigate to the Member Claims screen, where you can search for claims that was paid to a member or is going to be paid.\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n Claim Capture\\r\\n\\r\\n \\r\\n Click on this tab to navigate to the Claim Capture search screen, where you can capture and submit claims.\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n Click on this tab to navigate to the checkrun screen, where you can create and submit new checkruns or work on old ones.\\r\\n\\r\\n CheckRun\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n Setup Auths Sets\\r\\n Click on this tab to navigate to the Benefit/Specialties Setup screen, where you can setup and submit your Benefit/Specialties.\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Authorisations\\r\\n \\r\\n Click on this tab to navigate to the Authorisations screen, where you can submit a new Authorisation.\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n Prov LookUp\\r\\n Click on this tab to navigate to the provider lookup screen, where you can lookup providers in your network.\\r\\n \\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n Information\\r\\n \\r\\n Click here to navigate to the about page which contains DRC and PAMC contact details.\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n Click on this tab to navigate to the report screen, where you can view and download reports based on your current paid and unpaind claims.\\r\\n\\r\\n Reports\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Click on this tab to navigate to the member eligibility screen to do a member validation check.\\r\\n Membership\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Click on this tab to navigate to the claims search screen, where you can search for claims that was paid to a provider or is going to be paid.\\r\\n\\r\\n Provider Claims\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Click on this tab to navigate to the claims search screen, where you can search for claims that was paid to a member or is going to be paid.\\r\\n\\r\\n Member Claims\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n Click on this tab to navigate to the claims capture search screen, where you can capture and submit claims.\\r\\n\\r\\n Claim Capture\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n Click on this tab to navigate to the checkrun screen, where you can create and submit new checkruns or work on old ones.\\r\\n CheckRun\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Click on this tab to navigate to the Benefit/Specialties Setup screen, where you can setup and submit your Benefit/Specialties.\\r\\n\\r\\n Setup Auths Sets\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Click on this tab to navigate to the Authorisations screen, where you can submit a new Authorisation.\\r\\n\\r\\n \\r\\n Authorisations\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n Click on this tab to navigate to the provider lookup screen, where you can lookup provider in your network.\\r\\n\\r\\n Prov LookUp\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Click here to navigate to the about page which contains DRC and PAMC contact details.\\r\\n\\r\\n Information\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n Log Out\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Change Password\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n

\\r\\n ⓘ We use cookies to optimise the user experience.
\\r\\n Tell me more\\r\\n      Dismiss\\r\\n

\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

PAMC-Portal Has Stopped Working

\\r\\n
\\r\\n
\\r\\n

A problem has caused the program to stop working correctly.

\\r\\n

\\r\\n For assistance on this matter contact our network department\\r\\n on\\r\\n network@dentalrisk.com or phone on 012 - 741 5101\\r\\n

\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n

Frequently Asked Questions

\\r\\n
\\r\\n \\r\\n \\r\\n {{q.question}}\\r\\n {{q.answer}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

Password Change

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{this._appService.SecurityService.OldPasswordErrorMsg}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{this._appService.SecurityService.NewPasswordErrorMsg}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{this._appService.SecurityService.ConfirmPasswordErrorMsg}}\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Confirmation Message

\\r\\n
\\r\\n
\\r\\n

{{this._appService.LoginService.PasswordUpdateMsg}}

\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n

Cookie Policy

\\r\\n
\\r\\n\\r\\n
\\r\\n

\\r\\n We may place small text files on your device when you visit our Provider/Client portal\\r\\n that allow us to provide you with a personalised experience by associating your\\r\\n personal information with your device. They let us remember your preferences,\\r\\n allow third parties to provide services to you, and otherwise serve useful\\r\\n purposes for you. Your internet browser generally accepts them automatically,\\r\\n but you can often change this setting or delete them manually. However, we won't\\r\\n be able to provide you with access to certain aspects of our Provider/Client portal\\r\\n where cookies are necessary if you do so. We have no access to or control\\r\\n over any cookies that our business partners use on our Provider/Client portal\\r\\n and they have their own privacy polices that govern them.\\r\\n

\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\"","function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"./src/$$_lazy_route_resource lazy recursive\";","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL0NvbXBvbmVudHMvYWRtaW5pc3RhdG9ycy9jbGFpbS1jYXB0dXJlLW1haW4vY2xhaW0tY2FwdHVyZS1tYWluLmNvbXBvbmVudC5jc3MifQ== */\"","import { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-claim-capture-main',\r\n templateUrl: './claim-capture-main.component.html',\r\n styleUrls: ['./claim-capture-main.component.css']\r\n})\r\nexport class ClaimCaptureMainComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL0NvbXBvbmVudHMvYWRtaW5pc3RhdG9ycy9jbGFpbS1jYXB0dXJlLW1haW4vY2xhaW0tY2FwdHVyZS1uZXcvY2xhaW0tY2FwdHVyZS1uZXcuY29tcG9uZW50LmNzcyJ9 */\"","import { Component, OnInit } from '@angular/core';\r\nimport { AppService } from './../../../../services/app.service';\r\n\r\n@Component({\r\n selector: 'app-claim-capture-new',\r\n templateUrl: './claim-capture-new.component.html',\r\n styleUrls: ['./claim-capture-new.component.css']\r\n})\r\nexport class ClaimCaptureNewComponent implements OnInit {\r\n\r\n constructor(private _appService: AppService) { }\r\n\r\n ngOnInit() {\r\n\r\n this._appService.ClaimCaptureService.LoadClaimCaptureSetup();\r\n\r\n }\r\n\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL0NvbXBvbmVudHMvYWRtaW5pc3RhdG9ycy9jbGFpbS1jYXB0dXJlLW1haW4vdmlldy1jYXB0dXJlZC1jbGFpbXMvdmlldy1jYXB0dXJlZC1jbGFpbXMuY29tcG9uZW50LmNzcyJ9 */\"","import { Component, OnInit } from '@angular/core';\r\nimport { AppService } from './../../../../services/app.service';\r\n\r\n@Component({\r\n selector: 'app-view-captured-claims',\r\n templateUrl: './view-captured-claims.component.html',\r\n styleUrls: ['./view-captured-claims.component.css']\r\n})\r\nexport class ViewCapturedClaimsComponent implements OnInit {\r\n\r\n constructor(private _appService: AppService) { }\r\n\r\n ngOnInit() {\r\n\r\n this._appService.ClaimCaptureService.LoadClaimCaptureSetup(); // Need to load hpcodes for claim search to work\r\n \r\n }\r\n\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL0NvbXBvbmVudHMvY2hyb25pYy1jb25kL2Nocm9uaWMtY29uZC1hcHAvY2hyb25pYy1jb25kLWFwcC5jb21wb25lbnQuY3NzIn0= */\"","import { Component, OnInit } from '@angular/core';\r\nimport { AppService } from '../../../services/app.service';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-chronic-cond-app',\r\n templateUrl: './chronic-cond-app.component.html',\r\n styleUrls: ['./chronic-cond-app.component.css']\r\n})\r\nexport class ChronicCondAppComponent implements OnInit {\r\n\r\n public _proceedPrompt: boolean = false; \r\n\r\n constructor(public _appService: AppService, private router: Router) { }\r\n\r\n ngOnInit() {\r\n\r\n this._appService.ChronicConditionService.loadChronicConditionSetup();\r\n\r\n // Check if the user is coming to application from an update\r\n if (this._appService.ChronicConditionService.CurrentPage == 'ChronicCondUpdate' &&\r\n this._appService.ChronicConditionService.ConditionForm.get('conditionCode').value != null &&\r\n this._appService.ChronicConditionService.ConditionForm.get('conditionCode').value.trim() != '')\r\n {\r\n\r\n this._proceedPrompt = true;\r\n\r\n } else {\r\n\r\n this._appService.ChronicConditionService.CurrentPage = 'ChronicCondApp';\r\n\r\n }\r\n\r\n }\r\n\r\n proceedToApplicationFromUpdate() {\r\n\r\n this._appService.ChronicConditionService.CurrentPage = 'ChronicCondApp';\r\n this._appService.ChronicConditionService.doResets();\r\n this._proceedPrompt = false;\r\n }\r\n\r\n returnToUpdate() {\r\n\r\n this._appService.ChronicConditionService.CurrentPage = 'ChronicCondUpdate';\r\n this.router.navigate(['/chronic-cond-update']);\r\n this._proceedPrompt = false;\r\n }\r\n\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL0NvbXBvbmVudHMvY2hyb25pYy1jb25kL2Nocm9uaWMtY29uZC1kZXRhaWwtdmlldy9jaHJvbmljLWNvbmQtZGV0YWlsLXZpZXcuY29tcG9uZW50LmNzcyJ9 */\"","import { Component, OnInit } from '@angular/core';\r\nimport { AppService } from '../../../services/app.service';\r\n\r\n@Component({\r\n selector: 'app-chronic-cond-detail-view',\r\n templateUrl: './chronic-cond-detail-view.component.html',\r\n styleUrls: ['./chronic-cond-detail-view.component.css']\r\n})\r\nexport class ChronicCondDetailViewComponent implements OnInit {\r\n\r\n constructor(public _appService: AppService) { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL0NvbXBvbmVudHMvY2hyb25pYy1jb25kL2Nocm9uaWMtY29uZC1mb3JtLWNvbXBvbmVudHMvYXN0aG1hLWZvcm0vYXN0aG1hLWZvcm0uY29tcG9uZW50LmNzcyJ9 */\"","import { Component, OnInit } from '@angular/core';\r\nimport { AppService } from '../../../../services/app.service';\r\n\r\n@Component({\r\n selector: 'app-asthma-form',\r\n templateUrl: './asthma-form.component.html',\r\n styleUrls: ['./asthma-form.component.css']\r\n})\r\nexport class AsthmaFormComponent implements OnInit {\r\n\r\n constructor(public _appService: AppService) { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL0NvbXBvbmVudHMvY2hyb25pYy1jb25kL2Nocm9uaWMtY29uZC1mb3JtLWNvbXBvbmVudHMvYmlvbWV0cmljLWZvcm0vYmlvbWV0cmljLWZvcm0uY29tcG9uZW50LmNzcyJ9 */\"","import { Component, OnInit } from '@angular/core';\r\nimport { AppService } from '../../../../services/app.service';\r\n\r\n@Component({\r\n selector: 'app-biometric-form',\r\n templateUrl: './biometric-form.component.html',\r\n styleUrls: ['./biometric-form.component.css']\r\n})\r\nexport class BiometricFormComponent implements OnInit {\r\n\r\n constructor(public _appService: AppService) { }\r\n \r\n ngOnInit() {\r\n this._appService.ValidationService\r\n }\r\n\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL0NvbXBvbmVudHMvY2hyb25pYy1jb25kL2Nocm9uaWMtY29uZC1mb3JtLWNvbXBvbmVudHMvY29tb3JiaWQtZm9ybS9jb21vcmJpZC1mb3JtLmNvbXBvbmVudC5jc3MifQ== */\"","import { Component, OnInit } from '@angular/core';\r\nimport { AppService } from '../../../../services/app.service';\r\n\r\n@Component({\r\n selector: 'app-comorbid-form',\r\n templateUrl: './comorbid-form.component.html',\r\n styleUrls: ['./comorbid-form.component.css']\r\n})\r\nexport class ComorbidFormComponent implements OnInit {\r\n\r\n constructor(public _appService: AppService) { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL0NvbXBvbmVudHMvY2hyb25pYy1jb25kL2Nocm9uaWMtY29uZC1mb3JtLWNvbXBvbmVudHMvY29uZGl0aW9uLWZvcm0vY29uZGl0aW9uLWZvcm0uY29tcG9uZW50LmNzcyJ9 */\"","import { Component, OnInit } from '@angular/core';\r\nimport { AppService } from '../../../../services/app.service';\r\n\r\n@Component({\r\n selector: 'app-condition-form',\r\n templateUrl: './condition-form.component.html',\r\n styleUrls: ['./condition-form.component.css']\r\n})\r\nexport class ConditionFormComponent implements OnInit {\r\n\r\n constructor(public _appService: AppService) { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL0NvbXBvbmVudHMvY2hyb25pYy1jb25kL2Nocm9uaWMtY29uZC1mb3JtLWNvbXBvbmVudHMvZGVjbGFyYXRpb24tZm9ybS9kZWNsYXJhdGlvbi1mb3JtLmNvbXBvbmVudC5jc3MifQ== */\"","import { Component, OnInit } from '@angular/core';\r\nimport { AppService } from '../../../../services/app.service';\r\n\r\n@Component({\r\n selector: 'app-declaration-form',\r\n templateUrl: './declaration-form.component.html',\r\n styleUrls: ['./declaration-form.component.css']\r\n})\r\nexport class DeclarationFormComponent implements OnInit {\r\n\r\n constructor(public _appService: AppService) { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL0NvbXBvbmVudHMvY2hyb25pYy1jb25kL2Nocm9uaWMtY29uZC1mb3JtLWNvbXBvbmVudHMvZGlhYmV0ZXMtZm9ybS9kaWFiZXRlcy1mb3JtLmNvbXBvbmVudC5jc3MifQ== */\"","import { Component, OnInit } from '@angular/core';\r\nimport { AppService } from '../../../../services/app.service';\r\n\r\n@Component({\r\n selector: 'app-diabetes-form',\r\n templateUrl: './diabetes-form.component.html',\r\n styleUrls: ['./diabetes-form.component.css']\r\n})\r\nexport class DiabetesFormComponent implements OnInit {\r\n\r\n constructor(public _appService: AppService) { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL0NvbXBvbmVudHMvY2hyb25pYy1jb25kL2Nocm9uaWMtY29uZC1mb3JtLWNvbXBvbmVudHMvZG9jdW1lbnRzLWZvcm0vZG9jdW1lbnRzLWZvcm0uY29tcG9uZW50LmNzcyJ9 */\"","import { Component, OnInit } from '@angular/core';\r\nimport { AppService } from '../../../../services/app.service';\r\n\r\n@Component({\r\n selector: 'app-documents-form',\r\n templateUrl: './documents-form.component.html',\r\n styleUrls: ['./documents-form.component.css']\r\n})\r\nexport class DocumentsFormComponent implements OnInit {\r\n\r\n constructor(public _appService: AppService) { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL0NvbXBvbmVudHMvY2hyb25pYy1jb25kL2Nocm9uaWMtY29uZC1mb3JtLWNvbXBvbmVudHMvaHlwZXJsaXBpZGFlbWlhLWZvcm0vaHlwZXJsaXBpZGFlbWlhLWZvcm0uY29tcG9uZW50LmNzcyJ9 */\"","import { Component, OnInit } from '@angular/core';\r\nimport { AppService } from '../../../../services/app.service';\r\n\r\n@Component({\r\n selector: 'app-hyperlipidaemia-form',\r\n templateUrl: './hyperlipidaemia-form.component.html',\r\n styleUrls: ['./hyperlipidaemia-form.component.css']\r\n})\r\nexport class HyperlipidaemiaFormComponent implements OnInit {\r\n\r\n constructor(public _appService: AppService) { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL0NvbXBvbmVudHMvY2hyb25pYy1jb25kL2Nocm9uaWMtY29uZC1mb3JtLWNvbXBvbmVudHMvaHlwZXJ0ZW5zaW9uLWZvcm0vaHlwZXJ0ZW5zaW9uLWZvcm0uY29tcG9uZW50LmNzcyJ9 */\"","import { Component, OnInit } from '@angular/core';\r\nimport { AppService } from '../../../../services/app.service';\r\n\r\n@Component({\r\n selector: 'app-hypertension-form',\r\n templateUrl: './hypertension-form.component.html',\r\n styleUrls: ['./hypertension-form.component.css']\r\n})\r\nexport class HypertensionFormComponent implements OnInit {\r\n\r\n constructor(public _appService: AppService) { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL0NvbXBvbmVudHMvY2hyb25pYy1jb25kL2Nocm9uaWMtY29uZC1mb3JtLWNvbXBvbmVudHMvbWVkaWNhdGlvbi1mb3JtL21lZGljYXRpb24tZm9ybS5jb21wb25lbnQuY3NzIn0= */\"","import { Component, OnInit } from '@angular/core';\r\nimport { AppService } from '../../../../services/app.service';\r\n\r\n@Component({\r\n selector: 'app-medication-form',\r\n templateUrl: './medication-form.component.html',\r\n styleUrls: ['./medication-form.component.css']\r\n})\r\nexport class MedicationFormComponent implements OnInit {\r\n\r\n constructor(public _appService: AppService) { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL0NvbXBvbmVudHMvY2hyb25pYy1jb25kL2Nocm9uaWMtY29uZC1mb3JtLWNvbXBvbmVudHMvbWVtYmVyLWZvcm0vbWVtYmVyLWZvcm0uY29tcG9uZW50LmNzcyJ9 */\"","import { Component, OnInit } from '@angular/core';\r\nimport { AppService } from '../../../../services/app.service';\r\n\r\n@Component({\r\n selector: 'app-member-form',\r\n templateUrl: './member-form.component.html',\r\n styleUrls: ['./member-form.component.css']\r\n})\r\nexport class MemberFormComponent implements OnInit {\r\n\r\n constructor(public _appService: AppService) { }\r\n\r\n ngOnInit() {\r\n this._appService.ChronicConditionService.GetHpContractsForSchemeDropdown();\r\n }\r\n\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL0NvbXBvbmVudHMvY2hyb25pYy1jb25kL2Nocm9uaWMtY29uZC1mb3JtLWNvbXBvbmVudHMvcHJvdmlkZXItZm9ybS9wcm92aWRlci1mb3JtLmNvbXBvbmVudC5jc3MifQ== */\"","import { Component, OnInit } from '@angular/core';\r\nimport { AppService } from '../../../../services/app.service';\r\n\r\n@Component({\r\n selector: 'app-provider-form',\r\n templateUrl: './provider-form.component.html',\r\n styleUrls: ['./provider-form.component.css']\r\n})\r\nexport class ProviderFormComponent implements OnInit {\r\n\r\n constructor(public _appService: AppService) { }\r\n\r\n ngOnInit() {\r\n this._appService.ChronicConditionService.SetProviderFormInfo();\r\n }\r\n\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL0NvbXBvbmVudHMvY2hyb25pYy1jb25kL2Nocm9uaWMtY29uZC1mb3JtLWNvbXBvbmVudHMvcmVxdWVzdGVkLW1lZGljYXRpb24tZm9ybS9yZXF1ZXN0ZWQtbWVkaWNhdGlvbi1mb3JtLmNvbXBvbmVudC5jc3MifQ== */\"","import { Component, OnInit } from '@angular/core';\r\nimport { AppService } from '../../../../services/app.service';\r\n\r\n@Component({\r\n selector: 'app-requested-medication-form',\r\n templateUrl: './requested-medication-form.component.html',\r\n styleUrls: ['./requested-medication-form.component.css']\r\n})\r\nexport class RequestedMedicationFormComponent implements OnInit {\r\n\r\n constructor(public _appService: AppService) { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL0NvbXBvbmVudHMvY2hyb25pYy1jb25kL2Nocm9uaWMtY29uZC1mb3JtLWNvbXBvbmVudHMvcmlzay1mYWN0b3JzLWZvcm0vcmlzay1mYWN0b3JzLWZvcm0uY29tcG9uZW50LmNzcyJ9 */\"","import { Component, OnInit } from '@angular/core';\r\nimport { AppService } from '../../../../services/app.service';\r\n\r\n@Component({\r\n selector: 'app-risk-factors-form',\r\n templateUrl: './risk-factors-form.component.html',\r\n styleUrls: ['./risk-factors-form.component.css']\r\n})\r\nexport class RiskFactorsFormComponent implements OnInit {\r\n\r\n constructor(public _appService: AppService) { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL0NvbXBvbmVudHMvY2hyb25pYy1jb25kL2Nocm9uaWMtY29uZC1zdWJtaXR0ZWQtbGlzdC9jaHJvbmljLWNvbmQtc3VibWl0dGVkLWxpc3QuY29tcG9uZW50LmNzcyJ9 */\"","import { Component, OnInit } from '@angular/core';\r\nimport { AppService } from '../../../services/app.service';\r\nimport { ChronicConditionApplicationModel } from '../../../models/ChronicConditionApplicationModel';\r\n\r\n@Component({\r\n selector: 'app-chronic-cond-submitted-list',\r\n templateUrl: './chronic-cond-submitted-list.component.html',\r\n styleUrls: ['./chronic-cond-submitted-list.component.css']\r\n})\r\nexport class ChronicCondSubmittedListComponent implements OnInit {\r\n\r\n private submissionHistory: ChronicConditionApplicationModel[] = [];\r\n\r\n private showSubmittedAppModal: boolean = false;\r\n\r\n private busy: boolean;\r\n private error: boolean;\r\n private errorMessageHeading: string;\r\n private errorMessage: string;\r\n\r\n constructor(public _appService: AppService) { }\r\n\r\n ngOnInit() {\r\n this.refreshSubmittedList();\r\n }\r\n\r\n refreshSubmittedList() {\r\n\r\n this.busy = true;\r\n\r\n let submissionHist: ChronicConditionApplicationModel = new ChronicConditionApplicationModel();\r\n submissionHist.provId = this._appService.LoginService.CurrentLoggedInUser.provID;\r\n\r\n this._appService.ChronicConditionService.GetSubmissionHistory(submissionHist)\r\n .subscribe(\r\n (results: ChronicConditionApplicationModel[]) => {\r\n\r\n if (results.length > 0) {\r\n\r\n if (results[0].success) {\r\n //results.forEach((el) => {\r\n // this.submissionHistory.push(el);\r\n //})\r\n this.submissionHistory = results;\r\n }\r\n else {\r\n this.error = true;\r\n this.errorMessageHeading = \"Could not get submission history\";\r\n this.errorMessage = results[0].message;\r\n }\r\n\r\n }\r\n },\r\n (error) => {\r\n console.log(error)\r\n this.error = true;\r\n this.errorMessageHeading = \"Could not get submission history\";\r\n this.errorMessage = \"Unexpected error occured\";\r\n this.busy = false;\r\n },\r\n () => {\r\n this.busy = false;\r\n }\r\n )\r\n }\r\n\r\n viewSubmittedApplication(condAppNo: string) {\r\n\r\n let applicationNo: ChronicConditionApplicationModel = new ChronicConditionApplicationModel();\r\n applicationNo.conditionApplicationNumber = condAppNo;\r\n\r\n this._appService.ChronicConditionService.ViewSubmittedApplication(applicationNo);\r\n this.showSubmittedAppModal = true; \r\n }\r\n\r\n closeErrorMessage() {\r\n this.error = false;\r\n this.errorMessageHeading = \"\";\r\n this.errorMessage = \"\";\r\n }\r\n \r\n\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL0NvbXBvbmVudHMvY2hyb25pYy1jb25kL2Nocm9uaWMtY29uZC11cGRhdGUvY2hyb25pYy1jb25kLXVwZGF0ZS5jb21wb25lbnQuY3NzIn0= */\"","import { Component, OnInit } from '@angular/core';\r\nimport { AppService } from '../../../services/app.service';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-chronic-cond-update',\r\n templateUrl: './chronic-cond-update.component.html',\r\n styleUrls: ['./chronic-cond-update.component.css']\r\n})\r\nexport class ChronicCondUpdateComponent implements OnInit {\r\n\r\n public _proceedPrompt: boolean = false;\r\n\r\n constructor(public _appService: AppService, private router: Router) { }\r\n\r\n ngOnInit() {\r\n\r\n this._appService.ChronicConditionService.loadChronicConditionSetup();\r\n\r\n // Check if the user is coming to update from an application\r\n if (this._appService.ChronicConditionService.CurrentPage == 'ChronicCondApp' &&\r\n this._appService.ChronicConditionService.ConditionForm.get('conditionCode').value != null &&\r\n this._appService.ChronicConditionService.ConditionForm.get('conditionCode').value.trim() != '')\r\n {\r\n\r\n this._proceedPrompt = true;\r\n\r\n } else {\r\n\r\n this._appService.ChronicConditionService.CurrentPage = 'ChronicCondUpdate';\r\n\r\n }\r\n\r\n }\r\n\r\n proceedToUpdateFromApplication() {\r\n\r\n this._appService.ChronicConditionService.CurrentPage = 'ChronicCondUpdate';\r\n this._appService.ChronicConditionService.doResets();\r\n this._proceedPrompt = false;\r\n }\r\n\r\n returnToApplication() {\r\n\r\n this._appService.ChronicConditionService.CurrentPage = 'ChronicCondApp';\r\n this.router.navigate(['/chronic-cond-app']);\r\n this._proceedPrompt = false;\r\n }\r\n\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL0NvbXBvbmVudHMvc2hhcmVkL2F1dGhzL2F1dGhzLmNvbXBvbmVudC5jc3MifQ== */\"","import { Component, OnInit } from '@angular/core';\r\nimport { AppService } from './../../../services/app.service';\r\nimport { JoyrideService } from 'ngx-joyride';\r\nimport { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';\r\n\r\n@Component({\r\n selector: 'app-auths',\r\n templateUrl: './auths.component.html',\r\n styleUrls: ['./auths.component.css']\r\n})\r\nexport class AuthsComponent implements OnInit {\r\n\r\n\r\n public openSurvey: boolean = false;\r\n public url: string = \"\";\r\n public urlSafe: SafeResourceUrl;\r\n\r\n constructor(private _appService: AppService, private readonly joyrideService: JoyrideService, public sanitizer: DomSanitizer) { }\r\n\r\n ngOnInit() {\r\n this._appService.AuthorizationService.ClearAllInputFields();\r\n //this.url = this._appService.SettingService.surveyLink;\r\n //this.url = this.url + \"?e=\" + this._appService.LoginService.CurrentLoggedInUser.username;\r\n\r\n //this.urlSafe = this.sanitizer.bypassSecurityTrustResourceUrl(encodeURI(this.url));\r\n this.SetDetails();\r\n }\r\n getSafeUrl(): SafeResourceUrl {\r\n this.url = this._appService.SettingService.surveyLink;\r\n this.url = this.url + \"?e=\" + this._appService.LoginService.CurrentLoggedInUser.username;\r\n //console.log(\"LINK: \" + this.url);\r\n this.urlSafe = this.sanitizer.bypassSecurityTrustResourceUrl(encodeURI(this.url));\r\n //console.log(\"LINK: \" + this.urlSafe);\r\n return this.urlSafe;\r\n\r\n }\r\n onClick() {\r\n if (this._appService.LoginService.CurrentLoggedInUser.userType == 1) {\r\n this.joyrideService.startTour({\r\n steps: ['auth_1', 'auth_2', 'auth_3', 'auth_4', 'auth_5',],\r\n themeColor: '#313131'\r\n })\r\n }\r\n }\r\n\r\n SetDetails() {\r\n if (this._appService.MembershipService.currMember != \"\") {\r\n this._appService.AuthorizationService.AuthDetail.memberno = this._appService.MembershipService.currMember;\r\n this._appService.AuthorizationService.Healthplan.hpcode = this._appService.MembershipService.currHpCode;\r\n this._appService.AuthorizationService.SearchAuth();\r\n }\r\n }\r\n\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL0NvbXBvbmVudHMvc2hhcmVkL2NsYWltLWhpc3RvcnkvY2xhaW0taGlzdG9yeS5jb21wb25lbnQuY3NzIn0= */\"","import { Component, OnInit } from '@angular/core';\r\nimport { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';\r\nimport { JoyrideService } from 'ngx-joyride';\r\nimport { AppService } from '../../../services/app.service';\r\n\r\n@Component({\r\n selector: 'app-claim-history',\r\n templateUrl: './claim-history.component.html',\r\n styleUrls: ['./claim-history.component.css']\r\n})\r\nexport class ClaimHistoryComponent implements OnInit {\r\n\r\n\r\n\r\n public openSurvey: boolean = false;\r\n public url: string = \"\";\r\n public urlSafe: SafeResourceUrl;\r\n public lblName: string = 'Member No:';\r\n\r\n constructor(private _appService: AppService, private readonly joyrideService: JoyrideService, public sanitizer: DomSanitizer) {\r\n console.log(this._appService.LoginService.CurrentLoggedInUser.userType);\r\n this.SetDetails();\r\n }\r\n\r\n ngOnInit() {\r\n //this.url = this._appService.SettingService.surveyLink;\r\n //this.url = this.url + \"?e=\" + this._appService.LoginService.CurrentLoggedInUser.username;\r\n\r\n //this.urlSafe = this.sanitizer.bypassSecurityTrustResourceUrl(encodeURI(this.url));\r\n }\r\n getSafeUrl(): SafeResourceUrl {\r\n this.url = this._appService.SettingService.surveyLink;\r\n this.url = this.url + \"?e=\" + this._appService.LoginService.CurrentLoggedInUser.username;\r\n //console.log(\"LINK: \" + this.url);\r\n this.urlSafe = this.sanitizer.bypassSecurityTrustResourceUrl(encodeURI(this.url));\r\n //console.log(\"LINK: \" + this.urlSafe);\r\n return this.urlSafe;\r\n\r\n }\r\n SetDetails() {\r\n if (this._appService.MembershipService.currMember != \"\") {\r\n this._appService.SecurityService.ClaimHeaders.memberNo = this._appService.MembershipService.currMember;\r\n this._appService.SecurityService.HP_Contracts.hpcode = this._appService.MembershipService.currHpCode;\r\n this._appService.SecurityService.ValidateForm();\r\n }\r\n }\r\n\r\n\r\n\r\n\r\n\r\n onClick() {\r\n\r\n if (this._appService.LoginService.CurrentLoggedInUser.userType == 3) {\r\n this.joyrideService.startTour({\r\n steps: ['claim_1', 'claim_2', 'claim_3', 'claim_4', 'claim_5'],\r\n themeColor: '#313131'\r\n })\r\n }\r\n\r\n if (this._appService.LoginService.CurrentLoggedInUser.userType == 1) {\r\n this.joyrideService.startTour({\r\n steps: [ 'claim_3', 'claim_4', 'claim_5'],\r\n themeColor: '#313131'\r\n })\r\n\r\n }\r\n if (this._appService.LoginService.CurrentLoggedInUser.userType == 2) {\r\n this.joyrideService.startTour({\r\n steps: ['claim_1', 'claim_2', 'claim_3', 'claim_4', 'claim_5', 'claim_6', 'claim_7'],\r\n themeColor: '#313131'\r\n })\r\n }\r\n\r\n }\r\n\r\n DisplayLableChange(data: string) {\r\n if (data.toUpperCase() == 'MDV') {\r\n this.lblName = 'Patient ID No:'\r\n } else {\r\n this.lblName = 'Member No:'\r\n }\r\n }\r\n\r\n ValidateForm() {\r\n if (this._appService.SecurityService.HP_Contracts.hpcode == \"000\") {\r\n this._appService.SecurityService.ClaimRequirements.push('Health plan');\r\n this._appService.SecurityService.EmptyClaimForm = true;\r\n } else {\r\n this._appService.SecurityService.SearchClaimHistory();\r\n }\r\n }\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL0NvbXBvbmVudHMvc2hhcmVkL2NsYWltLWluZm8vY2xhaW0taW5mby5jb21wb25lbnQuY3NzIn0= */\"","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { AppService } from './../../../services/app.service';\r\nimport { RejectClaimComponent } from './../reject-claim/reject-claim.component';\r\nimport { RejectClaimDetailModel } from './../../../models/RejectClaimDetaiModel';\r\n\r\n@Component({\r\n selector: 'app-claim-info',\r\n templateUrl: './claim-info.component.html',\r\n styleUrls: ['./claim-info.component.css']\r\n})\r\nexport class ClaimInfoComponent implements OnInit {\r\n\r\n @ViewChild('rejectionReason', {static: false}) rejectionReason: RejectClaimComponent;\r\n\r\n private _claimNo: string;\r\n private _tblrow: string;\r\n\r\n\r\n\r\n constructor(private _appService: AppService) {\r\n\r\n this._appService.CheckRunService.GetRejectionReasons();\r\n\r\n }\r\n\r\n ngOnInit() {\r\n\r\n }\r\n\r\n public get tblrow(): string {\r\n return this._tblrow;\r\n }\r\n public set tblrow(value: string) {\r\n this._tblrow = value;\r\n }\r\n public get claimNo(): string {\r\n return this._claimNo;\r\n }\r\n public set claimNo(value: string) {\r\n this._claimNo = value;\r\n }\r\n\r\n Rejection() {\r\n let x: RejectClaimDetailModel = new RejectClaimDetailModel();\r\n\r\n x.claimNo = this._claimNo;\r\n x.tblRowId = this._tblrow;\r\n x.reverse = '0';\r\n x.rejectionReason = this._appService.SecurityService.rejectionNote;\r\n this._appService.SecurityService.RejectClaim(x);\r\n }\r\n\r\n Unreject(claimno: string, tblrowId: string) {\r\n let x: RejectClaimDetailModel = new RejectClaimDetailModel();\r\n\r\n x.claimNo = claimno;\r\n x.tblRowId = tblrowId;\r\n x.reverse = '1';\r\n this._appService.SecurityService.RejectClaim(x);\r\n }\r\n\r\n CancelRejection() {\r\n this._appService.SecurityService.rejectModalShow = false;\r\n this.rejectionReason.claimRejectionNotes.reset();\r\n }\r\n\r\n popupRejections(claimno: string, tblrowId: string) {\r\n this.rejectionReason.claimRejectionNotes.reset();\r\n console.log(\"claimNo: \", claimno);\r\n console.log(\"row: \", tblrowId);\r\n\r\n this.claimNo = claimno;\r\n this.tblrow = tblrowId;\r\n\r\n let y: RejectClaimDetailModel = new RejectClaimDetailModel();\r\n y.claimNo = this._claimNo;\r\n y.tblRowId = this._tblrow;\r\n\r\n this._appService.SecurityService.VerifyRejection(y);\r\n\r\n }\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL0NvbXBvbmVudHMvc2hhcmVkL2Rvd25sb2Fkcy9kb3dubG9hZHMuY29tcG9uZW50LmNzcyJ9 */\"","import { Component, OnInit } from '@angular/core';\r\nimport { AppService } from '../../../services/app.service';\r\nimport { JoyrideService } from 'ngx-joyride';\r\nimport { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';\r\n\r\n@Component({\r\n selector: 'app-downloads',\r\n templateUrl: './downloads.component.html',\r\n styleUrls: ['./downloads.component.css']\r\n})\r\nexport class DownloadsComponent implements OnInit {\r\n\r\n public openSurvey: boolean = false;\r\n public url: string = \"\";\r\n public urlSafe: SafeResourceUrl;\r\n\r\n constructor(public _appService: AppService, private readonly joyrideService: JoyrideService, public sanitizer: DomSanitizer) { }\r\n\r\n ngOnInit() {\r\n //this.url = this._appService.SettingService.surveyLink;\r\n //this.url = this.url + \"?e=\" + this._appService.LoginService.CurrentLoggedInUser.username;\r\n\r\n //this.urlSafe = this.sanitizer.bypassSecurityTrustResourceUrl(encodeURI(this.url));\r\n }\r\n getSafeUrl(): SafeResourceUrl {\r\n this.url = this._appService.SettingService.surveyLink;\r\n this.url = this.url + \"?e=\" + this._appService.LoginService.CurrentLoggedInUser.username;\r\n //console.log(\"LINK: \" + this.url);\r\n this.urlSafe = this.sanitizer.bypassSecurityTrustResourceUrl(encodeURI(this.url));\r\n //console.log(\"LINK: \" + this.urlSafe);\r\n return this.urlSafe;\r\n\r\n }\r\n onClick() {\r\n if (this._appService.LoginService.isSpecialist) {\r\n this.joyrideService.startTour({\r\n steps: ['ops_1', 'ops_2'],\r\n themeColor: '#313131'\r\n })\r\n }\r\n if (this._appService.LoginService.isDentist) {\r\n this.joyrideService.startTour({\r\n steps: ['pg_1', 'pg_2'],\r\n themeColor: '#313131'\r\n })\r\n }\r\n }\r\n\r\n GetCurrYear(): string {\r\n let currYear = new Date().getFullYear().toString();\r\n return currYear;\r\n }\r\n GetPreviousYear(): string {\r\n let previousYear = (new Date().getFullYear()-1).toString();\r\n return previousYear;\r\n }\r\n\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL0NvbXBvbmVudHMvc2hhcmVkL2luZm8tZGV0YWlsLWxpbmVzL2luZm8tZGV0YWlsLWxpbmVzLmNvbXBvbmVudC5jc3MifQ== */\"","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { AppService } from './../../../services/app.service';\r\nimport { RejectClaimDetailModel } from './../../../models/RejectClaimDetaiModel';\r\nimport { RejectClaimComponent } from '../reject-claim/reject-claim.component';\r\nimport { Route } from '@angular/compiler/src/core';\r\nimport { Router } from '@angular/router';\r\nimport { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';\r\n\r\n\r\n\r\n@Component({\r\n selector: 'app-info-detail-lines',\r\n templateUrl: './info-detail-lines.component.html',\r\n styleUrls: ['./info-detail-lines.component.css']\r\n})\r\nexport class InfoDetailLinesComponent implements OnInit {\r\n\r\n private _claimNo: string;\r\n private _tblrow: string;\r\n public _paidPRov: boolean;\r\n public _paidMemb: boolean;\r\n\r\n public openSurvey: boolean = false;\r\n public url: string = \"\";\r\n public urlSafe: SafeResourceUrl;\r\n\r\n @ViewChild('rejectionReason', {static: false}) rejectionReason: RejectClaimComponent;\r\n\r\n constructor(public _appService: AppService, public _router: Router, public sanitizer: DomSanitizer) {\r\n this._appService.CheckRunService.GetRejectionReasons();\r\n let selcl = this._appService.SecurityService.SelectedClaim.claimNo;\r\n\r\n // console.log(selcl);\r\n for (var i = 0; i < this._appService.SecurityService.RecievedClaims.length; i++) {\r\n let cl = this._appService.SecurityService.RecievedClaims[i];\r\n let rclno = cl.claimNo;\r\n\r\n if (rclno === selcl) {\r\n if (cl.datePaid.toUpperCase() == \"IN PROCESS\") {\r\n this._paidPRov = false;\r\n } else {\r\n this._paidPRov = true;\r\n }\r\n if ((cl.reversedDate !== null) && (cl.reversedDate !== undefined) && (cl.reversedDate !== '')) {\r\n this._paidPRov = true;\r\n }\r\n if (cl.paid.includes(\"-\")) {\r\n this._paidPRov = true;\r\n }\r\n\r\n }\r\n }\r\n\r\n let selclm = this._appService.MemberClaimService.SelectedClaim.claimNo;\r\n for (var i = 0; i < this._appService.MemberClaimService.RecievedClaims.length; i++) {\r\n let clM = this._appService.MemberClaimService.RecievedClaims[i];\r\n let rclnoM = clM.claimNo;\r\n\r\n if (rclnoM === selclm) {\r\n if (clM.datePaid.toUpperCase() == \"IN PROCESS\") {\r\n this._paidMemb = false;\r\n } else {\r\n this._paidMemb = true;\r\n }\r\n if ((clM.reversedDate !== null) && (clM.reversedDate !== undefined) && (clM.reversedDate !== '')) {\r\n this._paidPRov = true;\r\n }\r\n if (clM.paid.includes(\"-\")) {\r\n this._paidMemb = true;\r\n }\r\n }\r\n }\r\n\r\n }\r\n\r\n ngOnInit() {\r\n //this.url = this._appService.SettingService.surveyLink;\r\n //this.url = this.url + \"?e=\" + this._appService.LoginService.CurrentLoggedInUser.username;\r\n\r\n //this.urlSafe = this.sanitizer.bypassSecurityTrustResourceUrl(encodeURI(this.url));\r\n }\r\n\r\n getSafeUrl(): SafeResourceUrl {\r\n this.url = this._appService.SettingService.surveyLink;\r\n this.url = this.url + \"?e=\" + this._appService.LoginService.CurrentLoggedInUser.username;\r\n //console.log(\"LINK: \" + this.url);\r\n this.urlSafe = this.sanitizer.bypassSecurityTrustResourceUrl(encodeURI(this.url));\r\n //console.log(\"LINK: \" + this.urlSafe);\r\n return this.urlSafe;\r\n\r\n }\r\n public get tblrow(): string {\r\n return this._tblrow;\r\n }\r\n public set tblrow(value: string) {\r\n this._tblrow = value;\r\n }\r\n public get claimNo(): string {\r\n return this._claimNo;\r\n }\r\n public set claimNo(value: string) {\r\n this._claimNo = value;\r\n }\r\n\r\n Rejection() {\r\n let x: RejectClaimDetailModel = new RejectClaimDetailModel();\r\n x.claimNo = this._claimNo;\r\n x.tblRowId = this._tblrow;\r\n x.reverse = '0';\r\n x.rejectionReason = this._appService.SecurityService.rejectionReason;\r\n x.notes = this._appService.SecurityService.rejectionNote;\r\n let y = this._router.url;\r\n\r\n \r\n this._appService.SecurityService.RejectClaim(x);\r\n\r\n\r\n }\r\n\r\n Unreject(claimno: string, tblrowId: string) {\r\n let x: RejectClaimDetailModel = new RejectClaimDetailModel();\r\n x.claimNo = claimno;\r\n x.tblRowId = tblrowId;\r\n x.reverse = '1';\r\n let y = this._router.url;\r\n this._appService.SecurityService.RejectClaim(x);\r\n }\r\n\r\n CancelRejection() {\r\n this._appService.SecurityService.rejectModalShow = false;\r\n this.rejectionReason.claimRejectionNotes.reset();\r\n }\r\n\r\n popupRejections(claimno: string, tblrowId: string) {\r\n this.rejectionReason.claimRejectionNotes.reset();\r\n \r\n\r\n this.claimNo = claimno;\r\n this.tblrow = tblrowId;\r\n\r\n let y: RejectClaimDetailModel = new RejectClaimDetailModel();\r\n y.claimNo = this._claimNo;\r\n y.tblRowId = this._tblrow;\r\n\r\n this._appService.SecurityService.VerifyRejection(y);\r\n\r\n }\r\n\r\n ExistOnWebReverse(claimno: string) {\r\n\r\n let z: RejectClaimDetailModel = new RejectClaimDetailModel();\r\n\r\n z.claimNo = claimno;\r\n\r\n this._appService.SecurityService.CheckExistOnWebReverse(z);\r\n\r\n }\r\n\r\n}\r\n","export default \".login-wrapper {\\r\\n background-image: url('DRC_Logo.jpg');\\r\\n background-repeat: no-repeat;\\r\\n background-size: 50%;\\r\\n background-position-y: 50%;\\r\\n background-position-x: 80%;\\r\\n background-color: white\\r\\n}\\r\\n\\r\\n .login-wrapper .login {\\r\\n min-height: 80vh;\\r\\n }\\r\\n\\r\\n @media screen and (max-width: 1024px) and (min-width: 556px) {\\r\\n .login-wrapper {\\r\\n /* background-image: url(images/DRC_PAMC_Logo.jpg); */\\r\\n background-repeat: no-repeat;\\r\\n background-size: 42%;\\r\\n background-position-y: 50%;\\r\\n background-position-x: 96%;\\r\\n }\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvQ29tcG9uZW50cy9zaGFyZWQvbG9naW4vbG9naW4uY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLHFDQUF3RDtFQUN4RCw0QkFBNEI7RUFDNUIsb0JBQW9CO0VBQ3BCLDBCQUEwQjtFQUMxQiwwQkFBMEI7RUFDMUI7QUFDRjs7RUFFRTtJQUNFLGdCQUFnQjtFQUNsQjs7RUFHRjtFQUNFO0lBQ0UscURBQXFEO0lBQ3JELDRCQUE0QjtJQUM1QixvQkFBb0I7SUFDcEIsMEJBQTBCO0lBQzFCLDBCQUEwQjtFQUM1QjtBQUNGIiwiZmlsZSI6InNyYy9hcHAvQ29tcG9uZW50cy9zaGFyZWQvbG9naW4vbG9naW4uY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5sb2dpbi13cmFwcGVyIHtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi8uLi8uLi8uLi8uLi9hc3NldHMvRFJDX0xvZ28uanBnKTtcclxuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gIGJhY2tncm91bmQtc2l6ZTogNTAlO1xyXG4gIGJhY2tncm91bmQtcG9zaXRpb24teTogNTAlO1xyXG4gIGJhY2tncm91bmQtcG9zaXRpb24teDogODAlO1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlXHJcbn1cclxuXHJcbiAgLmxvZ2luLXdyYXBwZXIgLmxvZ2luIHtcclxuICAgIG1pbi1oZWlnaHQ6IDgwdmg7XHJcbiAgfVxyXG5cclxuXHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjRweCkgYW5kIChtaW4td2lkdGg6IDU1NnB4KSB7XHJcbiAgLmxvZ2luLXdyYXBwZXIge1xyXG4gICAgLyogYmFja2dyb3VuZC1pbWFnZTogdXJsKGltYWdlcy9EUkNfUEFNQ19Mb2dvLmpwZyk7ICovXHJcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgYmFja2dyb3VuZC1zaXplOiA0MiU7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IDUwJTtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb24teDogOTYlO1xyXG4gIH1cclxufVxyXG4iXX0= */\"","import { Component, OnInit, Inject, Input } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { AppService } from './../../../services/app.service';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\nimport { LoginDetailsModel } from './../../../models/LoginDetailsModel';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n@Component({\r\n selector: 'app-login',\r\n templateUrl: './login.component.html',\r\n styleUrls: ['./login.component.css']\r\n})\r\nexport class LoginComponent implements OnInit {\r\n\r\n @Input() loginForm: FormGroup;\r\n\r\n\r\n constructor(private _appService: AppService, private fb: FormBuilder) { }\r\n\r\n\r\n\r\n ngOnInit() {\r\n this._appService.LoginService.BureauRecovery\r\n this._appService.LoginService.ClearLoginFields();\r\n this.loginForm = this.fb.group({\r\n 'username': ['', Validators.required],\r\n 'password': ['', Validators.required]\r\n })\r\n }\r\n\r\n\r\n //Below method References the login http call that happens on LoginService service Refer to \"Login()\" on Security Service.\r\n Login() {\r\n let c: string;\r\n let d: string;\r\n\r\n c = this.loginForm.get('username').value;\r\n d = this.loginForm.get('password').value;\r\n\r\n this._appService.LoginService.Username = c;\r\n this._appService.LoginService.Password = d;\r\n\r\n this._appService.LoginService.Login();\r\n\r\n\r\n\r\n }\r\n\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL0NvbXBvbmVudHMvc2hhcmVkL21lbWJlci1jbGFpbS1pbmZvL21lbWJlci1jbGFpbS1pbmZvLmNvbXBvbmVudC5jc3MifQ== */\"","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { AppService } from './../../../services/app.service';\r\nimport { RejectClaimComponent } from '../reject-claim/reject-claim.component';\r\nimport { RejectClaimDetailModel } from './../../../models/RejectClaimDetaiModel';\r\n\r\n@Component({\r\n selector: 'app-member-claim-info',\r\n templateUrl: './member-claim-info.component.html',\r\n styleUrls: ['./member-claim-info.component.css']\r\n})\r\nexport class MemberClaimInfoComponent implements OnInit {\r\n\r\n private _rejectModalShow: boolean = false;\r\n @ViewChild('rejectionReason', { static: false }) rejectionReason: RejectClaimComponent;\r\n\r\n private _claimNo: string;\r\n private _tblrow: string;\r\n\r\n\r\n\r\n constructor(private _appService: AppService) {\r\n\r\n this._appService.CheckRunService.GetRejectionReasons();\r\n }\r\n\r\n ngOnInit() {\r\n\r\n }\r\n\r\n\r\n public get claimNo(): string {\r\n return this._claimNo;\r\n }\r\n public set claimNo(value: string) {\r\n this._claimNo = value;\r\n }\r\n public get tblrow(): string {\r\n return this._tblrow;\r\n }\r\n public set tblrow(value: string) {\r\n this._tblrow = value;\r\n }\r\n\r\n Rejection() {\r\n let x: RejectClaimDetailModel = new RejectClaimDetailModel();\r\n\r\n x.claimNo = this._claimNo;\r\n x.tblRowId = this._tblrow;\r\n x.reverse = '0';\r\n x.rejectionReason = this._appService.SecurityService.rejectionNote;\r\n this._appService.MemberClaimService.RejectClaim(x);\r\n this._appService.SecurityService.unreverseBtn = false;\r\n }\r\n\r\n Unreject(claimno: string, tblrowId: string) {\r\n let x: RejectClaimDetailModel = new RejectClaimDetailModel();\r\n //let count: number = 0;\r\n //let i: number = 0;\r\n //this._appService.SecurityService.rejectionClaimList_1.forEach((rl) => {\r\n // if ((rl.claimNo == claimno) && (rl.tblRowId === this.tblrow)) {\r\n // x.rejectionReason = rl.rejectionReason;\r\n // count = i;\r\n // }\r\n // i++;\r\n //});\r\n x.claimNo = claimno;\r\n x.tblRowId = tblrowId;\r\n x.reverse = '1';\r\n this._appService.MemberClaimService.RejectClaim(x);\r\n //this._appService.SecurityService.rejectionClaimList_1.splice(count, 1);\r\n }\r\n\r\n CancelRejection() {\r\n this._appService.SecurityService.rejectModalShow = false;\r\n this.rejectionReason.claimRejectionNotes.reset();\r\n }\r\n\r\n popupRejections(claimno: string, tblrowId: string) {\r\n this.rejectionReason.claimRejectionNotes.reset();\r\n this.claimNo = claimno;\r\n this.tblrow = tblrowId;\r\n\r\n // console.log(\"claimNo: \", claimno);\r\n //console.log(\"row: \", tblrowId);\r\n\r\n let y: RejectClaimDetailModel = new RejectClaimDetailModel();\r\n y.claimNo = this._claimNo;\r\n y.tblRowId = this._tblrow;\r\n\r\n this._appService.SecurityService.VerifyRejection(y);\r\n\r\n }\r\n}\r\n\r\n\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL0NvbXBvbmVudHMvc2hhcmVkL21lbWJlci1jbGFpbXMvbWVtYmVyLWNsYWltcy5jb21wb25lbnQuY3NzIn0= */\"","import { Component, OnInit } from '@angular/core';\r\nimport { AppService } from './../../../services/app.service';\r\nimport { JoyrideService } from 'ngx-joyride';\r\n\r\n@Component({\r\n selector: 'app-member-claims',\r\n templateUrl: './member-claims.component.html',\r\n styleUrls: ['./member-claims.component.css']\r\n})\r\nexport class MemberClaimsComponent implements OnInit {\r\n\r\n constructor(private _appService: AppService, private readonly joyrideService: JoyrideService) { }\r\n\r\n ngOnInit() {\r\n\r\n }\r\n\r\n onClick() {\r\n\r\n\r\n if (this._appService.LoginService.CurrentLoggedInUser.userType == 3) {\r\n this.joyrideService.startTour({\r\n steps: ['memclaim_1', 'memclaim_2', 'memclaim_3', 'memclaim_4', 'memclaim_5'],\r\n themeColor: '#313131'\r\n })\r\n\r\n }\r\n\r\n\r\n }\r\n}\r\n","export default \"\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL0NvbXBvbmVudHMvc2hhcmVkL21lbWJlcnNoaXAvbWVtYmVyc2hpcC5jb21wb25lbnQuY3NzIn0= */\"","import { Component, OnInit, Input, SecurityContext } from '@angular/core';\r\nimport { AppService } from './../../../services/app.service';\r\nimport { JoyrideService } from 'ngx-joyride';\r\nimport { MemberEligibilityModel } from './../../../models/MemberEligibilityModel';\r\nimport { MemberWaitSpecExlModel } from './../../../models/MemberWaitSpecExlModel';\r\nimport { BenifitRights } from './../../../models/benifit-rights';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { FormGroup, FormBuilder } from '@angular/forms';\r\nimport { BenHist } from '../../../models/ben-hist';\r\nimport { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';\r\nimport { ChronicConditionApplicationModel } from './../../../models/ChronicConditionApplicationModel';\r\n\r\n\r\n@Component({\r\n selector: 'app-membership',\r\n templateUrl: './membership.component.html',\r\n styleUrls: ['./membership.component.css']\r\n})\r\n\r\n\r\n\r\n\r\nexport class MembershipComponent implements OnInit {\r\n\r\n @Input() searchForm: FormGroup;\r\n public orginalHist: BenHist[] = [];\r\n public openSurvey: boolean = false;\r\n public url: string = \"\";\r\n public urlSafe: SafeResourceUrl;\r\n public selectedMember: MemberEligibilityModel = new MemberEligibilityModel();\r\n public days: number = 0;\r\n public disableBtn: boolean = true;\r\n public imageLoad: boolean = false;\r\n public showBody: boolean = true;\r\n\r\n public showWaitSpecExclModal: boolean = false;\r\n public waitAndSpecExcls: MemberWaitSpecExlModel[] = [];\r\n\r\n public showSubmittedAppModal: boolean = false;\r\n\r\n @Input() AggreeForm: FormGroup;\r\n\r\n constructor(private _appService: AppService, private readonly joyrideService: JoyrideService,\r\n private fb: FormBuilder, public sanitizer: DomSanitizer, private fbAgr: FormBuilder)\r\n {\r\n \r\n }\r\n\r\n ngOnInit() {\r\n // console.log(this._appService.LoginService.popupList[this._appService.LoginService.currPopMsg].filetype)\r\n this.searchForm = this.fb.group({\r\n 'search': []\r\n });\r\n this.AggreeForm = this.fbAgr.group({\r\n 'cbxAgree': []\r\n });\r\n if (this._appService.LoginService.currPopMsg > 0) {\r\n console.log(this._appService.LoginService.popupList[this._appService.LoginService.currPopMsg].filename)\r\n }\r\n }\r\n\r\n getSafeUrl():SafeResourceUrl {\r\n this.url = this._appService.SettingService.surveyLink;\r\n this.url = this.url + \"?e=\" + this._appService.LoginService.CurrentLoggedInUser.username;\r\n //console.log(\"LINK: \" + this.url);\r\n this.urlSafe = this.sanitizer.bypassSecurityTrustResourceUrl(encodeURI(this.url));\r\n // console.log(\"LINK: \" + this.urlSafe);\r\n return this.urlSafe;\r\n\r\n }\r\n\r\n CheckLoadedImg() {\r\n this.imageLoad = true;\r\n }\r\n\r\n onClick() {\r\n if (this._appService.LoginService.CurrentLoggedInUser.userType == 3) {\r\n this.joyrideService.startTour({\r\n steps: ['Membship_1', 'Membship_2', 'Membship_5', 'Membship_6'],\r\n themeColor: '#313131'\r\n })\r\n }\r\n\r\n if (this._appService.LoginService.CurrentLoggedInUser.userType == 1) {\r\n this.joyrideService.startTour({\r\n steps: ['Membship_1', 'Membship_2', 'Membship_3', 'Membship_4', 'Membship_5', 'Membship_6'],\r\n themeColor: '#313131'\r\n });\r\n }\r\n\r\n\r\n \r\n }\r\n\r\n OpenMoreInfoModal(data: MemberEligibilityModel) {\r\n this.selectedMember = data;\r\n this._appService.MembershipService.GetBenRights(data);\r\n this._appService.MembershipService.returnBenSet = new BenifitRights();\r\n this._appService.MembershipService.moreInfo = true;\r\n this._appService.MembershipService.resultSetDisplay = [];\r\n console.log(this._appService.MembershipService.benRights.length);\r\n\r\n }\r\n\r\n GetBenifitResults(data: BenifitRights) {\r\n let c: BenifitRights = new BenifitRights();\r\n \r\n c.provid = this._appService.LoginService.CurrentLoggedInUser.provID;\r\n c.membid = this.selectedMember.subssn.substr(1, this.selectedMember.subssn.length - 1) + \"-\" + this.selectedMember.dependant;\r\n c.hp = this._appService.MembershipService.HealthplanContracts.hpcode;\r\n c.benName = data.benName;\r\n c.id = data.id;\r\n c.defaultProc = data.defaultProc;\r\n c.preAuth = data.preAuth;\r\n this._appService.MembershipService.GetBenifitResult(c);\r\n }\r\n\r\n\r\n ShowAllSeacrhHist() {\r\n this._appService.MembershipService.allHist = true;\r\n this._appService.MembershipService.specificHist = false;\r\n this._appService.MembershipService.benHistOpen = false;\r\n this._appService.MembershipService.busy\r\n this._appService.MembershipService.GetAllBeifitSearchHist();\r\n }\r\n\r\n SplitResults(data: string): string[]{\r\n\r\n if (data != '') {\r\n let c: string[] = data.split(\";\");\r\n\r\n //console.log(data);\r\n\r\n return c;\r\n }\r\n\r\n }\r\n\r\n SearchBenHist(data: string) {\r\n if (data == \"\" || data == null || data == undefined) {\r\n this._appService.MembershipService.benHisList = [];\r\n this._appService.MembershipService.benHisList = this._appService.MembershipService.orgHistLIst;\r\n } else {\r\n let c: string = data.toLowerCase();\r\n this._appService.MembershipService.benHisList = this._appService.MembershipService.orgHistLIst.filter((a) => {\r\n\r\n if (a.logDate.includes(c)) {\r\n return a;\r\n }\r\n if (a.membId.toLowerCase().includes(c)) {\r\n return a;\r\n }\r\n if (a.hp.toLowerCase().includes(c)) {\r\n return a;\r\n }\r\n if (a.benName.toLowerCase().includes(c)) {\r\n return a;\r\n }\r\n if (a.reff.toLowerCase().includes(c)) {\r\n return a;\r\n }\r\n })\r\n }\r\n this._appService.LoginService.currPopMsg\r\n this._appService.LoginService.popupList[0].filetype\r\n }\r\n\r\n NextModal() {\r\n this.showBody = false;\r\n this.imageLoad = false;\r\n let c: boolean = false;\r\n this._appService.MembershipService.busy = true;\r\n c = this.AggreeForm.get('cbxAgree').value;\r\n if (c) {\r\n if (this._appService.LoginService.popupList[this._appService.LoginService.currPopMsg].filetype == 1) {\r\n var a = document.createElement('a');\r\n a.target = \"_blank\";\r\n a.setAttribute('type', 'hidden');\r\n //a.href = '../../PamcPortal/assets/PopUpDoc/' + this._appService.LoginService.popupList[this._appService.LoginService.currPopMsg].filename;\r\n a.href = 'assets/PopUpDoc/' + this._appService.LoginService.popupList[this._appService.LoginService.currPopMsg].filename;\r\n //console.log(a.href);\r\n a.download = this._appService.LoginService.popupList[this._appService.LoginService.currPopMsg].filename;\r\n document.body.appendChild(a);\r\n a.click();\r\n a.remove();\r\n }\r\n this._appService.LoginService.MarkPopUpAsAccepted(this._appService.LoginService.popupList[this._appService.LoginService.currPopMsg]);\r\n this.AggreeForm.reset();\r\n } else {\r\n if (this._appService.LoginService.popupList.length > (this._appService.LoginService.currPopMsg + 1)) {\r\n this._appService.LoginService.PopModals((this._appService.LoginService.currPopMsg + 1))\r\n }\r\n }\r\n this._appService.MembershipService.busy = false;\r\n setTimeout((e) => {\r\n this.showBody = true;\r\n },250)\r\n \r\n }\r\n DisableContinue() {\r\n let c: boolean = false;\r\n c = this.AggreeForm.get('cbxAgree').value;\r\n if (c) {\r\n this.disableBtn = false;\r\n } else {\r\n this.disableBtn = true;\r\n }\r\n }\r\n\r\n ShowWaitSpecExclModal(list: MemberWaitSpecExlModel[]) { \r\n this.showWaitSpecExclModal = true;\r\n this.waitAndSpecExcls = list;\r\n }\r\n\r\n CloseWaitSpecExclModal() { \r\n this.showWaitSpecExclModal = false;\r\n this.waitAndSpecExcls = [];\r\n }\r\n\r\n viewSubmittedApplication(condAppNo: string) {\r\n\r\n let applicationNo: ChronicConditionApplicationModel = new ChronicConditionApplicationModel();\r\n applicationNo.conditionApplicationNumber = condAppNo;\r\n\r\n this._appService.ChronicConditionService.ViewSubmittedApplication(applicationNo);\r\n this.showSubmittedAppModal = true; \r\n }\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL0NvbXBvbmVudHMvc2hhcmVkL3Byb3ZjbGFpbXMvcHJvdmNsYWltcy5jb21wb25lbnQuY3NzIn0= */\"","import { Component, OnInit } from '@angular/core';\r\nimport { AppService } from './../../../services/app.service';\r\nimport { JoyrideService } from 'ngx-joyride';\r\nimport { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';\r\nimport { RejectClaimComponent } from '../reject-claim/reject-claim.component';\r\n\r\n@Component({\r\n selector: 'app-provclaims',\r\n templateUrl: './provclaims.component.html',\r\n styleUrls: ['./provclaims.component.css']\r\n})\r\nexport class ProvclaimsComponent implements OnInit {\r\n\r\n public openSurvey: boolean = false;\r\n public url: string = \"\";\r\n public urlSafe: SafeResourceUrl;\r\n public lblName: string = 'Member No:';\r\n\r\n constructor(private _appService: AppService, private readonly joyrideService: JoyrideService, public sanitizer: DomSanitizer) {\r\n //console.log(this._appService.LoginService.CurrentLoggedInUser.userType);\r\n this.SetDetails();\r\n }\r\n\r\n ngOnInit() {\r\n //this.url = this._appService.SettingService.surveyLink;\r\n //this.url = this.url + \"?e=\" + this._appService.LoginService.CurrentLoggedInUser.username;\r\n\r\n //this.urlSafe = this.sanitizer.bypassSecurityTrustResourceUrl(encodeURI(this.url));\r\n }\r\n getSafeUrl(): SafeResourceUrl {\r\n this.url = this._appService.SettingService.surveyLink;\r\n this.url = this.url + \"?e=\" + this._appService.LoginService.CurrentLoggedInUser.username;\r\n //console.log(\"LINK: \" + this.url);\r\n this.urlSafe = this.sanitizer.bypassSecurityTrustResourceUrl(encodeURI(this.url));\r\n //console.log(\"LINK: \" + this.urlSafe);\r\n return this.urlSafe;\r\n\r\n }\r\n SetDetails() {\r\n if (this._appService.MembershipService.currMember != \"\") {\r\n this._appService.SecurityService.ClaimHeaders.memberNo = this._appService.MembershipService.currMember;\r\n this._appService.SecurityService.HP_Contracts.hpcode = this._appService.MembershipService.currHpCode;\r\n this._appService.SecurityService.ValidateForm();\r\n }\r\n }\r\n\r\n onClick() {\r\n\r\n if (this._appService.LoginService.CurrentLoggedInUser.userType == 3) {\r\n this.joyrideService.startTour({\r\n steps: ['claim_1', 'claim_2', 'claim_3', 'claim_4', 'claim_5'],\r\n themeColor: '#313131'\r\n })\r\n }\r\n\r\n if (this._appService.LoginService.CurrentLoggedInUser.userType == 1) {\r\n this.joyrideService.startTour({\r\n steps: ['claim_1', 'claim_2', 'claim_3', 'claim_4', 'claim_5'],\r\n themeColor: '#313131'\r\n })\r\n\r\n }\r\n if (this._appService.LoginService.CurrentLoggedInUser.userType == 2) {\r\n this.joyrideService.startTour({\r\n steps: ['claim_1', 'claim_2', 'claim_3', 'claim_4', 'claim_5', 'claim_6', 'claim_7'],\r\n themeColor: '#313131'\r\n })\r\n }\r\n\r\n }\r\n\r\n DisplayLableChange(data: string) {\r\n if (data.toUpperCase() == 'MDV') {\r\n this.lblName = 'Patient ID No:'\r\n } else {\r\n this.lblName = 'Member No:'\r\n }\r\n }\r\n\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL0NvbXBvbmVudHMvc2hhcmVkL3JlamVjdC1jbGFpbS9yZWplY3QtY2xhaW0uY29tcG9uZW50LmNzcyJ9 */\"","import { Component, OnInit, Input } from '@angular/core';\r\nimport { FormGroup, FormBuilder } from '@angular/forms';\r\nimport { AppService } from './../../../services/app.service';\r\n\r\n@Component({\r\n selector: 'app-reject-claim',\r\n templateUrl: './reject-claim.component.html',\r\n styleUrls: ['./reject-claim.component.css']\r\n})\r\nexport class RejectClaimComponent implements OnInit {\r\n\r\n @Input() claimRejectionNotes: FormGroup;\r\n\r\n private _rejectExtra: boolean = false;\r\n\r\n public get rejectExtra(): boolean {\r\n return this._rejectExtra;\r\n }\r\n public set rejectExtra(value: boolean) {\r\n this._rejectExtra = value;\r\n }\r\n constructor(public fb: FormBuilder, public _appService: AppService) { }\r\n\r\n ngOnInit() {\r\n this.claimRejectionNotes = this.fb.group({\r\n reasons: [],\r\n other: [],\r\n customReason: []\r\n\r\n });\r\n this.claimRejectionNotes.get('customReason').disable();\r\n }\r\n\r\n defualtReason() {\r\n this._appService.SecurityService.rejectionReason = '';\r\n this._appService.SecurityService.rejectionReason = this.claimRejectionNotes.get('reasons').value;\r\n if (this._appService.SecurityService.rejectionReason === '420 -Rejected By Scheme') {\r\n this.claimRejectionNotes.get('customReason').enable();\r\n this.rejectExtra = true;\r\n } else {\r\n this.claimRejectionNotes.get('customReason').disable();\r\n this.rejectExtra = false;\r\n }\r\n }\r\n\r\n CustomReason() {\r\n this._appService.SecurityService.rejectionNote = '';\r\n this._appService.SecurityService.rejectionNote = this.claimRejectionNotes.get('customReason').value;\r\n }\r\n}\r\n","export default \"/*.footer {\\r\\n position: fixed;\\r\\n left: 0;\\r\\n bottom: 5%;\\r\\n width: 75%;\\r\\n background-color: #EBF0FF;\\r\\n color: white;\\r\\n text-align: center;\\r\\n border-radius: 15px;\\r\\n border: 2px solid #D1D6F3;\\r\\n padding: 10px;\\r\\n left: 12%;\\r\\n color: black\\r\\n}*/\\r\\n\\r\\n.medivouch {\\r\\n position: fixed;\\r\\n top: 18%;\\r\\n width: 260px;\\r\\n height: 110px;\\r\\n background-color: #F4F1E6;\\r\\n /*background-image: url(../assets/MediVouch-Light.png); */\\r\\n background-size:cover;\\r\\n color: white;\\r\\n text-align: center;\\r\\n border-radius: 15px;\\r\\n border: 2px solid #CFC8BD;\\r\\n padding: 10px;\\r\\n left: 78%;\\r\\n color: black;\\r\\n cursor: pointer\\r\\n}\\r\\n\\r\\n.CookieNotice-SmallScreen {\\r\\n position: fixed;\\r\\n left: 5px;\\r\\n height: 50px;\\r\\n width: 360px;\\r\\n /*margin-left: -190px;*/\\r\\n bottom: 20px;\\r\\n /* background-color: #f2eee5;*/\\r\\n background: #ccefff;\\r\\n background: rgba(204, 239, 255, 0.7);\\r\\n text-align: center;\\r\\n border-radius: 15px;\\r\\n border: 1px solid #224295;\\r\\n /*color: black*/\\r\\n}\\r\\n\\r\\n.CookieNotice-SmallScreen p {\\r\\n color: black;\\r\\n }\\r\\n\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvYXBwLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7RUFhRTs7QUFFRjtFQUNFLGVBQWU7RUFDZixRQUFRO0VBQ1IsWUFBWTtFQUNaLGFBQWE7RUFDYix5QkFBeUI7RUFDekIseURBQXlEO0VBQ3pELHFCQUFxQjtFQUNyQixZQUFZO0VBQ1osa0JBQWtCO0VBQ2xCLG1CQUFtQjtFQUNuQix5QkFBeUI7RUFDekIsYUFBYTtFQUNiLFNBQVM7RUFDVCxZQUFZO0VBQ1o7QUFDRjs7QUFFQTtFQUNFLGVBQWU7RUFDZixTQUFTO0VBQ1QsWUFBWTtFQUNaLFlBQVk7RUFDWix1QkFBdUI7RUFDdkIsWUFBWTtFQUNaLCtCQUErQjtFQUMvQixtQkFBbUI7RUFDbkIsb0NBQW9DO0VBQ3BDLGtCQUFrQjtFQUNsQixtQkFBbUI7RUFDbkIseUJBQXlCO0VBQ3pCLGVBQWU7QUFDakI7O0FBRUU7SUFDRSxZQUFZO0VBQ2QiLCJmaWxlIjoic3JjL2FwcC9hcHAuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qLmZvb3RlciB7XHJcbiAgcG9zaXRpb246IGZpeGVkO1xyXG4gIGxlZnQ6IDA7XHJcbiAgYm90dG9tOiA1JTtcclxuICB3aWR0aDogNzUlO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNFQkYwRkY7XHJcbiAgY29sb3I6IHdoaXRlO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBib3JkZXItcmFkaXVzOiAxNXB4O1xyXG4gIGJvcmRlcjogMnB4IHNvbGlkICNEMUQ2RjM7XHJcbiAgcGFkZGluZzogMTBweDtcclxuICBsZWZ0OiAxMiU7XHJcbiAgY29sb3I6IGJsYWNrXHJcbn0qL1xyXG5cclxuLm1lZGl2b3VjaCB7XHJcbiAgcG9zaXRpb246IGZpeGVkO1xyXG4gIHRvcDogMTglO1xyXG4gIHdpZHRoOiAyNjBweDtcclxuICBoZWlnaHQ6IDExMHB4O1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNGNEYxRTY7XHJcbiAgLypiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vYXNzZXRzL01lZGlWb3VjaC1MaWdodC5wbmcpOyAqL1xyXG4gIGJhY2tncm91bmQtc2l6ZTpjb3ZlcjtcclxuICBjb2xvcjogd2hpdGU7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIGJvcmRlci1yYWRpdXM6IDE1cHg7XHJcbiAgYm9yZGVyOiAycHggc29saWQgI0NGQzhCRDtcclxuICBwYWRkaW5nOiAxMHB4O1xyXG4gIGxlZnQ6IDc4JTtcclxuICBjb2xvcjogYmxhY2s7XHJcbiAgY3Vyc29yOiBwb2ludGVyXHJcbn1cclxuXHJcbi5Db29raWVOb3RpY2UtU21hbGxTY3JlZW4ge1xyXG4gIHBvc2l0aW9uOiBmaXhlZDtcclxuICBsZWZ0OiA1cHg7XHJcbiAgaGVpZ2h0OiA1MHB4O1xyXG4gIHdpZHRoOiAzNjBweDtcclxuICAvKm1hcmdpbi1sZWZ0OiAtMTkwcHg7Ki9cclxuICBib3R0b206IDIwcHg7XHJcbiAgLyogIGJhY2tncm91bmQtY29sb3I6ICNmMmVlZTU7Ki9cclxuICBiYWNrZ3JvdW5kOiAjY2NlZmZmO1xyXG4gIGJhY2tncm91bmQ6IHJnYmEoMjA0LCAyMzksIDI1NSwgMC43KTtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgYm9yZGVyLXJhZGl1czogMTVweDtcclxuICBib3JkZXI6IDFweCBzb2xpZCAjMjI0Mjk1O1xyXG4gIC8qY29sb3I6IGJsYWNrKi9cclxufVxyXG5cclxuICAuQ29va2llTm90aWNlLVNtYWxsU2NyZWVuIHAge1xyXG4gICAgY29sb3I6IGJsYWNrO1xyXG4gIH1cclxuXHJcbiJdfQ== */\"","import { Component, Input, Inject, HostListener } from '@angular/core';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { RejectionCodesModel } from './models/RejectionCodesModel';\r\nimport { AppService } from './services/app.service';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router } from '@angular/router';\r\nimport { JoyrideService } from 'ngx-joyride';\r\nimport { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';\r\nimport { DefaultCodesModel } from './models/DefaultCodesModel';\r\nimport { VoucherHistory } from './models/history';\r\nimport { Faq } from './models/faq';\r\nimport { formatDate } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html',\r\n styleUrls: ['./app.component.css']\r\n})\r\n\r\nexport class AppComponent {\r\n title = 'app';\r\n //public showCookie: boolean = true;\r\n public showCookieNotice: boolean = false;\r\n public showCookieFullInfoModal: boolean = false;\r\n @Input() PasswordForm: FormGroup;\r\n @Input() TandCForm: FormGroup;\r\n private _closemodel: boolean;\r\n private _downloadpdf: boolean;\r\n public openSurvey: boolean = false;\r\n public url: string = this._appService.SettingService.surveyLink;\r\n public urlSafe: SafeResourceUrl;\r\n public lobCode: RejectionCodesModel;\r\n public claims: boolean = false;\r\n public voucher: boolean = false;\r\n public info: boolean = false;\r\n public membership: boolean = false;\r\n\r\n rejectionReasons: RejectionCodesModel[] = [];\r\n\r\n constructor(public router: Router, public _appService: AppService, @Inject('BASE_URL') public baseUrl: string,\r\n private _http: HttpClient, private fb: FormBuilder, private fbc: FormBuilder, private readonly joyrideService: JoyrideService, public sanitizer: DomSanitizer) {\r\n if (this._appService.LoginService.IsLoggedIn) {\r\n this.router.navigateByUrl('/dashboard');\r\n \r\n \r\n } else {\r\n router.navigateByUrl('/login');\r\n \r\n }\r\n\r\n //this.showCookie = true;\r\n\r\n // Cookie\r\n let c = localStorage.getItem(\"Cookies\");\r\n if (c == undefined || c == null || c != \"Accepted\") {\r\n this.showCookieNotice = true;\r\n } else if (c == \"Accepted\") {\r\n this.showCookieNotice = false;\r\n }\r\n\r\n }\r\n\r\n ngOnInit() {\r\n\r\n this.PasswordForm = this.fb.group({\r\n old: ['', Validators.required],\r\n new: ['', Validators.required],\r\n confirm: ['', Validators.required]\r\n });\r\n\r\n this.TandCForm = this.fbc.group({\r\n accepted: []\r\n\r\n });\r\n }\r\n\r\n @HostListener('window:resize', ['$event'])\r\n onResize(event) {\r\n this._appService.LoginService.ScreenWidth = window.innerWidth; \r\n }\r\n\r\n @HostListener('window:online', ['$event'])\r\n onLine(e: any) {\r\n this.addEntry(\"online\");\r\n alert(\"Internet connection restored\");\r\n }\r\n\r\n @HostListener('window:offline', ['$event'])\r\n offLine(e: any) {\r\n this.addEntry(\"offline\");\r\n alert(\"No internet connection\");\r\n }\r\n\r\n addEntry(onoff: string) {\r\n // Parse any JSON previously stored in allEntries\r\n var existingEntries = JSON.parse(localStorage.getItem(\"ConnectivityLog\"));\r\n if (existingEntries == null) existingEntries = [];\r\n //var entryTitle = document.getElementById(\"entryTitle\").value;\r\n //var entryText = document.getElementById(\"entryText\").value;\r\n var entry = {\r\n \"title\": onoff,\r\n \"text\": formatDate(new Date(), 'yyyy/MM/dd HH:mm:ss', 'en')\r\n };\r\n //localStorage.setItem(\"entry\", JSON.stringify(entry));\r\n // Save allEntries back to local storage\r\n existingEntries.push(entry);\r\n localStorage.setItem(\"ConnectivityLog\", JSON.stringify(existingEntries));\r\n };\r\n\r\n public get closemodel(): boolean {\r\n return this._closemodel;\r\n }\r\n public set closemodel(value: boolean) {\r\n this._closemodel = value;\r\n }\r\n public get downloadpdf(): boolean {\r\n return this._downloadpdf;\r\n }\r\n public set downloadpdf(value: boolean) {\r\n this._downloadpdf = value;\r\n }\r\n\r\n MembershipToggle() {\r\n this.membership = false;\r\n }\r\n //HideCookie() {\r\n // //localStorage.setItem(\"Cookies\", \"Accepted\");\r\n // this.showCookie = false;\r\n //}\r\n ShowCookieFullInfoModal() {\r\n this.showCookieFullInfoModal = true;\r\n }\r\n\r\n DismissCookieFullInfoModal() {\r\n this.showCookieFullInfoModal = false;\r\n this.HideCookieNotice();\r\n }\r\n\r\n HideCookieNotice() {\r\n this.showCookieNotice = false;\r\n localStorage.setItem(\"Cookies\", \"Accepted\");\r\n }\r\n onClick() {\r\n if (this._appService.LoginService.CurrentLoggedInUser.userType == 1) {\r\n if (this._appService.LoginService.ScreenWidth >= 768) {\r\n this.joyrideService.startTour({\r\n steps: ['Dash_1', 'Dash_2', 'Dash_3', 'Dash_4'],\r\n themeColor: '#313131'\r\n })\r\n }\r\n else {\r\n this.joyrideService.startTour({\r\n steps: ['smDash_2', 'smDash_3', 'smDash_4', 'smDash_6', 'smDash_8'],\r\n themeColor: '#313131'\r\n })\r\n } \r\n }\r\n if (this._appService.LoginService.CurrentLoggedInUser.userType == 3) {\r\n\r\n if (this._appService.LoginService.ScreenWidth >= 768) {\r\n this.joyrideService.startTour({\r\n steps: ['Dash_2', 'Dash_3', 'Dash_4', 'Dash_6', 'Dash_8'],\r\n themeColor: '#313131'\r\n })\r\n }\r\n else {\r\n this.joyrideService.startTour({\r\n steps: [ 'smDash_2', 'smDash_3', 'smDash_4', 'smDash_6', 'smDash_8'],\r\n themeColor: '#313131'\r\n })\r\n } \r\n }\r\n if (this._appService.LoginService.CurrentLoggedInUser.userType == 2) {\r\n this.joyrideService.startTour({\r\n steps: ['Dash_1', 'Dash_2', 'Dash_3', 'Dash_4'],\r\n themeColor: '#313131'\r\n })\r\n }\r\n }\r\n\r\n //NavigateToMedivouch() {\r\n // this.router.navigateByUrl('Medivouch');\r\n //}\r\n\r\n //VoucherClick(setting: string) {\r\n\r\n // // Set defaults\r\n // this._appService.MedivouchService.InsuranceVoucher = false;\r\n // this._appService.MedivouchService.HpCode = \"\";\r\n // this._appService.MedivouchService.Prefix = \"\";\r\n // this._appService.MedivouchService.Option = \"\";\r\n\r\n // // Set service variables accorrding to param passed\r\n // if (setting == \"Insurance\") {\r\n // this._appService.MedivouchService.InsuranceVoucher = true;\r\n // this._appService.MedivouchService.GetBasketHpCodes(this._appService.LoginService.CurrentLoggedInUser.specCode, this._appService.LoginService.CurrentLoggedInUser.provClass);\r\n // } else if (setting == \"MDV\") {\r\n // this._appService.MedivouchService.Prefix = 'MV';\r\n // this._appService.MedivouchService.HpCode = 'MDV';\r\n // this._appService.MedivouchService.Option = 'Medivouch';\r\n // } else if (setting == \"DRC\") {\r\n // this._appService.MedivouchService.Prefix = 'DRC'\r\n // this._appService.MedivouchService.HpCode = 'DRCV';\r\n // this._appService.MedivouchService.Option = 'ORAL';\r\n // }\r\n\r\n // // Open voucher redemption\r\n // this.router.navigateByUrl('vouchers');\r\n //}\r\n\r\n\r\n CheckPasswordOld() {\r\n\r\n this._appService.LoginService.passwordChange.oldPassword = this.PasswordForm.get(\"old\").value;\r\n this._appService.LoginService.CheckPasswordOld();\r\n }\r\n CheckPasswordNew() {\r\n this._appService.LoginService.passwordChange.newPassword = this.PasswordForm.get(\"new\").value;\r\n this._appService.LoginService.CheckPasswordNew();\r\n }\r\n CheckPasswordConfrim() {\r\n this._appService.LoginService.passwordChange.confirmPassword = this.PasswordForm.get(\"confirm\").value;\r\n this._appService.LoginService.CheckPasswordConfrim();\r\n }\r\n\r\n AcceptedTandC() {\r\n let x: boolean;\r\n x = this.TandCForm.get('accepted').value;\r\n\r\n if (x == true) {\r\n this._appService.LoginService.UpdateTCAccepted();\r\n }\r\n if (this._downloadpdf == true) {\r\n this.closemodel = true;\r\n } else {\r\n this.closemodel = false;\r\n }\r\n }\r\n\r\n Close() {\r\n this._appService.LoginService.poptcModel = false;\r\n if (this._appService.LoginService.CurrentLoggedInUser.userType == 1) {\r\n this.onClick();\r\n }\r\n }\r\n\r\n ValidateClose() {\r\n this._downloadpdf = true;\r\n\r\n let x: boolean;\r\n x = this.TandCForm.get('accepted').value;\r\n\r\n if (x) {\r\n this.closemodel = true;\r\n } else {\r\n this.closemodel = false;\r\n }\r\n }\r\n\r\n OnDoSurveyClick() {\r\n this._appService.SettingService.showSurvey = false;\r\n this._appService.openSurvey = true;\r\n }\r\n\r\n GetDefaultCodeForHistVoucher(data: VoucherHistory) {\r\n if (data.success) {\r\n let c: DefaultCodesModel = new DefaultCodesModel();\r\n c.provid = this._appService.LoginService.CurrentLoggedInUser.provID;\r\n let voucherNo: string;\r\n let d: string = data.voucherNo;\r\n voucherNo = data.voucherNo + \"_\";\r\n voucherNo = voucherNo + data.voucherBasket;\r\n\r\n\r\n\r\n c.id = voucherNo;\r\n this._appService.MedivouchService.voucherNo = c.id;\r\n this._appService.MedivouchService.GetDefaultCodeDetails(c);\r\n } else {\r\n this._appService.MedivouchService.voucherError = true;\r\n this._appService.MedivouchService.voucherErrorMsg = data.errorMsg;\r\n }\r\n\r\n }\r\n GetFaqForProviders() {\r\n let c: Faq = new Faq();\r\n c.usertype = \"1\";\r\n c.answer = \"\";\r\n c.question = \"\";\r\n this._appService.SecurityService.GetFaqs(c);\r\n }\r\n}\r\n","//import { BrowserModule } from '@angular/platform-browser';\r\nimport { NgModule } from '@angular/core';\r\nimport { DatePipe } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { RouterModule } from '@angular/router';\r\nimport { LoginComponent } from './Components/shared/login/login.component';\r\nimport { AppComponent } from './app.component';\r\nimport { ClarityModule } from '@clr/angular';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { JoyrideModule } from 'ngx-joyride';\r\nimport { NgxEchartsModule } from 'ngx-echarts';\r\nimport { MembershipComponent } from './Components/shared/membership/membership.component';\r\nimport { ProvclaimsComponent } from './Components/shared/provclaims/provclaims.component';\r\nimport { ClaimInfoComponent } from './Components/shared/claim-info/claim-info.component';\r\nimport { InfoDetailLinesComponent } from './Components/shared/info-detail-lines/info-detail-lines.component';\r\nimport { RejectClaimComponent } from './Components/shared/reject-claim/reject-claim.component';\r\nimport { MemberClaimsComponent } from './Components/shared/member-claims/member-claims.component';\r\nimport { MemberClaimService } from './services/member-claim.service';\r\nimport { MemberClaimInfoComponent } from './Components/shared/member-claim-info/member-claim-info.component';\r\nimport { AuthsComponent } from './Components/shared/auths/auths.component';\r\nimport { LOCALE_ID } from '@angular/core';\r\nimport { registerLocaleData } from '@angular/common';\r\nimport { ToastrModule } from 'ngx-toastr';\r\nimport localeENZA from '@angular/common/locales/en-ZA';\r\nimport { ClaimHistoryComponent } from './Components/shared/claim-history/claim-history.component';\r\nimport { DownloadsComponent } from './Components/shared/downloads/downloads.component'\r\nimport { NgxDropzoneModule } from 'ngx-dropzone';\r\nimport { ChronicCondAppComponent } from './Components/chronic-cond/chronic-cond-app/chronic-cond-app.component';\r\nimport { ChronicCondSubmittedListComponent } from './Components/chronic-cond/chronic-cond-submitted-list/chronic-cond-submitted-list.component';\r\nimport { ChronicCondUpdateComponent } from './Components/chronic-cond/chronic-cond-update/chronic-cond-update.component';\r\nimport { MemberFormComponent } from './Components/chronic-cond/chronic-cond-form-components/member-form/member-form.component';\r\nimport { ProviderFormComponent } from './Components/chronic-cond/chronic-cond-form-components/provider-form/provider-form.component';\r\nimport { BiometricFormComponent } from './Components/chronic-cond/chronic-cond-form-components/biometric-form/biometric-form.component';\r\nimport { RiskFactorsFormComponent } from './Components/chronic-cond/chronic-cond-form-components/risk-factors-form/risk-factors-form.component';\r\nimport { DeclarationFormComponent } from './Components/chronic-cond/chronic-cond-form-components/declaration-form/declaration-form.component';\r\nimport { DiabetesFormComponent } from './Components/chronic-cond/chronic-cond-form-components/diabetes-form/diabetes-form.component';\r\nimport { HyperlipidaemiaFormComponent } from './Components/chronic-cond/chronic-cond-form-components/hyperlipidaemia-form/hyperlipidaemia-form.component';\r\nimport { HypertensionFormComponent } from './Components/chronic-cond/chronic-cond-form-components/hypertension-form/hypertension-form.component';\r\nimport { AsthmaFormComponent } from './Components/chronic-cond/chronic-cond-form-components/asthma-form/asthma-form.component';\r\nimport { ConditionFormComponent } from './Components/chronic-cond/chronic-cond-form-components/condition-form/condition-form.component';\r\nimport { MedicationFormComponent } from './Components/chronic-cond/chronic-cond-form-components/medication-form/medication-form.component';\r\nimport { RequestedMedicationFormComponent } from './Components/chronic-cond/chronic-cond-form-components/requested-medication-form/requested-medication-form.component';\r\nimport { ChronicCondDetailViewComponent } from './Components/chronic-cond/chronic-cond-detail-view/chronic-cond-detail-view.component';\r\nimport { ComorbidFormComponent } from './Components/chronic-cond/chronic-cond-form-components/comorbid-form/comorbid-form.component';\r\nimport { DocumentsFormComponent } from './Components/chronic-cond/chronic-cond-form-components/documents-form/documents-form.component';\r\nimport { ClaimCaptureMainComponent } from './Components/administators/claim-capture-main/claim-capture-main.component';\r\nimport { ClaimCaptureNewComponent } from './Components/administators/claim-capture-main/claim-capture-new/claim-capture-new.component';\r\nimport { ViewCapturedClaimsComponent } from './Components/administators/claim-capture-main/view-captured-claims/view-captured-claims.component';\r\n\r\n\r\nregisterLocaleData(localeENZA);\r\n\r\n@NgModule({\r\n declarations: [\r\n AppComponent,\r\n LoginComponent,\r\n AuthsComponent,\r\n DownloadsComponent,\r\n MembershipComponent,\r\n ProvclaimsComponent,\r\n ClaimInfoComponent,\r\n InfoDetailLinesComponent,\r\n RejectClaimComponent,\r\n ClaimHistoryComponent,\r\n MemberClaimsComponent,\r\n MemberClaimInfoComponent, \r\n ChronicCondAppComponent,\r\n ChronicCondSubmittedListComponent,\r\n ChronicCondUpdateComponent, \r\n MemberFormComponent,\r\n ProviderFormComponent,\r\n BiometricFormComponent,\r\n RiskFactorsFormComponent,\r\n DeclarationFormComponent,\r\n DiabetesFormComponent,\r\n HyperlipidaemiaFormComponent,\r\n HypertensionFormComponent,\r\n AsthmaFormComponent,\r\n ConditionFormComponent,\r\n MedicationFormComponent,\r\n RequestedMedicationFormComponent,\r\n ChronicCondDetailViewComponent,\r\n ComorbidFormComponent,\r\n DocumentsFormComponent,\r\n ClaimCaptureMainComponent,\r\n ClaimCaptureNewComponent,\r\n ViewCapturedClaimsComponent\r\n ],\r\n imports: [\r\n //BrowserModule.withServerTransition({ appId: 'ng-cli-universal' }),\r\n HttpClientModule,\r\n FormsModule,\r\n NgxEchartsModule,\r\n RouterModule.forRoot([\r\n { path: 'login', component: LoginComponent }, \r\n { path: 'voucher-clients', loadChildren: () => import('./Components/voucheradmin/voucher-clients/voucher-clients.module').then(m => m.VoucherClientsModule) },\r\n { path: 'voucher-transactions', loadChildren: () => import('./Components/voucheradmin/voucher-transactions/voucher-transactions.module').then(m => m.VoucherTransactionsModule) },\r\n { path: 'administratordash', loadChildren: () => import('./Components/administators/administrator.module').then(m => m.AdministratorModule) } ,\r\n { path: 'Report', loadChildren: () => import('./Components/administators/reports/reports.module').then(m => m.ReportsModule) },\r\n { path: 'downloads', component: DownloadsComponent },\r\n { path: 'auths', component: AuthsComponent },\r\n { path: 'Auth-log', loadChildren: () => import('./Components/administators/log-new-auth/logauth.module').then(m => m.LogauthModule) },\r\n { path: 'membership', component: MembershipComponent },\r\n { path: 'claims', component: ProvclaimsComponent },\r\n { path: 'member-claims', component: MemberClaimsComponent },\r\n { path: 'bureau-remittances', loadChildren: () => import('./Components/bureau/remittances/remittances.module').then(m => m.RimittancesModule) },\r\n { path: 'ben-setup', loadChildren: () => import('./Components/administators/ben-setup/bensetup.module').then(m => m.BensetupModule) },\r\n { path: 'vouchers', loadChildren: () => import('./Components/provider/medivouch/medivouch.module').then(m => m.MedivouchModule) },\r\n { path: 'patient-wellness-form', loadChildren: () => import('./Components/provider/patient-wellness-form/patient-wellness-form.module').then(m => m.PatientWellnessFormModule) },\r\n { path: 'ClaimHistory', component: ClaimHistoryComponent },\r\n { path: 'claim-capture', loadChildren: () => import('./Components/administators/claim-capture/claim-capture.module').then(m => m.ClaimCaptureModule) },\r\n { path: 'checkrun', loadChildren: () => import('./Components/administators/checkrun/checkrun.module').then(m => m.CheckrunModule) },\r\n { path: 'provider-dash', loadChildren: () => import('./Components/provider/provider.module').then(m => m.ProviderModule) },\r\n { path: 'UploadAuths', loadChildren: () => import('./Components/provider/provider-file-upload/provider-file-upload.module').then(m => m.ProviderFileUploadModule) },\r\n { path: 'provider-remittances', loadChildren: () => import('./Components/provider/provremit/provremit.module').then(m => m.ProvremitModule) },\r\n { path: 'bureau-dash', loadChildren: () => import('./Components/bureau/bureau.module').then(m => m.BureauModule) },\r\n { path: 'bureau-practices', loadChildren: () => import('./Components/bureau/practices/practices.module').then(m => m.PracticeModule) },\r\n { path: 'benefits', loadChildren: () => import('./Components/provider/benefit-lookup/benefitlookup.module').then(m => m.BenefitlookupModule) }, \r\n { path: 'chronic-cond-app', component: ChronicCondAppComponent },\r\n { path: 'chronic-cond-submitted-list', component: ChronicCondSubmittedListComponent },\r\n { path: 'chronic-cond-update', component: ChronicCondUpdateComponent },\r\n { path: 'claim-capture-main', component: ClaimCaptureMainComponent, children: [\r\n { path: '', redirectTo: '/claim-capture-main', pathMatch: 'full' },\r\n { path: 'claim-capture-new', component: ClaimCaptureNewComponent },\r\n { path: 'view-captured-claims', component: ViewCapturedClaimsComponent }\r\n ]\r\n } \r\n ]),\r\n ClarityModule,\r\n BrowserAnimationsModule,\r\n ToastrModule.forRoot(),\r\n ReactiveFormsModule,\r\n JoyrideModule.forRoot(),\r\n NgxDropzoneModule\r\n ], \r\n providers: [{ provide: LOCALE_ID, useValue: 'en-za' }, DatePipe,],\r\n bootstrap: [AppComponent]\r\n})\r\nexport class AppModule { }\r\n","export class AccountingBureauRemittancesModel{\r\n public vendorid: number\r\n public amount:number\r\n public datepaid:Date\r\n public payments: number\r\n public file:boolean\r\n}\r\n","export class AdjustcodesModel {\r\n public code: string;\r\n public desc: string;\r\n public notes: string;\r\n}\r\n","export class AllocationListModel {\r\n basketId: string;\r\n basketAmount: number;\r\n fullPrice: number;\r\n qty: number;\r\n clientId: string;\r\n \r\n // Validation params\r\n success: boolean = false;\r\n message: string;\r\n\r\n // Frontend params\r\n user: string;\r\n}\r\n","export class AuthHeadersModel{\r\n\tpublic practice:string;\r\n public doctor:string;\r\n public memberno:string= \"\";\r\n public dependentcode:string\r\n public membername:string;\r\n public plan:string;\r\n public servicedate:string = \"\";\r\n public authno:string;\r\n public authorizedamount:string;\r\n public lobcode:string;\r\n public descr:string;\r\n public memberid:string;\r\n public memberdob: Date;\r\n public reff: string;\r\n}\r\n","export class AuthModel {\r\n\r\n public id: string;\r\n public desc: string; // Description of auth set (Gp Auth, Specialist etc)\r\n public membno: string;\r\n public dep: string;\r\n public hpcode: string;\r\n public opt: string; \r\n\r\n public spec: string;\r\n public specDesc: string;\r\n public proc: string;\r\n public procCode: string; \r\n public phCode: string;\r\n public phCodeDesc: string;\r\n public benType: string;\r\n public benDesc: string;\r\n\r\n public provid: string;\r\n public scvdate: string;\r\n public amount: string;\r\n public placeSvc: string;\r\n\r\n public refno: string;\r\n public authno: string;\r\n\r\n public diag1: string = \"\";\r\n public diag1desc: string = \"\";\r\n public diag2: string = \"\";\r\n public diag2desc: string = \"\";\r\n public diag3: string = \"\";\r\n public diag3desc: string = \"\";\r\n public diag4: string = \"\";\r\n public diag4desc: string = \"\";\r\n public qty: number;\r\n public authRefNo: string = \"\";\r\n public note: string = \"\";\r\n public reject: boolean = false;\r\n\r\n public username: string; \r\n public create: string; \r\n public benefitId: string;\r\n public displayAvailableBenefit: boolean;\r\n public enterAmount: boolean = false;\r\n public availableBenefitToAmtCheck: boolean;\r\n public includeLengthOfStay: boolean;\r\n}\r\n","export class BankingDetailModel {\r\n\r\n public provId: string;\r\n public claimno: string;\r\n public claimType: string;\r\n public batchNo: string;\r\n public bankName: string;\r\n public branchCode: string;\r\n public accountNo: string;\r\n public mainPolicyNo: string;\r\n public accType: string;\r\n public user: string;\r\n public hpcode: string;\r\n\r\n}\r\n","export class BatchDetailsModel {\r\n\r\n public paymentType: string;\r\n public batchNumber: string;\r\n public whereClause: string;\r\n public paydate: string;\r\n public hpCode: string;\r\n public sorting: string;\r\n}\r\n","export class CheckRunDetailsModel {\r\n\r\n public claimType: string;\r\n public claimNo: string;\r\n public rowId: string;\r\n\r\n}\r\n","import { MedicationModel } from './MedicationModel';\r\nimport { FileItemModel } from './FileItemModel';\r\nimport { MemberEligibilityModel } from './MemberEligibilityModel';\r\n\r\nexport class ChronicConditionApplicationModel {\r\n\r\n // Base info (applicable to all conditions)\r\n public conditionApplicationNumber: string;\r\n public conditionCode: string;\r\n public conditionDescription: string;\r\n public membId: string;\r\n public membFirstName: string;\r\n public membLastName: string;\r\n public membEmail: string;\r\n public provId: string;\r\n public provEmail: string;\r\n public referredYN: string;\r\n public refProvSpec: string;\r\n public refProvid: string;\r\n public refProvSurname: string;\r\n public refProvNotes: string;\r\n public referralLetterFiles: FileItemModel[];\r\n public applicationDate: string;\r\n public status: string;\r\n public cancellationNote: string;\r\n\r\n // Base Biometric\r\n public weight: string;\r\n public height: string;\r\n public bmi: string; \r\n public bloodPresSystolic: string;\r\n public bloodPresDiastolic: string;\r\n public cholesterolHDL: string;\r\n public cholesterolLDL: string;\r\n public cholesterolTRI: string;\r\n public cholesterolTotal: string;\r\n public cholesterolLdlHdlRatio: string;\r\n public diabetesYN: string;\r\n public diabetesType: string;\r\n public ogttResult: string;\r\n public hba1c: string;\r\n public fastingGlucoseResult: string;\r\n public randomGlucoseResult: string;\r\n public diabTestDate: string; \r\n\r\n //Risk Factors \r\n public predisposingRiskFactors: string;\r\n public alcohol: string;\r\n public obesity: string;\r\n public smoker: string;\r\n public smokeInPast: string;\r\n public cessationDate: string;\r\n public preExistingComplications: string;\r\n public ischaemicHeartDisease: string;\r\n public peripheralVascularDisease: string;\r\n public strokeAttacks: string;\r\n\r\n // Conditions Applied For\r\n public selectedConditions: string[];\r\n\r\n // Diabetes melutis\r\n public diabetesIcd10: string; \r\n public diabPathResultFiles: FileItemModel[];\r\n \r\n // Hyperlipidaemia\r\n public hyperlipidaemiaIcd10: string; \r\n public hyperlipidaemiatherapyYN: string;\r\n public hyperlipidaemiaTherapyDuration: string;\r\n public hyperlipidaemiaMedHist: MedicationModel[];\r\n public hyperlipPathResultFiles: FileItemModel[];\r\n public hyperlipidaemiaAtheroscleroticYN: string; \r\n public hyperlipidaemiaHypertensionTreatmentYN: string;\r\n public hyperlipidaemiaGeneticHyperlipidaemiaYN: string;\r\n public hyperlipidaemiaMaleBloodRelativeYN: string;\r\n public hyperlipidaemiaFemaleBloodRelativeYN: string;\r\n public hyperlipidaemiaTendonXanthomaYN: string;\r\n\r\n // Hypertension\r\n public hypertensionIcd10: string;\r\n public hypertensionSeverity: string; \r\n public hypertensionTherapyYN: string;\r\n public hypertensionMedHist: MedicationModel[];\r\n\r\n // Asthma\r\n public asthmaIcd10: string;\r\n public asthmaPleakFlow: string;\r\n public asthmaYounger3YN: string;\r\n public asthmaPaedFiles: FileItemModel[];\r\n public asthmaFlowVolFiles: FileItemModel[];\r\n\r\n // Requested medications\r\n public requestedMeds: MedicationModel[];\r\n public medPrescriptionFiles: FileItemModel[];\r\n\r\n // Additional Docs\r\n public additionalDocsFiles: FileItemModel[];\r\n\r\n // Comorbids\r\n public comorbidsExist: boolean;\r\n\r\n public asthmaCmICD10: string;\r\n public asthmaCmMedList: MedicationModel[];\r\n\r\n public diabCmICD10: string;\r\n public diabCmMedList: MedicationModel[];\r\n\r\n public hyperlipCmICD10: string;\r\n public hyperlipCmMedList: MedicationModel[];\r\n\r\n public hypertensionCmICD10: string;\r\n public hypertensionCmMedList: MedicationModel[];\r\n\r\n public addisCmICD10: string;\r\n public addisCmMedList: MedicationModel[];\r\n\r\n public bipolCmICD10: string;\r\n public bipolCmMedList: MedicationModel[];\r\n\r\n public bronchCmICD10: string;\r\n public bronchCmMedList: MedicationModel[];\r\n\r\n public cardiacCmICD10: string;\r\n public cardiacCmMedList: MedicationModel[];\r\n\r\n public cardiomCmICD10: string;\r\n public cardiomCmMedList: MedicationModel[];\r\n\r\n public copdCmICD10: string;\r\n public copdCmMedList: MedicationModel[];\r\n\r\n public renalCmICD10: string;\r\n public renalCmMedList: MedicationModel[];\r\n\r\n public coronarCmICD10: string;\r\n public coronarCmMedList: MedicationModel[];\r\n\r\n public crohnsCmICD10: string;\r\n public crohnsCmMedList: MedicationModel[];\r\n\r\n public diabinsipCmICD10: string;\r\n public diabinsipCmMedList: MedicationModel[];\r\n\r\n public dysrhytCmICD10: string;\r\n public dysrhytCmMedList: MedicationModel[];\r\n\r\n public epilCmICD10: string;\r\n public epilCmMedList: MedicationModel[];\r\n\r\n public glaucomCmICD10: string;\r\n public glaucomCmMedList: MedicationModel[];\r\n\r\n public haemophilCmICD10: string;\r\n public haemophilCmMedList: MedicationModel[];\r\n\r\n public hypothCmICD10: string;\r\n public hypothCmMedList: MedicationModel[];\r\n\r\n public sclerosisCmICD10: string;\r\n public sclerosisCmMedList: MedicationModel[];\r\n\r\n public parkinsCmICD10: string;\r\n public parkinsCmMedList: MedicationModel[];\r\n\r\n public rheumaCmICD10: string;\r\n public rheumaCmMedList: MedicationModel[];\r\n\r\n public schizoCmICD10: string;\r\n public schizoCmMedList: MedicationModel[];\r\n\r\n public lupusCmICD10: string;\r\n public lupusCmMedList: MedicationModel[];\r\n\r\n public ulceraCmICD10: string;\r\n public ulceraCmMedList: MedicationModel[];\r\n\r\n\r\n // When searching for submitted applications for whole family\r\n public familyMembers: MemberEligibilityModel[];\r\n\r\n // Validation Params\r\n public success: boolean;\r\n public message: string;\r\n\r\n // Frontend params\r\n public user: string;\r\n public currentPage: string;\r\n}\r\n","export class ChronicConditionDiagsModel {\r\n\r\n public conditionCode: string;\r\n public diagCode: string;\r\n public diagDesc: string;\r\n\r\n public success: boolean;\r\n public message: string;\r\n public user: string;\r\n}\r\n","export class ClaimCodesModel {\r\n\r\n public id: string;\r\n public mediRef: string;\r\n public drcRef: string;\r\n public provid: string;\r\n public membId: string;\r\n public name: string;\r\n public surname: string;\r\n public prefix: string;\r\n public phCode: string;\r\n public hpCode: string; \r\n public option: string;\r\n public code: string;\r\n public desc: string;\r\n public enterQty: boolean;\r\n public enterTooth: boolean;\r\n public toothNo: string;\r\n public qty: string;\r\n public singleUnitAmount: string;\r\n public total: string = \"0.00\";\r\n public diag: string;\r\n public user: string;\r\n public membpay: string = \"0.00\";\r\n public provpay: string = \"0.00\";\r\n public createClaim: boolean;\r\n\r\n}\r\n","export class ClaimDetailModel {\r\n arrayId: string = \"\";\r\n lineNo: number;\r\n procCode: string = \"\";\r\n procCodeDesc: string = \"\";\r\n procCodePadded: string = \"\";\r\n phCode: string = \"\";\r\n phCodeDesc: string = \"\";\r\n svcDateFrom: Date = null;\r\n svcDateTo: Date = null;\r\n billed: string = \"\";\r\n qty: number = 0;\r\n diag: string = \"\";\r\n diagDesc: string = \"\";\r\n rejCode: string = \"\";\r\n rejCodeDesc: string = \"\";\r\n tooth1: string = \"\";\r\n tooth1Desc: string = \"\";\r\n tooth2: string = \"\";\r\n tooth2Desc: string = \"\";\r\n tooth3: string = \"\";\r\n tooth3Desc: string = \"\";\r\n tooth4: string = \"\";\r\n tooth4Desc: string = \"\";\r\n tooth5: string = \"\";\r\n tooth5Desc: string = \"\";\r\n tooth6: string = \"\";\r\n tooth6Desc: string = \"\";\r\n tooth7: string = \"\";\r\n tooth7Desc: string = \"\";\r\n tooth8: string = \"\";\r\n tooth8Desc: string = \"\";\r\n modifier1: string = \"\";\r\n modifier1Desc: string = \"\";\r\n modifier2: string = \"\";\r\n modifier2Desc: string = \"\";\r\n modifier3: string = \"\";\r\n modifier3Desc: string = \"\";\r\n modifier4: string = \"\";\r\n modifier4Desc: string = \"\";\r\n note: string = \"\";\r\n rec2Id: number;\r\n toothNumString: string = \"\";\r\n modCodesString: string = \"\";\r\n\r\n //GetToothNumString(): string {\r\n // // Build tooth number string\r\n // let toothNumStr: string = \"\";\r\n // if (this.tooth1 != \"\") { toothNumStr += this.tooth1 + \",\"; }\r\n // if (this.tooth2 != \"\") { toothNumStr += this.tooth2 + \",\"; }\r\n // if (this.tooth3 != \"\") { toothNumStr += this.tooth3 + \",\"; }\r\n // if (this.tooth4 != \"\") { toothNumStr += this.tooth4 + \",\"; }\r\n // if (this.tooth5 != \"\") { toothNumStr += this.tooth5 + \",\"; }\r\n // if (this.tooth6 != \"\") { toothNumStr += this.tooth6 + \",\"; }\r\n // if (this.tooth7 != \"\") { toothNumStr += this.tooth7 + \",\"; }\r\n // if (this.tooth8 != \"\") { toothNumStr += this.tooth8 + \",\"; }\r\n\r\n // // Check if last character is a comma then remove the last comma\r\n // if (toothNumStr.substring(toothNumStr.length - 1, toothNumStr.length) == \",\") {\r\n // toothNumStr = toothNumStr.substring(0, toothNumStr.length - 1)\r\n // }\r\n // return toothNumStr;\r\n //}\r\n\r\n //GetModCodesString(): string {\r\n // // Build mod code string\r\n // let modCodesStr: string = \"\";\r\n // if (this.modifier1 != \"\") { modCodesStr += this.modifier1 + \",\"; }\r\n // if (this.modifier2 != \"\") { modCodesStr += this.modifier2 + \",\"; }\r\n // if (this.modifier3 != \"\") { modCodesStr += this.modifier3 + \",\"; }\r\n // if (this.modifier4 != \"\") { modCodesStr += this.modifier4 + \",\"; }\r\n\r\n // // Check if last character is a comma then remove the last comma\r\n // if (modCodesStr.substring(modCodesStr.length - 1, modCodesStr.length) == \",\") {\r\n // modCodesStr = modCodesStr.substring(0, modCodesStr.length - 1)\r\n // }\r\n // return modCodesStr;\r\n //} \r\n}\r\n","export class ClaimHeadersModel{\r\n provname: string;\r\n practice:string;\r\n doctor:string;\r\n memberNo:string=\"\";\r\n dependent:string;\r\n memberName:string;\r\n plan: string;\r\n receivedDate: string;\r\n serviceDate: string;\r\n serviceDateFrom: string;\r\n serviceDateTo: string;\r\n reversedDate: string;\r\n claimNo:string;\r\n isPaid:string;\r\n status:string;\r\n charged:string;\r\n paid:string;\r\n accountNo:string;\r\n datePaid:string;\r\n checkNo:number;\r\n memberDOB:Date;\r\n memberId:string=\"\";\r\n providerId:string=\"\";\r\n paidTo: string;\r\n opt: string;\r\n memberLastName: string;\r\n memberFirstName: string;\r\n contracted: string;\r\n\r\n}\r\n","import { ClaimDetailModel } from \"./ClaimDetailModel\";\r\n\r\nexport class ClaimMasterModel {\r\n hpCode: string = \"\";\r\n hpCodeDesc: string = \"\";\r\n provHosp: string = \"\";\r\n provHospDesc: string = \"\";\r\n provId: string = \"\";\r\n provName: string = \"\";\r\n provSpec: string = \"\";\r\n provSpecDescr: string = \"\";\r\n vendor: string = \"\";\r\n vendorName: string = \"\";\r\n refProvId: string = \"\";\r\n refProvName: string = \"\";\r\n refProvSpec: string = \"\";\r\n refProvSpecDescr: string = \"\";\r\n provClaim: string = \"\";\r\n policyNo: string = \"\";\r\n familyOpt: string = \"\";\r\n dependant: string = \"\";\r\n dependantFirstnm: string = \"\";\r\n dependantLastnm: string = \"\"; \r\n membId: string = \"\";\r\n depOpthruDt: string = \"\";\r\n dateReceived: Date = null;\r\n claimType: string = \"\";\r\n claimTypeDesc: string = \"\";\r\n authNo: string = \"\";\r\n diag1: string = \"\";\r\n diag1desc: string = \"\";\r\n diag2: string = \"\";\r\n diag2desc: string = \"\";\r\n diag3: string = \"\";\r\n diag3desc: string = \"\";\r\n diag4: string = \"\";\r\n diag4desc: string = \"\";\r\n //diag5: string = \"\";\r\n //diag5desc: string = \"\";\r\n userName: string = \"\";\r\n claimDetails: ClaimDetailModel[] = []; \r\n clientCreateDate: string = null;\r\n apiCreateDate: string = \"\";\r\n rec1Id: number;\r\n fileId: number;\r\n exception: string = \"\";\r\n\r\n get detailLinesBilledTotal() : number {\r\n let total: number = 0;\r\n this.claimDetails.forEach((el: ClaimDetailModel) => {\r\n total += Number(el.billed);\r\n })\r\n return total;\r\n }\r\n\r\n CheckValidDates(): string {\r\n let errLines: string = \"\";\r\n\r\n // Check if Master received date is before service date on claim detail lines\r\n this.claimDetails.forEach((el: ClaimDetailModel) => {\r\n if (this.dateReceived < el.svcDateTo) {\r\n errLines += el.lineNo + \",\"\r\n }\r\n }) \r\n\r\n // Check if last character is a comma then remove the last comma\r\n if (errLines.substring(errLines.length - 1, errLines.length) == \",\") {\r\n errLines = errLines.substring(0, errLines.length - 1)\r\n }\r\n\r\n return errLines;\r\n } \r\n}\r\n","export class ClaimReport {\r\n public dateCreated:string;\r\n public batchNo:string;\r\n public provid:string;\r\n public memb:string;\r\n public billed:string;\r\n public hpcode:string;\r\n public detailLines: string;\r\n public user: string;\r\n public ezcapClaimNo: string;\r\n public page: number;\r\n public capturedFrom: string;\r\n public capturedTo: string;\r\n public userClaimsOnly: boolean;\r\n public username: string;\r\n}\r\n","export class ClaimReversalModel {\r\n memberNumber:string\r\n healthPlan: string;\r\n serviceDate: string;\r\n claimNumber: string;\r\n chargedAmount: string;\r\n paidAmount: string;\r\n paidDate:string\r\n recievedDate: string;\r\n showClaimModal: boolean;\r\n\r\n}\r\n","export class ClaimsModel {\r\n\r\n public user: string;\r\n public specCode: string;\r\n public hpCode: string;\r\n public endDate: string = \"\";\r\n public sum: string;\r\n public amountOfRecords: string;\r\n public specCodeDesc: string;\r\n public claimType: string;\r\n public whereClause: string;\r\n public sorting: string;\r\n public provid: string;\r\n public membid: string;\r\n public claimno: string;\r\n public serviceToDate: string;\r\n\r\n}\r\n","export class DefaultCodesModel {\r\n public heading: string;\r\n public user: string;\r\n public membName: string;\r\n public membIDNo: string;\r\n public membSurname: string;\r\n public prefix: string;\r\n public hpCode: string;\r\n public option: string; \r\n public id: string;\r\n public enabled: boolean;\r\n public added: boolean;\r\n public code: string;\r\n public phcode: string;\r\n public enterQty: boolean;\r\n public defaultQty: number;\r\n public enterTooth: boolean;\r\n\r\n public dependantOnCode: boolean;\r\n public depCode: string;\r\n public desc: string;\r\n public headDesc: string;\r\n public createClaim: boolean;\r\n public page: number;\r\n public price: string;\r\n public fullPrice: string;\r\n public provid: string;\r\n public provSpec: string;\r\n public provClass: string;\r\n public total: string;\r\n public membContact: string;\r\n public toothNo: string;\r\n public merchantID: string;\r\n}\r\n","export class DetailLinesModel {\r\n\r\n public diagdesc: string;\r\n public diagcode: string;\r\n public provid: string;\r\n public provspec: string;\r\n public provname: string;\r\n public provdesc: string;\r\n public claimNo: string;\r\n public refProvId: string;\r\n public refProfName: string;\r\n public specCode: string;\r\n public desc: string;\r\n public dateRec: string;\r\n public tblRowID: string;\r\n public billed: string;\r\n public coPay: string;\r\n public adjCode: string;\r\n public adjust: string;\r\n public tarrif: string;\r\n public net: string;\r\n public adjCode2: string;\r\n public comments: string;\r\n public isRejected: boolean;\r\n public srvCode: string;\r\n public srvCodeDesc: string;\r\n public fromDate: string;\r\n public tooDate: string;\r\n public provClaim: string;\r\n public reversedate: string;\r\n public claimOriginal: string;\r\n public claimreverse: string;\r\n public rejectable: boolean;\r\n public status: string;\r\n public clinicalCodes: string;\r\n\r\n //todo: add claim status\r\n\r\n\r\n}\r\n","export class EmailsModel{\r\n bureauRegistration:string;\r\n bureauRecovery:string;\r\n}\r\n","export class FileItemModel {\r\n \r\n public name: string;\r\n public type: string;\r\n public fileDesc: string;\r\n public isEnabled: boolean;\r\n public isProgress: boolean;\r\n public isProgressValue: string;\r\n public base64Str: string; \r\n \r\n}\r\n","export class HP_ContractsModel{\r\n public hpcode: string = '000'\r\n public hpname: string\r\n public chronicConditionsContract: boolean\r\n}\r\n","export class HeaderModel{\r\n accountingBureau:string;\r\n provider:string;\r\n default:string;\r\n admin:string;\r\n administrators: string;\r\n member: string;\r\n broker: string;\r\n}\r\n","export class HealthPlanSetupModel{\r\n hpCode:string\r\n hpName:string\r\n isEnabledMember: boolean\r\n isEnabledBroker: boolean\r\n isEnabledClaim: boolean\r\n membRegistration:boolean\r\n dentists: boolean\r\n contracted: boolean\r\n notcontracted: boolean\r\n specialists:boolean\r\n hpdate:number\r\n}\r\n","export class ImagespecModel{\r\n imgDRC:string;\r\n widthDRC:number;\r\n heightDRC:number;\r\n\r\n imgPAMC:string;\r\n widthPAMC:number;\r\n heightPAMC: number;\r\n\r\n\r\n imgCombined:string;\r\n widthCombined:number;\r\n heightCombined:number;\r\n\r\n imgPositionVertical:number;\r\n imgPositionHorizontal:number;\r\n}\r\n","export class LOBcodesModel{\r\n code:string;\r\n descr:string;\r\n}\r\n","export class LoginDetailsModel{\r\n username: string;\r\n password: string;\r\n userType: number;\r\n createBy :string;\r\n createDate:Date;\r\n changeBy:string;\r\n changeDate:Date;\r\n success: boolean;\r\n dentist: boolean;\r\n specialist: boolean;\r\n pharmacy: boolean;\r\n hospital: boolean;\r\n errorMessage:string;\r\n provID:string;\r\n bureauId: string;\r\n brokerId: string;\r\n specCode:string\r\n description:string\r\n firstname:string\r\n lastname:string\r\n contact:string\r\n contract:string\r\n lobcode:string\r\n lobdesc: [] = [];\r\n client: string;\r\n memberIdNumber: string\r\n memberNumber: string\r\n provClass: string;\r\n email: string;\r\n}\r\n","export class MedicationModel {\r\n\r\n // Params to manage list items in code\r\n public arrayId: string; \r\n public section: string;\r\n public condCode: string;\r\n //public hypertensionTherapy: boolean;\r\n //public hyperlipidaemiaTherapy: boolean;\r\n\r\n // Data to be saved to DB\r\n public icd10: string; \r\n public prescriptionSvcCode: string;\r\n public svcCodeDescr: string;\r\n public strength: string;\r\n public dosage: string;\r\n public qtyPerMonth: string;\r\n public numRepeats: string; \r\n public historyMed: boolean;\r\n public comorbid: boolean;\r\n \r\n \r\n // From Database\r\n public conditionApplicationNumber: string;\r\n public rowid: string;\r\n}\r\n","export class MedicineCodesModel {\r\n \r\n public svcCode: string;\r\n public phCode: string;\r\n public svcDesc: string;\r\n \r\n // Validations vars\r\n public success: boolean;\r\n public message: string;\r\n public user: string;\r\n}\r\n","import { MemberWaitSpecExlModel } from \"./MemberWaitSpecExlModel\";\r\n\r\nexport class MemberEligibilityModel{\r\n membid:string =\"\" \r\n rlship:number \r\n lastnm :string =\"\"\r\n firstnm: string = \"\"\r\n email: string = \"\"\r\n hpfromdt:Date \r\n hpcode :string\r\n opt :string \r\n opfromdt :Date\r\n opthrudt :string\r\n birth:string =null\r\n subssn:string\r\n relation:string\r\n dependant :string\r\n hpname:string \r\n lobcode:string \r\n termcode:string\r\n memberStatus: string\r\n ToServDate: string;\r\n consultations: number\r\n days: number\r\n type: number\r\n dentist: boolean;\r\n fromdate: string;\r\n todate: string;\r\n waitAndSpecExcls: MemberWaitSpecExlModel[];\r\n}\r\n","export class MemberNoModel {\r\n public memberNo: string;\r\n public hpcode: string;\r\n public usertype: string;\r\n}\r\n","export class ModifiedClaimsArrayModel {\r\n\r\n public description: string;\r\n public specCode: string\r\n public amountOfClaims: string;\r\n public memberPayment: string;\r\n public providerPayment: string;\r\n public include: boolean;\r\n\r\n}\r\n","export class ModifierModel {\r\n public modcode: string;\r\n}\r\n","export class PasswordChange{\r\n oldPassword:string;\r\n newPassword:string;\r\n confirmPassword:string;\r\n}\r\n","export class ProviderRemittancesModel{\r\n public provid: string\r\n public claim: string\r\n public datepaid:Date\r\n public net:number\r\n public file:boolean\r\n public chprefix:number\r\n}\r\n","export class Recordtype1Model {\r\n public TYPE: number = 1;\r\n public PHCODE: string; \r\n public PROVCLAIM: string; \r\n public EZCAPAUTH: string; \r\n public EZCAPPROV: string; \r\n public EZCAPMEMB: string; \r\n public PLACE: string; \r\n public OUTCOME: string;\r\n public EDIREF: string;\r\n public CASENUM: string;\r\n public UNITS: number;\r\n public Rec0ID: number;\r\n public Rec1ID: number;\r\n public CLAIMTYPE: string; \r\n public REFPROVID: string; \r\n public VENDORID: string; \r\n public DATERECD: string;\r\n public BATCH_NO: string;\r\n public EXT_SWITCH: string;\r\n public hpCode: string;\r\n public lobCode: string;\r\n public membDepCode: string;\r\n public createBy: string;\r\n}\r\n","export class Recordtype2Model {\r\n public ModCodesString: string;\r\n public toothNumString: string;\r\n public rec2IDDb: number;\r\n public rec2IDArr: number;\r\n public Rec2IDDb: number;\r\n public Rec2IDArr: number;\r\n public TYPE: number = 2;\r\n public PHCODE: string = 'P';\r\n public FROMDATE: any;\r\n public TODATE: any;\r\n public PROCCODE: string;\r\n public CURR_MODCODE: string\r\n public CURR_MODAMOUNT: string\r\n public MODCODE: string\r\n public MODAMOUNT: string\r\n public MODCODE2: string\r\n public MODAMOUNT2: string\r\n public MODCODE3: string\r\n public MODAMOUNT3: string\r\n public MODCODE4: string\r\n public MODAMOUNT4: string\r\n public QTY: string;\r\n public BILLED: any;\r\n public DIAGREF: number = 1;\r\n public BUNDLER: string\r\n public BUNDLERTYP: string\r\n public COPAY: string\r\n public MANDISCOUNT: string\r\n public TRANSACT_NO: string\r\n public PROCCODE_DESC: string\r\n public CLINICALCODE1: string\r\n public CLINICALCODE2: string\r\n public CLINICALCODE3: string\r\n public CLINICALCODE4: string\r\n public CLINICALCODE5: string\r\n public CLINICALCODE6: string\r\n public CLINICALCODE7: string\r\n public CLINICALCODE8: string\r\n public MEMO1: string\r\n public MEMO2: string\r\n public MEMO3: string\r\n public MEMO4: string\r\n public MEMO5: string\r\n public MEMO6: string\r\n public MEMO7: string\r\n public MEMO8: string\r\n public MEMO9: string\r\n public MEMO10: string\r\n public Rec1ID: number;\r\n public hpCode: string;\r\n \r\n}\r\n\r\n","export class Recordtype4Model {\r\n NOTE: string;\r\n TYPE: number = 4;\r\n LINE: number;\r\n Rec2ID: number;\r\n Rec2ArrID: number;\r\n}\r\n","export class Recordtype5Model {\r\n public TYPE: number = 5;\r\n public DIAGREF: number;\r\n public DIAG: string;\r\n public INPUTROW: number;\r\n public MASTERROW: number;\r\n public FILENAME: string;\r\n public ROWID: number;\r\n public FieldID: number;\r\n}\r\n","export class Recordtype8Model {\r\n public TYPE: string = \"8\";\r\n public LINE: string;\r\n public ADJCODE: string;\r\n public ADJUST: string;\r\n public COMMENT: string;\r\n public Rec2IDdb: number;\r\n public Rec2IDArr: number;\r\n}\r\n","export class RejectClaimDetailModel {\r\n\r\n public claimNo: string;\r\n public tblRowId: string;\r\n public rejectionReason: string;\r\n public rejectCode: string;\r\n public reverse: string;\r\n public notes: string;\r\n}\r\n","export class RejectionCodesModel {\r\n public code: string;\r\n public reason: string;\r\n public lobCode: string\r\n public username: string;\r\n public userType: number;\r\n\r\n}\r\n","export class SettingsModel{\r\n origanalSettingsId:string\r\n settingsId: string\r\n description: string\r\n required: boolean\r\n enabled: boolean\r\n createBy :string;\r\n createDate:Date;\r\n changeBy:string;\r\n changeDate:Date;\r\n administrator:boolean;\r\n administratorRequired:boolean;\r\n provider:boolean;\r\n providerRequired:boolean;\r\n}","import { AuthSpecDetail } from \"./AuthSpecDetail\";\r\n\r\nexport class SpecCodes {\r\n public code: string;\r\n public desc: string;\r\n public page: number;\r\n public specDetail: AuthSpecDetail[];\r\n public selectedProcCode: string;\r\n public selectedBenCode: string;\r\n public selected: boolean;\r\n public procCode: string;\r\n public benCode: string;\r\n public id: number;\r\n public user: string;\r\n public provId: string;\r\n public srvDate: string;\r\n public amount: string;\r\n public phcode: string;\r\n\r\n public success: boolean;\r\n public message: string; \r\n}\r\n","export class ToothNumbersModel {\r\n public toothNum: string = \"\";\r\n public toothNumDesc: string = \"\";\r\n}\r\n","export class UserRightsModel {\r\n\r\n public checkrunTab: boolean;\r\n public claimCaptureTab: boolean;\r\n public claimSearchRejection: boolean;\r\n public benefitlookup: boolean;\r\n public releaseCheckrun: boolean;\r\n public claimSearchReverse: boolean;\r\n public editReleaseBatch: boolean;\r\n public reportTab: boolean;\r\n public authUploadTabd: boolean;\r\n public authsubmisionTab: boolean;\r\n public benSetupTab: boolean;\r\n public authLogTab: boolean;\r\n public singleAuth: boolean;\r\n public membership: boolean;\r\n public membClaims: boolean;\r\n public provClaims: boolean;\r\n public accRegister: boolean;\r\n public Settings: boolean;\r\n public hpSetup: boolean;\r\n public RegUsers: boolean;\r\n public manuals: boolean;\r\n public claimsRestore: boolean;\r\n public userRights: boolean;\r\n public voucherPartners: boolean;\r\n public medivouch: boolean;\r\n public chronicConditions: boolean;\r\n\r\n}\r\n","export class UsertypeModel {\r\n userTypeId: string = '000';\r\n userType: string;\r\n createBy: string;\r\n createDate: string;\r\n changeBy: string;\r\n changeDate: string;\r\n userRegistration:boolean\r\n}\r\n","export class ValidationResultsModel {\r\n valid: boolean;\r\n message: string;\r\n}\r\n","export class VendorInfoModel\r\n{\r\n public vendorType: string;\r\n public vendorTypeDescr: string;\r\n public vendorId: string;\r\n public vendorName: string; \r\n public specCode: string;\r\n public specCodeDescr: string;\r\n}\r\n","export class VendoridsModel {\r\n public provider: string;\r\n public vendor: string;\r\n public lastName: string;\r\n public displayItem: string;\r\n}\r\n","export class VoucherClientModel {\r\n\r\n // From DB\r\n clientId: string = \"0\";\r\n clientName: string = \"\";\r\n balance: string = \"0.00\";\r\n contactPerson: string = \"\";\r\n telNo: string = \"\";\r\n email: string = \"\";\r\n hpCode: string = \"\";\r\n opt: string = \"\";\r\n createDate: string;\r\n\r\n // Validation params\r\n success: boolean = false;\r\n message: string;\r\n\r\n // Frontend params\r\n user: string;\r\n startDate: string;\r\n endDate: string\r\n}\r\n","export class VoucherTransactionModel {\r\n\r\n // From DB\r\n tranId: string = \"0\";\r\n tranCode: string = \"\";\r\n description: string = \"\";\r\n amount: string = \"0.00\";\r\n clientId: string = \"\";\r\n voucherId: string = \"\";\r\n voucherBatch: string = \"\";\r\n notes: string = \"\";\r\n createDate: string = \"\";\r\n\r\n //Validation Params\r\n success: boolean = false;\r\n message: string;\r\n\r\n //Front end params\r\n user: string;\r\n balance: string;\r\n}\r\n\r\n","export class BenifitResults {\r\n public days: number;\r\n public tootno: string;\r\n public indicate: string;\r\n public ageMessage: string;\r\n public age: string;\r\n public provid: string;\r\n public membid: string;\r\n public svcDate: string;\r\n public months: number;\r\n}\r\n","export class BenifitRights {\r\n public benName: string;\r\n public opt: string;\r\n public hp: string;\r\n public provid: string;\r\n public membid: string;\r\n public enabled: boolean;\r\n public defaultProc: boolean;\r\n public id: number;\r\n public results: string[] = [];\r\n public preAuth: boolean;\r\n public reff: string;\r\n public dentice: boolean;\r\n}\r\n","export class Diagcodes {\r\n\r\n public code: string;\r\n public desc: string;\r\n\r\n}\r\n","export class Faq {\r\n public question :string;\r\n public answer: string;\r\n public usertype: string;\r\n}\r\n","export class VoucherHistory {\r\n\r\n public success: boolean;\r\n public time: string;\r\n public voucherNo: string;\r\n public voucherName: string;\r\n public voucherBasket: string;\r\n public redeemed: boolean;\r\n public errorMsg: string;\r\n\r\n}\r\n","import { Recordtype1Model } from './Recordtype1Model';\r\nimport { Recordtype2Model } from './Recordtype2Model';\r\nimport { Recordtype4Model } from './Recordtype4Model';\r\nimport { Recordtype5Model } from './Recordtype5Model';\r\nimport { Recordtype8Model } from './Recordtype8Model';\r\n\r\nexport class Objectlog {\r\n public header: Recordtype1Model = new Recordtype1Model()\r\n public detail: Recordtype2Model[] = [];\r\n public notes: Recordtype4Model[] = [];\r\n public diags: Recordtype5Model[] = [];\r\n public rejects: Recordtype8Model[] = [];\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { LoginService } from './login.service';\r\nimport { SettingsService } from './settings.service';\r\nimport { SecurityService } from './security.service';\r\nimport { GraphsService } from './graphs.service';\r\nimport { MembershipService } from './membership.service';\r\nimport { CheckrunService } from './checkrun.service';\r\nimport { MemberClaimService } from './member-claim.service';\r\nimport { ClaimCaptureService } from './claim-capture.service';\r\nimport { AuthorizationService } from './authorization.service';\r\nimport { FileuploadService } from './upload-file.service';\r\nimport { MedivouchService } from './medivouch.service';\r\nimport { VoucherAdminService } from './voucher-admin.service';\r\nimport { PatientWellnessService } from './patient-wellness.service';\r\nimport { ChronicConditionService } from './chronic-condition.service';\r\nimport { ValidationService } from './validation.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AppService {\r\n\r\n public openSurvey: boolean = false;\r\n\r\n constructor(private _loginService: LoginService, private _settingService: SettingsService, private _securityService: SecurityService,\r\n private _grapgService: GraphsService, private _membershipService: MembershipService, private _checkRunService: CheckrunService,\r\n private _memberClaimService: MemberClaimService, private _claimCaptureService: ClaimCaptureService,\r\n private _authService: AuthorizationService, private _uploadFileService: FileuploadService,\r\n private _medivouchService: MedivouchService, private _voucherAdminService: VoucherAdminService,\r\n private _patientWelnessService: PatientWellnessService, private _chronicConditionService: ChronicConditionService,\r\n private _validationService: ValidationService ) { }\r\n\r\n\r\n\r\n public get LoginService(): LoginService {\r\n return this._loginService;\r\n }\r\n public get SettingService(): SettingsService {\r\n return this._settingService;\r\n }\r\n public get SecurityService(): SecurityService {\r\n return this._securityService;\r\n }\r\n public get GraphsService(): GraphsService {\r\n return this._grapgService;\r\n }\r\n public get MembershipService(): MembershipService {\r\n return this._membershipService;\r\n }\r\n public get CheckRunService(): CheckrunService {\r\n return this._checkRunService;\r\n }\r\n\r\n public get MedivouchService(): MedivouchService {\r\n return this._medivouchService;\r\n }\r\n\r\n public get MemberClaimService(): MemberClaimService {\r\n return this._memberClaimService;\r\n }\r\n public get ClaimCaptureService(): ClaimCaptureService {\r\n return this._claimCaptureService;\r\n }\r\n\r\n public get AuthorizationService(): AuthorizationService {\r\n return this._authService;\r\n }\r\n\r\n public get UploadFileService(): FileuploadService {\r\n return this._uploadFileService;\r\n }\r\n\r\n public get VoucherAdminService(): VoucherAdminService {\r\n return this._voucherAdminService;\r\n }\r\n\r\n public get PatientWellnessService(): PatientWellnessService {\r\n return this._patientWelnessService;\r\n }\r\n\r\n public get ChronicConditionService(): ChronicConditionService {\r\n return this._chronicConditionService;\r\n }\r\n\r\n public get ValidationService(): ValidationService {\r\n return this._validationService;\r\n }\r\n\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { AuthModel } from '../models/AuthModel';\r\nimport { Specmasters } from '../models/specmasters';\r\nimport { HealthplanModel } from '../models/HealthplanModel';\r\nimport { HttpClient, HttpErrorResponse, HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { ValidationResultsModel } from '../models/ValidationResultsModel';\r\nimport { MemberEligibilityModel } from '../models/MemberEligibilityModel';\r\nimport { Router } from '@angular/router';\r\nimport { SpecCodes } from '../models/SpecCodes';\r\nimport { LoginService } from './login.service';\r\nimport { HP_ContractsModel } from '../models/HP_ContractsModel';\r\nimport { AuthHeadersModel } from '../models/AuthHeadersModel';\r\nimport { ClaimHeadersModel } from '../models/ClaimHeadersModel';\r\nimport { SettingsService } from './settings.service';\r\nimport { FormGroup, FormBuilder, Validators, ValidationErrors } from '@angular/forms';\r\nimport { RejectionCodesModel } from '../models/RejectionCodesModel';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AuthorizationService {\r\n\r\n private _modelContractShow: boolean;\r\n private _noAuthsfound: boolean = false\r\n private _listOfrequirements = [];\r\n private _authSetList: Specmasters[] = [];\r\n private _busy: boolean = false;\r\n private _showAuth: boolean = false;\r\n //private _AuthMembMsg: ValidationResultsModel = new ValidationResultsModel();\r\n //private _familyList: MemberEligibilityModel[] = [];\r\n private _AuthProvMsg: ValidationResultsModel = new ValidationResultsModel();\r\n //private _selectedAuthSetId: string = \"\";\r\n private _remainingAmountMessage: string = \"\";\r\n private _remainingAmount: string = \"\";\r\n private _newAuthNo: string;\r\n private _defaultProc: string;\r\n private _displayGrid: boolean = false;\r\n private _selectedSpecs: SpecCodes[] = [];\r\n private _selectedSpec: SpecCodes = new SpecCodes();\r\n //private _selectedList: SpecCodes[] = [];\r\n //private _specList: SpecCodes[] = [];\r\n private _displaySearchGrid: boolean = false;\r\n private _oldAuths: AuthModel[] = [];\r\n private _detailedAuth: AuthModel[] = [];\r\n private _hpContracts: HP_ContractsModel = new HP_ContractsModel();\r\n private _authDetail: AuthModel = new AuthModel();\r\n private _authDetails: AuthHeadersModel = new AuthHeadersModel();\r\n private _claimDetails: ClaimHeadersModel = new ClaimHeadersModel();\r\n private _testCompleteness: boolean;\r\n private _invalidProvderidModal: boolean;\r\n private _emptyFormerror: boolean = false;\r\n private _validationSpinner: boolean\r\n private _disableAuthssearch: boolean\r\n private _listOfauths: AuthHeadersModel[] = []\r\n private _displayAuthtable: boolean = false\r\n private _contractMessage: string[] = [];\r\n //private _enableSubmit: boolean = false;\r\n //public _memberror: any;\r\n private _membValid: boolean = false;\r\n private _membMessage: string;\r\n //public MembMessage: string;\r\n //public errMsg: ValidationErrors;\r\n private _provContract: string = \"\";\r\n\r\n //public _provError: boolean = false;\r\n\r\n constructor(private _http: HttpClient, @Inject('BASE_URL') private _baseUrl: string, private _router: Router,\r\n private _loginService: LoginService, private _settingsService: SettingsService) {\r\n //this.errMsg = {\r\n // 'required': 'This field is required!',\r\n // 'invalid': 'Invalid Member Number!',\r\n // 'invalid1': 'Invalid Provider Number!',\r\n\r\n //}\r\n }\r\n\r\n\r\n get AllAuths() {\r\n return this._listOfauths\r\n }\r\n set AllAuths(auths: AuthHeadersModel[]) {\r\n this._listOfauths = auths\r\n }\r\n //public get enableSubmit(): boolean {\r\n // return this._enableSubmit;\r\n //}\r\n //public set enableSubmit(value: boolean) {\r\n // this._enableSubmit = value;\r\n //}\r\n get DisableSearch() {\r\n return this._disableAuthssearch\r\n }\r\n set DisableSearch(isValid) {\r\n this._disableAuthssearch = isValid\r\n }\r\n get AuthTable() {\r\n return this._displayAuthtable\r\n }\r\n set AuthTable(isValid) {\r\n this._displayAuthtable = isValid\r\n }\r\n public get authDetail(): AuthModel {\r\n return this._authDetail;\r\n }\r\n public set authDetail(value: AuthModel) {\r\n this._authDetail = value;\r\n }\r\n get AuthDetail() {\r\n return this._authDetails\r\n }\r\n set AuthDetail(detail: AuthHeadersModel) {\r\n this.AuthDetail = detail\r\n }\r\n public get authSetList(): Specmasters[] {\r\n return this._authSetList;\r\n }\r\n public set authSetList(value: Specmasters[]) {\r\n this._authSetList = value;\r\n }\r\n public get busy(): boolean {\r\n return this._busy;\r\n }\r\n public set busy(value: boolean) {\r\n this._busy = value;\r\n }\r\n public get showAuth(): boolean {\r\n return this._showAuth;\r\n }\r\n public set showAuth(value: boolean) {\r\n this._showAuth = value;\r\n }\r\n //public get AuthMembMsg(): ValidationResultsModel {\r\n // return this._AuthMembMsg;\r\n //}\r\n //public set AuthMembMsg(value: ValidationResultsModel) {\r\n // this._AuthMembMsg = value;\r\n //}\r\n //public get familyList(): MemberEligibilityModel[] {\r\n // return this._familyList;\r\n //}\r\n //public set familyList(value: MemberEligibilityModel[]) {\r\n // this._familyList = value;\r\n //}\r\n public get AuthProvMsg(): ValidationResultsModel {\r\n return this._AuthProvMsg;\r\n }\r\n public set AuthProvMsg(value: ValidationResultsModel) {\r\n this._AuthProvMsg = value;\r\n }\r\n //public get selectedAuthSetId(): string {\r\n // return this._selectedAuthSetId;\r\n //}\r\n //public set selectedAuthSetId(value: string) {\r\n // this._selectedAuthSetId = value;\r\n //}\r\n public get remainingAmountMessage(): string {\r\n return this._remainingAmountMessage;\r\n }\r\n public set remainingAmountMessage(value: string) {\r\n this._remainingAmountMessage = value;\r\n }\r\n public get remainingAmount(): string {\r\n return this._remainingAmount;\r\n }\r\n public set remainingAmount(value: string) {\r\n this._remainingAmount = value;\r\n }\r\n public get newAuthNo(): string {\r\n return this._newAuthNo;\r\n }\r\n public set newAuthNo(value: string) {\r\n this._newAuthNo = value;\r\n }\r\n public get defaultProc(): string {\r\n return this._defaultProc;\r\n }\r\n public set defaultProc(value: string) {\r\n this._defaultProc = value;\r\n }\r\n public get selectedSpec(): SpecCodes {\r\n return this._selectedSpec;\r\n }\r\n public set selectedSpec(value: SpecCodes) {\r\n this._selectedSpec = value;\r\n }\r\n public get displayGrid(): boolean {\r\n return this._displayGrid;\r\n }\r\n public set displayGrid(value: boolean) {\r\n this._displayGrid = value;\r\n }\r\n public get selectedSpecs(): SpecCodes[] {\r\n return this._selectedSpecs;\r\n }\r\n public set selectedSpecs(value: SpecCodes[]) {\r\n this._selectedSpecs = value;\r\n }\r\n //public get selectedList(): SpecCodes[] {\r\n // return this._selectedList;\r\n //}\r\n //public set selectedList(value: SpecCodes[]) {\r\n // this._selectedList = value;\r\n //}\r\n //public get specList(): SpecCodes[] {\r\n // return this._specList;\r\n //}\r\n //public set specList(value: SpecCodes[]) {\r\n // this._specList = value;\r\n //}\r\n public get oldAuths(): AuthModel[] {\r\n return this._oldAuths;\r\n }\r\n public set oldAuths(value: AuthModel[]) {\r\n this._oldAuths = value;\r\n }\r\n public get displaySearchGrid(): boolean {\r\n return this._displaySearchGrid;\r\n }\r\n public set displaySearchGrid(value: boolean) {\r\n this._displaySearchGrid = value;\r\n }\r\n public get detailedAuth(): AuthModel[] {\r\n return this._detailedAuth;\r\n }\r\n public set detailedAuth(value: AuthModel[]) {\r\n this._detailedAuth = value;\r\n }\r\n get Healthplan() {\r\n return this._hpContracts\r\n }\r\n set Healthplan(plan: HP_ContractsModel) {\r\n this._hpContracts = plan\r\n }\r\n get Required() {\r\n return this._listOfrequirements\r\n }\r\n set Required(isValid) {\r\n this._listOfrequirements = isValid\r\n }\r\n get EmptyForm() {\r\n return this._emptyFormerror\r\n }\r\n set EmptyForm(isValid) {\r\n this._emptyFormerror = isValid\r\n }\r\n get Spinner() {\r\n return this._validationSpinner\r\n }\r\n set Spinner(isValid) {\r\n this._validationSpinner = isValid\r\n }\r\n get NoAuthsFound() {\r\n return this._noAuthsfound\r\n }\r\n set NoAuthsFound(isValid) {\r\n this._noAuthsfound = isValid\r\n }\r\n public get contractMessage(): string[] {\r\n return this._contractMessage;\r\n }\r\n public set contractMessage(value: string[]) {\r\n this._contractMessage = value;\r\n }\r\n public get modelContractShow(): boolean {\r\n return this._modelContractShow;\r\n }\r\n public set modelContractShow(value: boolean) {\r\n this._modelContractShow = value;\r\n }\r\n public get provContract(): string {\r\n return this._provContract;\r\n }\r\n public set provContract(value: string) {\r\n this._provContract = value;\r\n }\r\n\r\n public HpCodesList: HealthplanModel[] = [];\r\n\r\n //public get ProvError(): boolean {\r\n // return this._provError;\r\n //}\r\n //public set ProvError(value: boolean) {\r\n // this._provError = value;\r\n //}\r\n\r\n async HpCodes() {\r\n let x = new RejectionCodesModel(); \r\n x.username = this._loginService.CurrentLoggedInUser.username;\r\n x.userType = this._loginService.CurrentLoggedInUser.userType;\r\n let token = localStorage.getItem(\"jwt\");\r\n await\r\n this._http.post(this._baseUrl + 'api/ClaimCapture/GetHpCodes', x,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }).toPromise()\r\n .then((returnedList: [HealthplanModel]) => {\r\n this.HpCodesList = returnedList;\r\n },\r\n (error) => {\r\n console.log(error); \r\n }\r\n );\r\n }\r\n\r\n // Jaco 2024-10-28\r\n async OutOfNetGpVisitCheck(subssn: string) {\r\n\r\n const params = new HttpParams().append('subssn', subssn); \r\n let token = localStorage.getItem(\"jwt\");\r\n await\r\n this._http.get(this._baseUrl + 'api/Authorization/GetOutOfNetGpVisitCount',\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n }),\r\n params\r\n }).toPromise()\r\n .then((result: number) => {\r\n if (result >= 3) { //AUL out of network GP limit is 3\r\n this.authDetail.reject = true;\r\n }\r\n },\r\n (error: HttpErrorResponse) => {\r\n console.log(error);\r\n }\r\n );\r\n }\r\n\r\n SearchAuth() {\r\n this.ValidateForm()\r\n }\r\n\r\n ValidateForm() {\r\n if (this._loginService.CurrentLoggedInUser.userType == 1) {\r\n this.ProviderValidation()\r\n }\r\n }\r\n\r\n ProviderValidation() {\r\n let temparray = []\r\n let TestBoolean: boolean\r\n let enabled: boolean;\r\n let required: boolean;\r\n\r\n enabled = this._settingsService.GetSettingEnabled('ProviderViewAuthMemberNumber');\r\n required = this._settingsService.GetSettingRequired('ProviderViewAuthMemberNumber');\r\n\r\n if (enabled == true) {\r\n if (this._authDetails.memberno != \"\") {\r\n TestBoolean = true\r\n } else {\r\n if (required == true) {\r\n temparray.push(\"Enter a Member Number\")\r\n TestBoolean = false\r\n } else {\r\n TestBoolean = true\r\n }\r\n }\r\n }\r\n\r\n enabled = this._settingsService.GetSettingEnabled('ProviderViewAuthHealthPlan');\r\n required = this._settingsService.GetSettingRequired('ProviderViewAuthHealthPlan');\r\n\r\n if (enabled == true) {\r\n if (this._hpContracts.hpcode != \"000\") {\r\n TestBoolean = true\r\n } else {\r\n if (required == true) {\r\n temparray.push(\"Select a Health plan\")\r\n TestBoolean = false\r\n } else {\r\n TestBoolean = true\r\n }\r\n }\r\n }\r\n\r\n enabled = this._settingsService.GetSettingEnabled('ProviderViewAuthServiceDate');\r\n required = this._settingsService.GetSettingRequired('ProviderViewAuthServiceDate');\r\n\r\n if (enabled == true) {\r\n if (this._authDetails.servicedate != null && this._authDetails.servicedate != \"\") {\r\n TestBoolean = true\r\n } else {\r\n if (required == true) {\r\n temparray.push(\"Enter the Auth Service Date\")\r\n TestBoolean = false\r\n } else {\r\n TestBoolean = true\r\n }\r\n }\r\n }\r\n\r\n enabled = this._settingsService.GetSettingEnabled('ProviderViewAuthMemberID');\r\n required = this._settingsService.GetSettingRequired('ProviderViewAuthMemberID');\r\n\r\n if (enabled == true) {\r\n if (this._authDetails.memberid != \"\") {\r\n TestBoolean = true\r\n } else {\r\n if (required == true) {\r\n temparray.push(\"Enter The Member's ID Number\")\r\n TestBoolean = false\r\n } else {\r\n TestBoolean = true\r\n }\r\n }\r\n }\r\n\r\n enabled = this._settingsService.GetSettingEnabled('ProviderViewAuthMemberDOB');\r\n required = this._settingsService.GetSettingRequired('ProviderViewAuthMemberDOB');\r\n\r\n if (enabled == true) {\r\n if (this._authDetails.memberdob != null) {\r\n TestBoolean = true\r\n } else {\r\n if (required == true) {\r\n temparray.push(\"Enter the Member's Date Of Birth\")\r\n TestBoolean = false\r\n } else {\r\n TestBoolean = true\r\n }\r\n }\r\n }\r\n\r\n enabled = this._settingsService.GetSettingEnabled('ProviderViewAuthProviderPracticeNumber');\r\n required = this._settingsService.GetSettingRequired('ProviderViewAuthProviderPracticeNumber');\r\n\r\n if (enabled == true) {\r\n if (this._loginService.CurrentLoggedInUser.provID != null && this._loginService.CurrentLoggedInUser.provID != \"\") {\r\n TestBoolean = true\r\n } else {\r\n if (required == true) {\r\n temparray.push(\"Enter a Practice Number\")\r\n TestBoolean = false\r\n } else {\r\n TestBoolean = true\r\n }\r\n }\r\n }\r\n\r\n this._listOfrequirements = temparray\r\n this._testCompleteness = TestBoolean\r\n\r\n if (this._listOfrequirements.length > 0) {\r\n this._testCompleteness = false;\r\n }\r\n if (this._invalidProvderidModal == true) {\r\n this._emptyFormerror = false;\r\n\r\n } else {\r\n if (this._testCompleteness == false) {\r\n this._emptyFormerror = true;\r\n } else {\r\n this.SearchSpecificAuthorization();\r\n }\r\n\r\n }\r\n }\r\n\r\n SearchSpecificAuthorization() {\r\n this._validationSpinner = true\r\n this._disableAuthssearch = true\r\n let token = localStorage.getItem(\"jwt\");\r\n this._http.post(this._baseUrl + \"api/Authorization/SearchSpecificAuth\", {\r\n Practice: this._loginService.CurrentLoggedInUser.provID,\r\n MemberNo: this._authDetails.memberno,\r\n Plan: this._hpContracts.hpcode,\r\n ServiceDate: this._authDetails.servicedate,\r\n userName: this._loginService.CurrentLoggedInUser.username\r\n },\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }).subscribe((returnedauths: AuthHeadersModel[]) => {\r\n this._listOfauths = returnedauths\r\n if (this._listOfauths.length > 0) {\r\n this._displayAuthtable = true;\r\n this._validationSpinner = false;\r\n this._disableAuthssearch = false;\r\n } else {\r\n this._displayAuthtable = false;\r\n this._noAuthsfound = true;\r\n this._validationSpinner = false;\r\n this._disableAuthssearch = false;\r\n }\r\n\r\n },\r\n\r\n (error) => { console.log(error) },\r\n () => {\r\n if (this._loginService.CurrentLoggedInUser.userType == 1) {\r\n this.CheckAllowedOptions();\r\n }\r\n })\r\n }\r\n\r\n CheckAllowedOptions() {\r\n this._contractMessage = [];\r\n let list: string[] = [];\r\n let opt: string[] = [];\r\n this._settingsService.Settings.forEach((el) => {\r\n if (this._loginService.isDentist) {\r\n if (el.settingsId == 'ContractBoundOptions') {\r\n opt = el.description.split(',');\r\n }\r\n }\r\n if (this._loginService.isSpecialist) {\r\n if (el.settingsId == 'ContractBoundOptionsGP') {\r\n opt = el.description.split(',');\r\n }\r\n }\r\n });\r\n let p = this;\r\n if (this._loginService.CurrentLoggedInUser.contract == 'NON-CONTRACTED') {\r\n p._listOfauths.forEach((el) => {\r\n opt.forEach((op) => {\r\n // console.log(el);\r\n if (op == el.plan) {\r\n let found: boolean = false;\r\n if (list.length > 0) {\r\n for (var i = 0; i < list.length; i++) {\r\n if (list[i].toUpperCase() == el.memberno.toUpperCase()) {\r\n found = true;\r\n break;\r\n }\r\n }\r\n } else {\r\n list.push(el.memberno);\r\n found = true;\r\n }\r\n\r\n if (found == false) {\r\n list.push(el.memberno);\r\n\r\n }\r\n }\r\n });\r\n });\r\n }\r\n let d: string = \"\";\r\n\r\n\r\n this._contractMessage.push(\"The Following Member/s is bound to a network option:\");\r\n list.forEach((el) => {\r\n this._contractMessage.push(\"• \" + el);\r\n });\r\n this._contractMessage.push(\"and you are a non network provider, therefore you can not see this member/s details.\")\r\n if ((list.length > 0) && (this._loginService.CurrentLoggedInUser.contract == 'NON-CONTRACTED')) {\r\n this._modelContractShow = true;\r\n this._displayAuthtable = this._settingsService.GetSettingEnabled('NetworkBoundShow');\r\n } else {\r\n this._displayAuthtable = true;\r\n }\r\n }\r\n\r\n GetAuthSetListForHp(hp: HealthplanModel) {\r\n this.authSetList = [];\r\n this._busy = true;\r\n let token = localStorage.getItem(\"jwt\");\r\n this._http.post(this._baseUrl + 'api/Authorization/GetBenifitListForHp', hp,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }\r\n ).subscribe((results: Specmasters[]) => { \r\n results.forEach((el) => {\r\n this.authSetList.push(el);\r\n })\r\n },\r\n (error) => { console.log(error) },\r\n () => {\r\n this._busy = false;\r\n })\r\n }\r\n\r\n GetBenTypeDescAuth() {\r\n let token = localStorage.getItem(\"jwt\");\r\n\r\n const headers = new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n });\r\n\r\n return this._http.post(this._baseUrl + 'api/Authorization/GetBenTypeDescAuth', this.authDetail, { headers: headers });\r\n }\r\n\r\n async GetBenefitLimit(data: AuthModel) {\r\n this.remainingAmountMessage = \"\";\r\n this.remainingAmount = \"\";\r\n //this.enableSubmit = false;\r\n this._busy = true;\r\n let token = localStorage.getItem(\"jwt\")\r\n await\r\n this._http.post(this._baseUrl + 'api/Authorization/GetBenefitLimit', data, {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }).toPromise()\r\n .then((results: ValidationResultsModel) => {\r\n if (results.valid) {\r\n let c: string[] = [];\r\n c = results.message.split('|');\r\n\r\n this.remainingAmountMessage = \"AVAILABLE LIMIT: R \" + c[0];\r\n this.remainingAmount = c[0];\r\n this.authDetail.benType = c[1];\r\n this.authDetail.benDesc = c[2];\r\n //this.enableSubmit = true;\r\n\r\n //console.log('limit: \\n' + this.remainingAmountMessage);\r\n this._busy = false;\r\n }\r\n },\r\n (error) => {\r\n console.log(error);\r\n this._busy = false;\r\n\r\n },\r\n );\r\n //() => {\r\n // this._busy = false;\r\n //});\r\n }\r\n\r\n ValidateMemberOld() {\r\n //this.familyList = [];\r\n //this.showAuth = false;\r\n this._busy = true;\r\n let token = localStorage.getItem(\"jwt\");\r\n this._http.post(this._baseUrl + 'api/Member/MemberValidation', this.authDetail,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }\r\n ).subscribe((results: ValidationResultsModel) => {\r\n //this._AuthMembMsg = results;\r\n //this._memberror = this.AuthMembMsg.valid;\r\n this._membValid = results.valid;\r\n if (results.valid) {\r\n this._membMessage = results.message;\r\n this.GetMemberFamily();\r\n } else {\r\n //this._membMessage = this.errMsg['invalid'];\r\n //this.familyList = []; // Clear family list\r\n }\r\n\r\n },\r\n (error) => { console.log(error) },\r\n () => {\r\n this._busy = false;\r\n //if (this.AuthMembMsg.valid) {\r\n // this.MembMessage = this.AuthMembMsg.message;\r\n // this.GetMemberFamily();\r\n //} else {\r\n // this.MembMessage = this.errMsg['invalid'];\r\n // this.familyList = []; // Clear family list\r\n //}\r\n })\r\n }\r\n\r\n ValidateMember() {\r\n let token = localStorage.getItem(\"jwt\");\r\n\r\n const headers = new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n });\r\n\r\n return this._http.post(this._baseUrl + 'api/Member/MemberValidation', this.authDetail, { headers: headers });\r\n }\r\n\r\n GetMemberFamily() {\r\n let token = localStorage.getItem(\"jwt\");\r\n\r\n const headers = new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n });\r\n\r\n return this._http.post(this._baseUrl + 'api/Member/MemberValidationFamily', this.authDetail, { headers: headers });\r\n }\r\n\r\n GetMemberFamilyOld() {\r\n //this.familyList = [];\r\n this.showAuth = false;\r\n this._busy = true;\r\n let token = localStorage.getItem(\"jwt\");\r\n this._http.post(this._baseUrl + 'api/Member/MemberValidationFamily', this.authDetail,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }\r\n ).subscribe((results: MemberEligibilityModel[]) => {\r\n let c: MemberEligibilityModel = new MemberEligibilityModel();\r\n //c.firstnm = \"SELECT\"; //Jaco comment out 2022-08-10\r\n //c.dependant = \"DEPENDANT\"; //Jaco comment out 2022-08-10\r\n //this.familyList.push(c); //Jaco comment out 2022-08-10\r\n results.forEach((el) => {\r\n //this.familyList.push(el);\r\n })\r\n },\r\n (error) => {\r\n console.log(error);\r\n },\r\n () => {\r\n this._busy = false;\r\n })\r\n }\r\n\r\n ValidateProvider() {\r\n this.provContract = \"\";\r\n this.showAuth = false;\r\n let q = this;\r\n this._busy = true;\r\n let token = localStorage.getItem('jwt');\r\n let a = \"/Single-Auth-Submision\";\r\n if (this._router.url === a) {\r\n this._http.post(this._baseUrl + 'api/Authorization/ValidateProv', this.authDetail,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }\r\n ).subscribe((results: ValidationResultsModel) => {\r\n q._AuthProvMsg = new ValidationResultsModel();\r\n\r\n let c: string[] = [];\r\n c = results.message.split(',');\r\n\r\n q._AuthProvMsg.message = c[0];\r\n\r\n if (c[1] == '2') {\r\n this.provContract = \"CONTRACTED\";\r\n } else {\r\n this.provContract = \"NON-CONTRACTED\";\r\n }\r\n q._AuthProvMsg.valid = results.valid;\r\n console.log('service');\r\n\r\n\r\n },\r\n (error) => { console.log(error) },\r\n () => {\r\n console.log('service');\r\n this._busy = false;\r\n })\r\n } else {\r\n this._http.post(this._baseUrl + 'api/Authorization/ValidateProvWithSpec', this.authDetail,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }\r\n ).subscribe((results: ValidationResultsModel) => {\r\n q._AuthProvMsg = new ValidationResultsModel();\r\n let c: string[] = [];\r\n c = results.message.split(',');\r\n\r\n q._AuthProvMsg.message = c[0];\r\n\r\n if (c[1] == '2') {\r\n this.provContract = \"CONTRACTED\";\r\n } else {\r\n this.provContract = \"NON-CONTRACTED\";\r\n }\r\n q._AuthProvMsg.valid = results.valid;\r\n\r\n console.log('service');\r\n },\r\n (error) => { console.log(error) },\r\n () => {\r\n console.log('service');\r\n this._busy = false;\r\n })\r\n }\r\n\r\n }\r\n\r\n ValidateProvWithSpec() {\r\n\r\n let token = localStorage.getItem('jwt');\r\n\r\n const headers = new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n });\r\n\r\n return this._http.post(this._baseUrl + 'api/Authorization/ValidateProvWithSpec', this.authDetail, { headers: headers });\r\n }\r\n\r\n SubmitAuth() {\r\n this.showAuth = false;\r\n let token = localStorage.getItem('jwt');\r\n this._busy = true;\r\n this._http.post(this._baseUrl + 'api/Authorization/SubmitAuthorization', this.authDetail,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }).subscribe(\r\n (resutls: ValidationResultsModel) => {\r\n this._newAuthNo = resutls.message;\r\n },\r\n (error) => {\r\n console.log(error);\r\n },\r\n () => {\r\n this._busy = false;\r\n this.showAuth = true;\r\n })\r\n }\r\n\r\n GetDetailsBen(data: Specmasters) {\r\n this.selectedSpecs = [];\r\n this._busy = true;\r\n let token = localStorage.getItem(\"jwt\");\r\n this._http.post(this._baseUrl + 'api/Authorization/GetDetailBen', data,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n })\r\n }\r\n ).subscribe((results: SpecCodes[]) => {\r\n //this.selectedList = []; \r\n results.forEach((el) => {\r\n if (el.code.length == 1) {\r\n el.code = \"0\" + el.code;\r\n }\r\n // console.log(this._specList);\r\n this._loginService.specList.forEach((e) => {\r\n if (el.code == e.code) {\r\n el.selected = true;\r\n el.desc = e.desc;\r\n //e.benCode = el.benCode; // Jaco 2022-08-03\r\n //e.procCode = el.procCode; // Jaco 2022-08-03\r\n //e.specDetail = el.specDetail; // Jaco 2022-08-03\r\n //this.selectedList.push(el);\r\n\r\n el.provId = \"\";\r\n el.srvDate = \"\";\r\n el.amount = \"R\";\r\n el.selectedBenCode = \"\";\r\n el.selectedProcCode = \"\";\r\n\r\n //if ((el.code == '14') || (e.code == '15')) {\r\n // el.amount = \"R\";\r\n //}\r\n\r\n this.selectedSpecs.push(el);\r\n }\r\n\r\n //if ((el.code == '14') && (e.code == '15')) {\r\n // e.selected = true;\r\n // this.selectedList.push(e);\r\n // this.selectedSpecs.push(e);\r\n //}\r\n //if ((el.code == '15') && (e.code == '14')) {\r\n //e.selected = true;\r\n // this.selectedList.push(e);\r\n // this.selectedSpecs.push(e);\r\n //}\r\n })\r\n })\r\n },\r\n (error) => {\r\n console.log(error);\r\n },\r\n () => {\r\n this._busy = false;\r\n this.displayGrid = true;\r\n this.SubmitAuthHeader(this.authDetail);\r\n })\r\n }\r\n\r\n SubmitAuthHeader(data: AuthModel) {\r\n let token = localStorage.getItem('jwt');\r\n this._busy = true;\r\n this._http.post(this._baseUrl + 'api/Authorization/SubmitAuthorizationHeader', data,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n })\r\n }).subscribe((resutls: ValidationResultsModel) => {\r\n this.detailedAuth = [];\r\n let c: AuthModel = new AuthModel();\r\n this.selectedSpecs.forEach((el) => {\r\n let c: AuthModel = new AuthModel();\r\n c.desc = el.desc;\r\n c.id = resutls.message; // Auth Master (header) rowid\r\n c.spec = el.code;\r\n c.username = this._loginService.CurrentLoggedInUser.username;\r\n this.detailedAuth.push(c);\r\n })\r\n },\r\n (error) => { console.log(error); },\r\n () => {\r\n this._busy = false;\r\n //this.SubmitAuthDetails(); // Comment out jaco 2022-07-07 - we now create details on the modal\r\n })\r\n }\r\n\r\n SubmitAuthDetails() {\r\n let token = localStorage.getItem('jwt');\r\n this._busy = true;\r\n this._http.post(this._baseUrl + 'api/Authorization/SubmitAuthorizationDetail', this.detailedAuth,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }).subscribe((resutls: AuthModel[]) => {\r\n resutls.forEach((el) => {\r\n this.detailedAuth.forEach((a) => {\r\n if (el.spec == a.spec) {\r\n a.id = el.id;\r\n }\r\n })\r\n })\r\n },\r\n (error) => { console.log(error); },\r\n () => {\r\n this._busy = false;\r\n console.log(this.detailedAuth);\r\n })\r\n }\r\n\r\n UpdateAuthDetails(data: AuthModel) {\r\n let token = localStorage.getItem('jwt');\r\n this._busy = true;\r\n this._showAuth = false;\r\n this._http.post(this._baseUrl + 'api/Authorization/UpdateAuthorizationDetail', data,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }).subscribe((results: ValidationResultsModel) => {\r\n\r\n this._newAuthNo = results.message;\r\n \r\n },\r\n (error) => {\r\n console.log(error);\r\n },\r\n () => {\r\n this._busy = false;\r\n this._showAuth = true;\r\n })\r\n }\r\n\r\n SearchSpecificAuth(data: AuthModel) {\r\n let token = localStorage.getItem('jwt');\r\n this._displaySearchGrid = false;\r\n this._busy = true;\r\n this._http.post(this._baseUrl + 'api/Authorization/SearchAuthorizationDetail', data,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }).subscribe((resutls: AuthModel[]) => {\r\n this._oldAuths = [];\r\n resutls.forEach((el) => {\r\n if (el.amount.trim() == '') {\r\n el.amount = \"(SYSTEM AMOUNT)\";\r\n }\r\n this._oldAuths.push(el);\r\n })\r\n },\r\n (error) => { console.log(error); },\r\n () => {\r\n this._displaySearchGrid = true;\r\n this._busy = false;\r\n })\r\n }\r\n\r\n ClearAllInputFields() {\r\n this._hpContracts.hpcode = \"000\"\r\n this._authDetails.memberno = \"\"\r\n this._claimDetails.memberId = \"\"\r\n this._claimDetails.providerId = \"\"\r\n this._claimDetails.memberDOB = null\r\n this._claimDetails.serviceDate = null\r\n this._claimDetails.datePaid = null\r\n\r\n }\r\n\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { SecurityService } from './security.service';\r\nimport { HttpClient, HttpHeaders, HttpErrorResponse, HttpParams } from '@angular/common/http';\r\nimport { BatchDetailsModel } from '../models/BatchDetailsModel';\r\nimport { ClaimsModel } from '../models/ClaimsModel';\r\nimport { BankingDetailModel } from '../models/BankingDetailModel';\r\nimport { FamilyModel } from '../models/FamilyModel';\r\nimport { CheckrunModel } from '../models/CheckrunModel';\r\nimport { ModifiedClaimsArrayModel } from '../models/ModifiedClaimsArrayModel';\r\nimport { BordrowListModel } from '../models/BordrowListModel';\r\nimport { ValidationResultsModel } from '../models/ValidationResultsModel';\r\nimport { PatientModel } from '../models/PatientModel';\r\nimport { HealthplanModel } from '../models/HealthplanModel';\r\nimport { Recordtype1Model } from '../models/Recordtype1Model';\r\nimport { RejectionCodesModel } from '../models/RejectionCodesModel';\r\nimport { ProviderList } from '../models/ProviderListModel';\r\nimport { CheckRunTypeModel } from '../models/CheckRunTypeModel';\r\nimport { CheckRunDetailsModel } from '../models/CheckRunDetailsModel';\r\nimport { DetailLinesModel } from '../models/DetailLinesModel';\r\nimport { MemberNoModel } from '../models/MemberNoModel';\r\nimport { ExcludedClaims } from '../models/Excludedclaims';\r\nimport { LoginService } from './login.service';\r\nimport { formatDate } from '@angular/common';\r\nimport { ClaimHeadersModel } from '../models/ClaimHeadersModel';\r\nimport { VendorInfoModel } from '../models/VendorInfoModel';\r\nimport { Diagcodes } from '../models/diagcodes';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CheckrunService {\r\n\r\n //Private Variables with getters and setters\r\n private _tempDiscription: string;\r\n private _displayData: boolean = false;\r\n private _lastRecDate: any;\r\n private _totalMembPayments: any;\r\n private _totalProvPayments: any;\r\n private _excludeBankingDetails: boolean = false;\r\n private _enableDownload: boolean = true;\r\n private _showText: boolean = false;\r\n private _loadBoardRow: boolean = false;\r\n private _userName: string;\r\n private _amountOfClaims: number;\r\n private _errorHandler: boolean = false;\r\n private _legendDisplay: boolean = false;\r\n private _validationMessage: string;\r\n private _openWarningPayReady: boolean = false;\r\n private _currentFilter: string = \"No Filter Applied\";\r\n private _currentProvFilter: string = \"No Filter Applied\";\r\n private _currentPage: number = 1;\r\n private _closeCheckRun: boolean = false;\r\n private _readyToGenerate: boolean = true;\r\n private _showBordRowComponents: boolean = false;\r\n private _updateBankDetails: boolean = false;\r\n private _ProcessingValidation: boolean = true;\r\n private _confirmPaymentReady: boolean = false;\r\n private _changeBankModel: boolean = false;\r\n private _displaySpinner: boolean;\r\n private _showList: boolean = false;\r\n private _vendorName: string;\r\n private _scrollFilter: string;\r\n private _currentView: string = \"Member View\";\r\n private _getUnreleasedBatches: boolean = false;\r\n private _getUnPaidBatches: boolean = false;\r\n private _gettingDetails: boolean = false;\r\n private _openDetailsModel: boolean = false;\r\n private _membNo: string;\r\n private _visitCounts: number;\r\n private _hideReleaseOpt: boolean = false;\r\n private _unpaidCount: number = 0;\r\n private _paidCount: number = 0;\r\n private _inprocessCOunt: number = 0;\r\n private _authNo: string;\r\n private _enableSearch: boolean = false;\r\n private _openEditBatch: boolean = false;\r\n private _enableNavButtons: boolean = true;\r\n private _enablesave: boolean = false;\r\n private _openUnEditBatch: boolean = false;\r\n private _lastpayedDateFound: boolean = false;\r\n private _provTotal: number = 0;\r\n private _membTotal: number = 0;\r\n private _openWarnigDate: boolean = false;\r\n private _token: string;\r\n public nobankingFound: boolean = false;\r\n public _rowId: string;\r\n public _rejectProv: string;\r\n public _rejectmembNo: string;\r\n public _expandLegend: boolean = false;\r\n public _expandFilter: boolean = false;\r\n private _vendorInfo: VendorInfoModel = new VendorInfoModel();\r\n\r\n\r\n\r\n\r\n //Public variables\r\n public amounts: ClaimsModel = new ClaimsModel();\r\n public _hpListShow: boolean = false;\r\n public message: string = 'Loading';\r\n public totalClaims: number;\r\n public totalBenClaims: number;\r\n public totalbenprov: any;\r\n public tottalbenmen: any;\r\n public count: number = 0;\r\n public batchNumber: string;\r\n public _totalPayableAmount: number;\r\n public _amountOfReversals: number;\r\n public _totalDetailLines: number = 0;\r\n public _totalClaimLines: number = 0;\r\n public _pageCounter: number = 0;\r\n public _pageScrollCounter: number = 0;\r\n public _pageNumber: number = 0;\r\n public _filtteredList: any;\r\n public _fillteredProvList: any;\r\n public _rejectionNote: string;\r\n public _rejectionReason: string;\r\n public _total: number;\r\n public _specificBatchNo: BatchDetailsModel;\r\n public _vendBankingDetails: BankingDetailModel = new BankingDetailModel();\r\n public newBankinDetails: BankingDetailModel = new BankingDetailModel();\r\n public existingDetails: BankingDetailModel = new BankingDetailModel();\r\n public excludingClaims: ExcludedClaims[] = [];\r\n public _paymentType: string;\r\n public _totalAmountToPay: number = 0;\r\n public _MembName: string = \"\";\r\n public _provId: string = \"\";\r\n public _provName: string = \"\";\r\n public _isProvider: boolean = false;\r\n public _providerGrouping: boolean = false;\r\n public _providerPageCount: number;\r\n public _scrollableView: boolean = false;\r\n public details: CheckRunDetailsModel;\r\n public _displayFetchModel: boolean = false\r\n public _refProvInfo: DetailLinesModel = new DetailLinesModel();\r\n public _paidInfo: DetailLinesModel = new DetailLinesModel();\r\n public _whereClauseBenefit: number = 0;\r\n public _whereCauseSpec: number = 0;\r\n public sheetName: string;\r\n public _lastEnteredDate: string = '';\r\n public _wizard: boolean = false;\r\n public _wizardNext: boolean = false;\r\n public _wizardProvSort: boolean = false;\r\n public _wizardDateSort: boolean = false;\r\n public _wizardMembSort: boolean = false;\r\n public _wizardClaimSort: boolean = false;\r\n public _wizardServiceSort: boolean = false;\r\n public _wizardpagecount: number = 0;\r\n public _largeAmountFound: boolean = false;\r\n public _markReady: number = 0;\r\n public ErrorRequets: boolean = false;\r\n private _submitCheckrunError: boolean = false;\r\n private _submitCheckrunErrorMsg: string = \"\";\r\n\r\n //Public Arrays & Lists\r\n public _patientsPerFamily = {};\r\n public _claimsPerUnique = [];\r\n public _detailsPerClaim = [];\r\n public _uniqueList: FamilyModel[] = [];\r\n public _duplicateList: CheckrunModel[] = [];\r\n public _uniqueListPerMember: CheckrunModel[] = [];\r\n public bordRowList: CheckrunModel[] = [];\r\n public initialTotalsBordRowList: CheckrunModel[] = [];\r\n public arrType: string[] = ['Member', 'Provider'];\r\n public amountsToDisplay: ClaimsModel[] = [];\r\n public benifitAmountsToDis: ClaimsModel[] = [];\r\n public gridData: ModifiedClaimsArrayModel[] = [];\r\n public benefitGridData: ModifiedClaimsArrayModel[] = [];\r\n public _unreleasedBatches: string[] = [];\r\n public _unreleasedBatchesType: CheckRunTypeModel[] = [];\r\n public _paidBatches: string[] = [];\r\n public _paidBatchesType: CheckRunTypeModel[] = [];\r\n public _unpaidBatches: string[] = [];\r\n public _unpaidBatchesType: CheckRunTypeModel[] = [];\r\n public _filteredPaidList: BordrowListModel[] = [];\r\n public _filteredUnreleasedList: BordrowListModel[] = [];\r\n public _filteredUnpaidList: BordrowListModel[] = [];\r\n public _paid = {};\r\n public _unpaid = {};\r\n public _unreleased = {};\r\n public initailSotingOfUniqueList: FamilyModel[] = [];\r\n public initialSortingOfProvList = {};\r\n public initialSortingOfProviderGroup: ProviderList[] = [];\r\n public initailSortingOfPatientList = {};\r\n public HpCodesList: HealthplanModel[] = [];\r\n public recordType1: Recordtype1Model;\r\n public rejectionReasons: RejectionCodesModel[] = [];\r\n public lobCode: RejectionCodesModel = new RejectionCodesModel();\r\n public _patientsPerProvider = {};\r\n public _uniqueProvList: ProviderList[] = [];\r\n public testLoop: number[] = [];\r\n public _filteredBordRowList: CheckrunModel[] = [];\r\n public _claimInfo: DetailLinesModel[] = [];\r\n public whereClause: string[] = [];\r\n public accTypes: string[] = ['CHEQUE', 'SAVINGS', 'CREDIT CARD', 'TRANSMISSION', 'OTHER'];\r\n private _diacodes: Diagcodes[] = [];\r\n\r\n\r\n constructor(private _router: Router, private _http: HttpClient, @Inject('BASE_URL') public _baseUrl: string, private _loginService: LoginService) {\r\n\r\n for (var i = 0; i < 30; i++) {\r\n this.testLoop[i] = (i + 1);\r\n }\r\n this._totalAmountToPay = 0;\r\n }\r\n\r\n //Getters and Setters\r\n public get token(): string {\r\n return localStorage.getItem(\"jwt\");\r\n }\r\n public set token(value: string) {\r\n localStorage.setItem(\"jwt\",value);\r\n }\r\n public get membTotal(): number {\r\n return this._membTotal;\r\n }\r\n public set membTotal(value: number) {\r\n this._membTotal = value;\r\n }\r\n public get provTotal(): number {\r\n return this._provTotal;\r\n }\r\n public set provTotal(value: number) {\r\n this._provTotal = value;\r\n }\r\n public get unpaidCount(): number {\r\n return this._unpaidCount;\r\n }\r\n public set unpaidCount(value: number) {\r\n this._unpaidCount = value;\r\n }\r\n public get paidCount(): number {\r\n return this._paidCount;\r\n }\r\n public set paidCount(value: number) {\r\n this._paidCount = value;\r\n }\r\n public get inprocessCOunt(): number {\r\n return this._inprocessCOunt;\r\n }\r\n public set inprocessCOunt(value: number) {\r\n this._inprocessCOunt = value;\r\n }\r\n public get hideReleaseOpt(): boolean {\r\n return this._hideReleaseOpt;\r\n }\r\n public set hideReleaseOpt(value: boolean) {\r\n this._hideReleaseOpt = value;\r\n }\r\n public get tempDiscription(): string {\r\n return this._tempDiscription;\r\n }\r\n public set tempDiscription(value: string) {\r\n this._tempDiscription = value;\r\n }\r\n public set displayData(value: boolean) {\r\n this._displayData = value;\r\n }\r\n public get displayData() {\r\n return this._displayData;\r\n }\r\n public get totalMembPayments(): any {\r\n return this._totalMembPayments;\r\n }\r\n public set totalMembPayments(value: any) {\r\n this._totalMembPayments = value;\r\n }\r\n public get totalProvPayments(): any {\r\n return this._totalProvPayments;\r\n }\r\n public set totalProvPayments(value: any) {\r\n this._totalProvPayments = value;\r\n }\r\n public get lastRecDate(): any {\r\n return this._lastRecDate;\r\n }\r\n public set lastRecDate(value: any) {\r\n this._lastRecDate = value;\r\n }\r\n public set excludeBankingDetails(value: boolean) {\r\n this._excludeBankingDetails = value;\r\n }\r\n public get excludeBankingDetails(): boolean {\r\n return this._excludeBankingDetails;\r\n }\r\n public get enableDownload(): boolean {\r\n return this._enableDownload;\r\n }\r\n public set enableDownload(value: boolean) {\r\n this._enableDownload = value;\r\n }\r\n public get showText(): boolean {\r\n return this._showText;\r\n }\r\n public set showText(value: boolean) {\r\n this._showText = value;\r\n }\r\n public get loadBoardRow(): boolean {\r\n return this._loadBoardRow;\r\n }\r\n public set loadBoardRow(value: boolean) {\r\n this._loadBoardRow = value;\r\n }\r\n public set userName(value: string) {\r\n this._userName = value;\r\n }\r\n public get userName(): string {\r\n return this._userName;\r\n }\r\n public get amountOfClaims(): number {\r\n return this._amountOfClaims;\r\n }\r\n public set amountOfClaims(value: number) {\r\n this._amountOfClaims = value;\r\n }\r\n public get errorHandler(): boolean {\r\n return this._errorHandler;\r\n }\r\n public set errorHandler(value: boolean) {\r\n this._errorHandler = value;\r\n }\r\n public get legendDisplay(): boolean {\r\n return this._legendDisplay;\r\n }\r\n public set legendDisplay(value: boolean) {\r\n this._legendDisplay = value;\r\n }\r\n public get validationMessage(): string {\r\n return this._validationMessage;\r\n }\r\n public set validationMessage(value: string) {\r\n this._validationMessage = value;\r\n }\r\n public get openWarningPayReady(): boolean {\r\n return this._openWarningPayReady;\r\n }\r\n public set openWarningPayReady(value: boolean) {\r\n this._openWarningPayReady = value;\r\n }\r\n public get openWarnigDate(): boolean {\r\n return this._openWarnigDate;\r\n }\r\n public set openWarnigDate(value: boolean) {\r\n this._openWarnigDate = value;\r\n }\r\n public get currentFilter() {\r\n return this._currentFilter;\r\n }\r\n public set currentFilter(value: string) {\r\n this._currentFilter = value;\r\n }\r\n public get currentProvFilter() {\r\n return this._currentProvFilter;\r\n }\r\n public set currentProvFilter(value: string) {\r\n this._currentProvFilter = value;\r\n }\r\n public get currentPage() {\r\n return this._currentPage;\r\n }\r\n public set currentPage(value: number) {\r\n this._currentPage = value;\r\n }\r\n public get closeCheckRun(): boolean {\r\n return this._closeCheckRun;\r\n }\r\n public set closeCheckRun(value: boolean) {\r\n this._closeCheckRun = value;\r\n }\r\n public get readyToGenerate(): boolean {\r\n return this._readyToGenerate;\r\n }\r\n public set readyToGenerate(value: boolean) {\r\n this._readyToGenerate = value;\r\n }\r\n public get showBordRowComponents(): boolean {\r\n return this._showBordRowComponents;\r\n }\r\n public set showBordRowComponents(value: boolean) {\r\n this._showBordRowComponents = value;\r\n }\r\n public get updateBankDetails(): boolean {\r\n return this._updateBankDetails;\r\n }\r\n public set updateBankDetails(value: boolean) {\r\n this._updateBankDetails = value;\r\n }\r\n public get ProcessingValidation(): boolean {\r\n return this._ProcessingValidation;\r\n }\r\n public set ProcessingValidation(value: boolean) {\r\n this._ProcessingValidation = value;\r\n }\r\n public get confirmPaymentReady(): boolean {\r\n return this._confirmPaymentReady;\r\n }\r\n public set confirmPaymentReady(value: boolean) {\r\n this._confirmPaymentReady = value;\r\n }\r\n public get changeBankModel(): boolean {\r\n return this._changeBankModel;\r\n }\r\n public set changeBankModel(value: boolean) {\r\n this._changeBankModel = value;\r\n }\r\n public get displaySpinner(): boolean {\r\n return this._displaySpinner;\r\n }\r\n public set displaySpinner(value: boolean) {\r\n this._displaySpinner = value;\r\n }\r\n public get showList() {\r\n return this._showList;\r\n }\r\n public set showList(value: boolean) {\r\n this._showList = value;\r\n }\r\n public get scrollFilter(): string {\r\n return this._scrollFilter;\r\n }\r\n public set scrollFilter(value: string) {\r\n this._scrollFilter = value;\r\n }\r\n public get currentView(): string {\r\n return this._currentView;\r\n }\r\n public set currentView(value: string) {\r\n this._currentView = value;\r\n }\r\n public get getUnreleasedBatches(): boolean {\r\n return this._getUnreleasedBatches;\r\n }\r\n public set getUnreleasedBatches(value: boolean) {\r\n this._getUnreleasedBatches = value;\r\n }\r\n public get getUnPaidBatches(): boolean {\r\n return this._getUnPaidBatches;\r\n }\r\n public set getUnPaidBatches(value: boolean) {\r\n this._getUnPaidBatches = value;\r\n }\r\n public get gettingDetails(): boolean {\r\n return this._gettingDetails;\r\n }\r\n public set gettingDetails(value: boolean) {\r\n this._gettingDetails = value;\r\n }\r\n public get openDetailsModel(): boolean {\r\n return this._openDetailsModel;\r\n }\r\n public set openDetailsModel(value: boolean) {\r\n this._openDetailsModel = value;\r\n }\r\n public get membNo(): string {\r\n return this._membNo;\r\n }\r\n public set membNo(value: string) {\r\n this._membNo = value;\r\n }\r\n public get visitCounts(): number {\r\n return this._visitCounts;\r\n }\r\n public set visitCounts(value: number) {\r\n this._visitCounts = value;\r\n }\r\n public get authNo(): string {\r\n return this._authNo;\r\n }\r\n public set authNo(value: string) {\r\n this._authNo = value;\r\n }\r\n public get enableSearch(): boolean {\r\n return this._enableSearch;\r\n }\r\n public set enableSearch(value: boolean) {\r\n this._enableSearch = value;\r\n }\r\n public get openEditBatch(): boolean {\r\n return this._openEditBatch;\r\n }\r\n public set openEditBatch(value: boolean) {\r\n this._openEditBatch = value;\r\n }\r\n public get enableNavButtons(): boolean {\r\n return this._enableNavButtons;\r\n }\r\n public set enableNavButtons(value: boolean) {\r\n this._enableNavButtons = value;\r\n }\r\n public get enablesave(): boolean {\r\n return this._enablesave;\r\n }\r\n public set enablesave(value: boolean) {\r\n this._enablesave = value;\r\n }\r\n public get openUnEditBatch(): boolean {\r\n return this._openUnEditBatch;\r\n }\r\n public set openUnEditBatch(value: boolean) {\r\n this._openUnEditBatch = value;\r\n }\r\n public get lastpayedDateFound(): boolean {\r\n return this._lastpayedDateFound;\r\n }\r\n public set lastpayedDateFound(value: boolean) {\r\n this._lastpayedDateFound = value;\r\n }\r\n public get vendorInfo() {\r\n return this._vendorInfo;\r\n }\r\n public get SubmitCheckrunError() {\r\n return this._submitCheckrunError;\r\n }\r\n public set SubmitCheckrunError(value: boolean) {\r\n this._submitCheckrunError = value;\r\n if (value == false) {\r\n this._submitCheckrunErrorMsg = \"\";\r\n }\r\n }\r\n\r\n public get diacodes(): Diagcodes[] {\r\n return this._diacodes;\r\n }\r\n public set diacodes(value: Diagcodes[]) {\r\n this._diacodes = value;\r\n }\r\n\r\n GetAmounts() {\r\n this.legendDisplay = false;\r\n this.errorHandler = false;\r\n let route: any;\r\n this.enableDownload = true;\r\n this.whereClause = [];\r\n if ((this._excludeBankingDetails === false) || (this._excludeBankingDetails === null)) {\r\n route = 'GetClaims';\r\n } else {\r\n route = 'GetClaimsExcludeBanking'\r\n }\r\n this.gridData.splice(0, this.gridData.length);\r\n this.amountsToDisplay.splice(0, this.amountsToDisplay.length);\r\n this.displayData = false;\r\n this.amounts.user = this._userName;\r\n this.amounts.serviceToDate = (new Date).toDateString();\r\n this.amounts.claimType = this._paymentType;\r\n this._http.post(this._baseUrl + 'api/CheckRun/' + route,\r\n this.amounts,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }\r\n ).subscribe((recievedData: [ClaimsModel]) => {\r\n let x: any;\r\n this.amountsToDisplay = recievedData;\r\n this.amountsToDisplay.forEach((el) => {\r\n let x: ModifiedClaimsArrayModel = new ModifiedClaimsArrayModel();\r\n if (el.specCodeDesc !== this.tempDiscription) {\r\n this.tempDiscription = el.specCodeDesc;\r\n x.description = el.specCodeDesc;\r\n x.amountOfClaims = el.amountOfRecords;\r\n x.specCode = el.specCode;\r\n x.include = false;\r\n if (el.claimType === \"P\") {\r\n x.providerPayment = el.sum;\r\n x.memberPayment = \"0.00\";\r\n } else {\r\n x.memberPayment = el.sum;\r\n x.providerPayment = \"0.00\";\r\n }\r\n this.gridData.push(x);\r\n } else {\r\n let y = this.gridData.length;\r\n let z = this.gridData[y - 1];\r\n if ((this.amounts.claimType == 'P')) {\r\n z.providerPayment = (parseFloat(el.sum) + parseFloat(z.providerPayment)).toFixed(2);\r\n z.amountOfClaims = (parseInt(z.amountOfClaims) + parseInt(el.amountOfRecords)).toString();\r\n } else {\r\n z.memberPayment = (parseFloat(el.sum) + parseFloat(z.memberPayment)).toFixed(2);;\r\n z.amountOfClaims = (parseInt(z.amountOfClaims) + parseInt(el.amountOfRecords)).toString();\r\n }\r\n this.gridData.pop();\r\n this.gridData.push(z);\r\n }\r\n });\r\n },\r\n (error) => {\r\n this.message = 'Retrying to load data.'\r\n this.errorHandler = true;\r\n this.GetAmounts();\r\n this.ErrorRequets = true;\r\n },\r\n () => {\r\n this._whereClauseBenefit = 0;\r\n this.displayData = true;\r\n this.message = \"Loading\"\r\n this.GetTotals();\r\n this.enableDownload = false;\r\n this.displaySpinner = false;\r\n this.readyToGenerate = false;\r\n this._displayFetchModel = false;\r\n this._wizardNext = true;\r\n });\r\n }\r\n\r\n GetAmountsProv() {\r\n this.legendDisplay = false;\r\n this.errorHandler = false;\r\n this.enableDownload = true;\r\n this.whereClause = [];\r\n this.gridData.splice(0, this.gridData.length);\r\n this.amountsToDisplay.splice(0, this.amountsToDisplay.length);\r\n this.displayData = false;\r\n let today: Date = new Date;\r\n this.amounts.endDate = today.toDateString();\r\n this.amounts.serviceToDate = today.toDateString();\r\n this.amounts.user = this._userName;\r\n this.amounts.claimType = this._paymentType;\r\n this._http.post(this._baseUrl + 'api/CheckRun/GetProvClaims',\r\n this.amounts,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }\r\n ).subscribe((recievedData: [ClaimsModel]) => {\r\n let x: any;\r\n this.amountsToDisplay = recievedData;\r\n this.amountsToDisplay.forEach((el) => {\r\n let x: ModifiedClaimsArrayModel = new ModifiedClaimsArrayModel();\r\n if (el.specCodeDesc !== this.tempDiscription) {\r\n this.tempDiscription = el.specCodeDesc;\r\n x.description = el.specCodeDesc;\r\n x.amountOfClaims = el.amountOfRecords;\r\n x.specCode = el.specCode;\r\n x.include = false;\r\n if (el.claimType === \"P\") {\r\n x.providerPayment = el.sum;\r\n x.memberPayment = \"0.00\";\r\n } else {\r\n x.memberPayment = el.sum;\r\n x.providerPayment = \"0.00\";\r\n }\r\n this.gridData.push(x);\r\n } else {\r\n let y = this.gridData.length;\r\n let z = this.gridData[y - 1];\r\n if ((this.amounts.claimType == 'P')) {\r\n z.providerPayment = (parseFloat(el.sum) + parseFloat(z.providerPayment)).toFixed(2);\r\n z.amountOfClaims = (parseInt(z.amountOfClaims) + parseInt(el.amountOfRecords)).toString();\r\n } else {\r\n z.memberPayment = (parseFloat(el.sum) + parseFloat(z.memberPayment)).toFixed(2);;\r\n z.amountOfClaims = (parseInt(z.amountOfClaims) + parseInt(el.amountOfRecords)).toString();\r\n }\r\n this.gridData.pop();\r\n this.gridData.push(z);\r\n }\r\n });\r\n },\r\n (error) => {\r\n this.message = 'Retrying to load data.'\r\n this.errorHandler = true;\r\n console.log(error);\r\n this.ErrorRequets = true;\r\n },\r\n () => {\r\n this._whereClauseBenefit = 0;\r\n this.displayData = true;\r\n this.message = \"Loading\"\r\n this.GetTotals();\r\n this.enableDownload = false;\r\n this.displaySpinner = false;\r\n this.readyToGenerate = false;\r\n this._displayFetchModel = false;\r\n this._wizardNext = true;\r\n });\r\n }\r\n\r\n GetAmountsMemb() {\r\n this.legendDisplay = false;\r\n this.errorHandler = false;\r\n this.enableDownload = true;\r\n this.whereClause = [];\r\n this.gridData.splice(0, this.gridData.length);\r\n this.amountsToDisplay.splice(0, this.amountsToDisplay.length);\r\n this.displayData = false;\r\n let today: Date = new Date;\r\n this.amounts.endDate = today.toDateString();\r\n this.amounts.serviceToDate = today.toDateString();\r\n this.amounts.user = this._userName;\r\n this.amounts.claimType = this._paymentType;\r\n this._http.post(this._baseUrl + 'api/CheckRun/GetMembClaims',\r\n this.amounts,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }\r\n ).subscribe((recievedData: [ClaimsModel]) => {\r\n this.amountsToDisplay = recievedData;\r\n this.amountsToDisplay.forEach((el) => {\r\n let x: ModifiedClaimsArrayModel = new ModifiedClaimsArrayModel();\r\n if (el.specCodeDesc !== this.tempDiscription) {\r\n this.tempDiscription = el.specCodeDesc;\r\n x.description = el.specCodeDesc;\r\n x.amountOfClaims = el.amountOfRecords;\r\n x.include = false;\r\n x.specCode = el.specCode;\r\n if (el.claimType === \"P\") {\r\n x.providerPayment = el.sum;\r\n x.memberPayment = \"0.00\";\r\n } else {\r\n x.memberPayment = el.sum;\r\n x.providerPayment = \"0.00\";\r\n }\r\n this.gridData.push(x);\r\n } else {\r\n let y = this.gridData.length;\r\n let z = this.gridData[y - 1];\r\n if ((this.amounts.claimType == 'P')) {\r\n z.providerPayment = (parseFloat(el.sum) + parseFloat(z.providerPayment)).toFixed(2);\r\n z.amountOfClaims = (parseInt(z.amountOfClaims) + parseInt(el.amountOfRecords)).toString();\r\n } else {\r\n z.memberPayment = (parseFloat(el.sum) + parseFloat(z.memberPayment)).toFixed(2);;\r\n z.amountOfClaims = (parseInt(z.amountOfClaims) + parseInt(el.amountOfRecords)).toString();\r\n }\r\n this.gridData.pop();\r\n this.gridData.push(z);\r\n }\r\n });\r\n },\r\n (error) => {\r\n this.message = 'Retrying to load data.'\r\n this.errorHandler = true;\r\n console.log(error);\r\n this.ErrorRequets = true;\r\n },\r\n () => {\r\n\r\n this._whereClauseBenefit = this.benefitGridData.length;\r\n this.displayData = true;\r\n this.message = \"Loading\"\r\n this.GetTotals();\r\n this.enableDownload = false;\r\n this.displaySpinner = false;\r\n this.readyToGenerate = false;\r\n this._displayFetchModel = false;\r\n this._wizardNext = true;\r\n });\r\n }\r\n\r\n GetAmountsClaims() {\r\n this.legendDisplay = false;\r\n this.errorHandler = false;\r\n this.enableDownload = true;\r\n this.whereClause = [];\r\n this.gridData.splice(0, this.gridData.length);\r\n this.amountsToDisplay.splice(0, this.amountsToDisplay.length);\r\n this.displayData = false;\r\n let today: Date = new Date;\r\n this.amounts.endDate = today.toDateString();\r\n this.amounts.user = this._userName;\r\n this.amounts.serviceToDate = today.toDateString();\r\n this.amounts.claimType = this._paymentType;\r\n this._http.post(this._baseUrl + 'api/CheckRun/GetClaimsNo',\r\n this.amounts,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }\r\n ).subscribe((recievedData: [ClaimsModel]) => {\r\n this.amountsToDisplay = recievedData;\r\n this.amountsToDisplay.forEach((el) => {\r\n let x: ModifiedClaimsArrayModel = new ModifiedClaimsArrayModel();\r\n if (el.specCodeDesc !== this.tempDiscription) {\r\n this.tempDiscription = el.specCodeDesc;\r\n x.description = el.specCodeDesc;\r\n x.amountOfClaims = el.amountOfRecords;\r\n x.include = false;\r\n x.specCode = el.specCode;\r\n if (el.claimType === \"P\") {\r\n x.providerPayment = el.sum;\r\n this._paymentType = \"P\";\r\n x.memberPayment = \"0.00\";\r\n } else {\r\n x.memberPayment = el.sum;\r\n x.providerPayment = \"0.00\";\r\n this._paymentType = \"M\";\r\n }\r\n this.gridData.push(x);\r\n } else {\r\n let y = this.gridData.length;\r\n let z = this.gridData[y - 1];\r\n if ((this.amounts.claimType == 'P')) {\r\n z.providerPayment = (parseFloat(el.sum) + parseFloat(z.providerPayment)).toFixed(2);\r\n z.amountOfClaims = (parseInt(z.amountOfClaims) + parseInt(el.amountOfRecords)).toString();\r\n } else {\r\n z.memberPayment = (parseFloat(el.sum) + parseFloat(z.memberPayment)).toFixed(2);;\r\n z.amountOfClaims = (parseInt(z.amountOfClaims) + parseInt(el.amountOfRecords)).toString();\r\n }\r\n this.gridData.pop();\r\n this.gridData.push(z);\r\n }\r\n });\r\n },\r\n (error) => {\r\n this.message = 'Retrying to load data.'\r\n this.errorHandler = true;\r\n console.log(error);\r\n this.ErrorRequets = true;\r\n },\r\n () => {\r\n this._whereClauseBenefit = 0;\r\n this.displayData = true;\r\n this.message = \"Loading\"\r\n this.GetTotals();\r\n this.enableDownload = false;\r\n this.displaySpinner = false;\r\n this.readyToGenerate = false;\r\n this._displayFetchModel = false;\r\n this._wizardNext = true;\r\n });\r\n }\r\n\r\n GetAmountsService() {\r\n this.legendDisplay = false;\r\n this.errorHandler = false;\r\n this.enableDownload = true;\r\n this.whereClause = [];\r\n this.gridData.splice(0, this.gridData.length);\r\n this.amountsToDisplay.splice(0, this.amountsToDisplay.length);\r\n this.displayData = false;\r\n let today: Date = new Date;\r\n this.amounts.endDate = today.toDateString();\r\n this.amounts.user = this._userName;\r\n this.amounts.claimType = this._paymentType;\r\n\r\n this._http.post(this._baseUrl + 'api/CheckRun/GetClaimsService', this.amounts, {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }).subscribe((recievedData: [ClaimsModel]) => {\r\n let x: any;\r\n this.amountsToDisplay = recievedData;\r\n this.amountsToDisplay.forEach((el) => {\r\n let x: ModifiedClaimsArrayModel = new ModifiedClaimsArrayModel();\r\n if (el.specCodeDesc !== this.tempDiscription) {\r\n this.tempDiscription = el.specCodeDesc;\r\n x.description = el.specCodeDesc;\r\n x.amountOfClaims = el.amountOfRecords;\r\n x.specCode = el.specCode;\r\n x.include = false;\r\n if (el.claimType === \"P\") {\r\n x.providerPayment = el.sum;\r\n x.memberPayment = \"0.00\";\r\n } else {\r\n x.memberPayment = el.sum;\r\n x.providerPayment = \"0.00\";\r\n }\r\n this.gridData.push(x);\r\n } else {\r\n let y = this.gridData.length;\r\n let z = this.gridData[y - 1];\r\n if ((this.amounts.claimType == 'P')) {\r\n z.providerPayment = (parseFloat(el.sum) + parseFloat(z.providerPayment)).toFixed(2);\r\n z.amountOfClaims = (parseInt(z.amountOfClaims) + parseInt(el.amountOfRecords)).toString();\r\n } else {\r\n z.memberPayment = (parseFloat(el.sum) + parseFloat(z.memberPayment)).toFixed(2);;\r\n z.amountOfClaims = (parseInt(z.amountOfClaims) + parseInt(el.amountOfRecords)).toString();\r\n }\r\n this.gridData.pop();\r\n this.gridData.push(z);\r\n }\r\n });\r\n },\r\n (error) => {\r\n this.message = 'Retrying to load data.'\r\n this.errorHandler = true;\r\n this.GetAmounts();\r\n this.ErrorRequets = true;\r\n },\r\n () => {\r\n this._whereClauseBenefit = 0;\r\n this.displayData = true;\r\n this.message = \"Loading\"\r\n this.GetTotals();\r\n this.enableDownload = false;\r\n this.displaySpinner = false;\r\n this.readyToGenerate = false;\r\n this._displayFetchModel = false;\r\n this._wizardNext = true;\r\n });\r\n }\r\n\r\n GetAmountsExcludeBanking() {\r\n this.legendDisplay = false;\r\n this.errorHandler = false;\r\n let route: any;\r\n this.enableDownload = true;\r\n this.whereClause = [];\r\n if ((this.excludeBankingDetails === false) || (this.excludeBankingDetails === null)) {\r\n route = 'GetClaims';\r\n } else {\r\n route = 'GetClaimsExcludeBanking'\r\n }\r\n this.gridData.splice(0, this.gridData.length);\r\n this.amountsToDisplay.splice(0, this.amountsToDisplay.length);\r\n this.displayData = false;\r\n this.amounts.user = this._userName;\r\n this.amounts.claimType = this._paymentType;\r\n this._http.post(this._baseUrl + 'api/CheckRun/' + route,\r\n this.amounts\r\n ).subscribe((recievedData: [ClaimsModel]) => {\r\n let x: any;\r\n this.amountsToDisplay = recievedData;\r\n this.amountsToDisplay.forEach((el) => {\r\n let x: ModifiedClaimsArrayModel = new ModifiedClaimsArrayModel();\r\n if (el.specCodeDesc !== this.tempDiscription) {\r\n this.tempDiscription = el.specCodeDesc;\r\n x.description = el.specCodeDesc;\r\n x.amountOfClaims = el.amountOfRecords;\r\n x.include = false;\r\n if (el.claimType === \"P\") {\r\n x.providerPayment = el.sum;\r\n x.memberPayment = \"0\";\r\n } else {\r\n x.memberPayment = el.sum;\r\n x.providerPayment = \"0\";\r\n }\r\n this.gridData.push(x);\r\n } else {\r\n let y = this.gridData.length;\r\n let z = this.gridData[y - 1];\r\n if (z.memberPayment === \"0\") {\r\n z.memberPayment = el.sum;\r\n z.amountOfClaims = (parseInt(z.amountOfClaims) + parseInt(el.amountOfRecords)).toString();\r\n } else {\r\n z.providerPayment = el.sum;\r\n z.amountOfClaims = (parseInt(z.amountOfClaims) + parseInt(el.amountOfRecords)).toString();\r\n }\r\n this.gridData.pop();\r\n this.gridData.push(z);\r\n }\r\n });\r\n },\r\n (error) => {\r\n this.message = 'Retrying to load data.'\r\n this.errorHandler = true;\r\n this.GetAmounts();\r\n this.ErrorRequets = true;\r\n },\r\n () => {\r\n\r\n\r\n });\r\n }\r\n\r\n GetExcludedClaims() {\r\n this.legendDisplay = false;\r\n this.errorHandler = false;\r\n let route: any;\r\n this.enableDownload = true;\r\n this.whereClause = [];\r\n this.gridData.splice(0, this.gridData.length);\r\n this.amountsToDisplay.splice(0, this.amountsToDisplay.length);\r\n this.displayData = false;\r\n this.amounts.user = this._userName;\r\n this.amounts.serviceToDate = (new Date).toDateString();\r\n this.amounts.claimType = this._paymentType;\r\n\r\n this._http.post(this._baseUrl + 'api/CheckRun/GetAllExcludedClaimsRec', this.amounts, {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }).subscribe((results: [ExcludedClaims]) => {\r\n this.excludingClaims = [];\r\n results.forEach((el) => {\r\n this.excludingClaims.push(el);\r\n });\r\n if (this.excludingClaims.length > 5) {\r\n this._largeAmountFound = true;\r\n } else {\r\n this._largeAmountFound = false;\r\n }\r\n },\r\n (error) => {\r\n console.log(error);\r\n this.ErrorRequets = true;\r\n },\r\n () => {\r\n this.GetAmounts();\r\n });\r\n }\r\n\r\n GetExcludedClaimsMembNo() {\r\n this.legendDisplay = false;\r\n this.errorHandler = false;\r\n this.enableDownload = true;\r\n this.whereClause = [];\r\n this.gridData.splice(0, this.gridData.length);\r\n this.amountsToDisplay.splice(0, this.amountsToDisplay.length);\r\n this.displayData = false;\r\n let today: Date = new Date;\r\n this.amounts.endDate = today.toDateString();\r\n this.amounts.serviceToDate = today.toDateString();\r\n this.amounts.user = this._userName;\r\n this.amounts.claimType = this._paymentType;\r\n this._http.post(this._baseUrl + 'api/CheckRun/GetAllExcludedClaimsMembNo', this.amounts, {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }).subscribe((results: [ExcludedClaims]) => {\r\n this.excludingClaims = [];\r\n results.forEach((el) => {\r\n this.excludingClaims.push(el);\r\n });\r\n if (this.excludingClaims.length > 5) {\r\n this._largeAmountFound = true;\r\n } else {\r\n this._largeAmountFound = false;\r\n }\r\n },\r\n (error) => {\r\n console.log(error);\r\n this.ErrorRequets = true;\r\n },\r\n () => {\r\n this.GetAmountsMemb();\r\n });\r\n }\r\n\r\n GetExcludedClaimsProv() {\r\n this.legendDisplay = false;\r\n this.errorHandler = false;\r\n this.enableDownload = true;\r\n this.whereClause = [];\r\n this.gridData.splice(0, this.gridData.length);\r\n this.amountsToDisplay.splice(0, this.amountsToDisplay.length);\r\n this.displayData = false;\r\n let today: Date = new Date;\r\n this.amounts.endDate = today.toDateString();\r\n this.amounts.serviceToDate = today.toDateString();\r\n this.amounts.user = this._userName;\r\n this.amounts.claimType = this._paymentType;\r\n this._http.post(this._baseUrl + 'api/CheckRun/GetAllExcludedClaimsProv', this.amounts, {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }).subscribe((results: [ExcludedClaims]) => {\r\n this.excludingClaims = [];\r\n results.forEach((el) => {\r\n this.excludingClaims.push(el);\r\n });\r\n if (this.excludingClaims.length > 5) {\r\n this._largeAmountFound = true;\r\n } else {\r\n this._largeAmountFound = false;\r\n }\r\n },\r\n (error) => {\r\n console.log(error);\r\n this.ErrorRequets = true;\r\n },\r\n () => {\r\n this.GetAmountsProv();\r\n });\r\n }\r\n\r\n GetExcludedClaimsServ() {\r\n this.legendDisplay = false;\r\n this.errorHandler = false;\r\n this.enableDownload = true;\r\n this.whereClause = [];\r\n this.gridData.splice(0, this.gridData.length);\r\n this.amountsToDisplay.splice(0, this.amountsToDisplay.length);\r\n this.displayData = false;\r\n let today: Date = new Date;\r\n this.amounts.endDate = today.toDateString();\r\n this.amounts.user = this._userName;\r\n this.amounts.claimType = this._paymentType;\r\n //this._http.post(this._baseUrl + 'api/CheckRun/GetAllExcludedClaimsRec', this.amounts, { //Jaco 2023-11-24\r\n this._http.post(this._baseUrl + 'api/CheckRun/GetAllExcludedClaimsSer', this.amounts, { //Jaco 2023-11-24\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }).subscribe((results: [ExcludedClaims]) => {\r\n this.excludingClaims = [];\r\n results.forEach((el) => {\r\n this.excludingClaims.push(el);\r\n });\r\n if (this.excludingClaims.length > 5) {\r\n this._largeAmountFound = true;\r\n } else {\r\n this._largeAmountFound = false;\r\n }\r\n },\r\n (error) => {\r\n console.log(error);\r\n this.ErrorRequets = true;\r\n },\r\n () => {\r\n this.GetAmountsService();\r\n });\r\n }\r\n\r\n GetExcludedClaimsClaimNo() {\r\n\r\n this.legendDisplay = false;\r\n this.errorHandler = false;\r\n this.enableDownload = true;\r\n this.whereClause = [];\r\n this.gridData.splice(0, this.gridData.length);\r\n this.amountsToDisplay.splice(0, this.amountsToDisplay.length);\r\n this.displayData = false;\r\n let today: Date = new Date;\r\n this.amounts.endDate = today.toDateString();\r\n this.amounts.user = this._userName;\r\n this.amounts.serviceToDate = today.toDateString();\r\n this.amounts.claimType = this._paymentType;\r\n this._http.post(this._baseUrl + 'api/CheckRun/GetAllExcludedClaimsClaimNo', this.amounts, {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }).subscribe((results: [ExcludedClaims]) => {\r\n this.excludingClaims = [];\r\n results.forEach((el) => {\r\n this.excludingClaims.push(el);\r\n });\r\n if (this.excludingClaims.length > 5) {\r\n this._largeAmountFound = true;\r\n } else {\r\n this._largeAmountFound = false;\r\n }\r\n },\r\n (error) => {\r\n console.log(error);\r\n this.ErrorRequets = true;\r\n },\r\n () => {\r\n this.GetAmountsClaims();\r\n });\r\n }\r\n\r\n GetLastRecievedDate() {\r\n this._http.post(this._baseUrl + 'api/CheckRun/GetLastRecDate',\r\n this.amounts,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }\r\n ).subscribe((recievedDate) => {\r\n let x: any;\r\n x = recievedDate;\r\n this.lastRecDate = x.message;\r\n },\r\n (error) => {\r\n console.log(error);\r\n this.errorHandler = true;\r\n this.ErrorRequets = true;\r\n },\r\n () => {\r\n });\r\n return this.lastRecDate;\r\n }\r\n\r\n GetTotals() {\r\n this.totalClaims = 0;\r\n this.totalMembPayments = 0;\r\n this.totalProvPayments = 0;\r\n this.totalBenClaims = 0;\r\n this.totalbenprov = 0;\r\n this.tottalbenmen = 0;\r\n this.provTotal = 0;\r\n this.membTotal = 0;\r\n this.gridData.forEach((el) => {\r\n this.membTotal = this.membTotal + parseFloat(el.memberPayment);\r\n this.provTotal = this.provTotal + parseFloat(el.providerPayment);\r\n this.membTotal = +this.membTotal.toFixed(3);\r\n this.provTotal = +this.provTotal.toFixed(3);\r\n });\r\n }\r\n\r\n SetBatchDetails() {\r\n this._specificBatchNo = new BatchDetailsModel();\r\n this._specificBatchNo.batchNumber = this.batchNumber;\r\n this._specificBatchNo.hpCode = this._loginService.CurrentLoggedInUser.username;\r\n this._specificBatchNo.paymentType = this._paymentType;\r\n this._specificBatchNo.whereClause = \"\";\r\n let count: number = 0;\r\n this.whereClause.forEach((wc) => {\r\n count++;\r\n if (count < this.whereClause.length) {\r\n this._specificBatchNo.whereClause = this._specificBatchNo.whereClause + wc + \",\";\r\n } else {\r\n this._specificBatchNo.whereClause = this._specificBatchNo.whereClause + wc;\r\n }\r\n\r\n });\r\n this.amounts.sorting = 'spec';\r\n this._specificBatchNo.sorting = this.amounts.sorting;\r\n this.BordRowCreation();\r\n }\r\n\r\n GetMemberAmounts() {\r\n this.legendDisplay = false;\r\n this.errorHandler = false;\r\n let route: any\r\n if ((this.excludeBankingDetails === false) || (this.excludeBankingDetails === null)) {\r\n route = 'GetClaims';\r\n } else {\r\n route = 'GetClaimsExcludeBanking';\r\n }\r\n this.gridData.splice(0, this.gridData.length);\r\n this.amountsToDisplay.splice(0, this.amountsToDisplay.length);\r\n this.displayData = false;\r\n this._http.post(this._baseUrl + 'api/CheckRun/' + route,\r\n this.amounts,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }\r\n ).subscribe((recievedData: [ClaimsModel]) => {\r\n let x: any;\r\n this.amountsToDisplay = recievedData;\r\n this.amountsToDisplay.forEach((el) => {\r\n let x: ModifiedClaimsArrayModel = new ModifiedClaimsArrayModel();\r\n if (el.specCodeDesc !== this.tempDiscription) {\r\n this.tempDiscription = el.specCodeDesc;\r\n x.description = el.specCodeDesc;\r\n x.amountOfClaims = el.amountOfRecords;\r\n if (el.claimType === \"P\") {\r\n x.providerPayment = el.sum;\r\n x.memberPayment = \"0\";\r\n x.amountOfClaims = \"0\";\r\n } else {\r\n x.memberPayment = el.sum;\r\n x.providerPayment = \"0\";\r\n }\r\n this.gridData.push(x);\r\n } else {\r\n let y = this.gridData.length;\r\n let z = this.gridData[y - 1];\r\n if (z.memberPayment === \"0\") {\r\n z.memberPayment = el.sum;\r\n z.amountOfClaims = (parseInt(z.amountOfClaims) + parseInt(el.amountOfRecords)).toString();\r\n } else {\r\n z.providerPayment = el.sum;\r\n z.amountOfClaims = (parseInt(z.amountOfClaims)).toString();\r\n }\r\n this.gridData.pop();\r\n this.gridData.push(z);\r\n }\r\n });\r\n },\r\n (error) => {\r\n console.log(error);\r\n this.message = 'Retrying to load data.';\r\n this.errorHandler = true;\r\n this.GetAmounts();\r\n this.ErrorRequets = true;\r\n },\r\n () => {\r\n this.displayData = true;\r\n this.message = \"Loading\";\r\n this.GetTotals();\r\n });\r\n }\r\n\r\n GetProviderAmounts() {\r\n this.legendDisplay = false;\r\n this.errorHandler = false;\r\n let route: any;\r\n if ((this.excludeBankingDetails === false) || (this.excludeBankingDetails === null)) {\r\n route = 'GetClaims';\r\n } else {\r\n route = 'GetClaimsExcludeBanking'\r\n }\r\n this.gridData.splice(0, this.gridData.length);\r\n this.amountsToDisplay.splice(0, this.amountsToDisplay.length);\r\n this.displayData = false;\r\n this._http.post(this._baseUrl + 'api/CheckRun/' + route,\r\n this.amounts,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }\r\n ).subscribe((recievedData: [ClaimsModel]) => {\r\n let x: any;\r\n this.amountsToDisplay = recievedData;\r\n this.amountsToDisplay.forEach((el) => {\r\n let x: ModifiedClaimsArrayModel = new ModifiedClaimsArrayModel();\r\n if (el.specCodeDesc !== this.tempDiscription) {\r\n this.tempDiscription = el.specCodeDesc;\r\n x.description = el.specCodeDesc;\r\n x.amountOfClaims = el.amountOfRecords;\r\n if (el.claimType === \"P\") {\r\n x.providerPayment = el.sum;\r\n x.memberPayment = \"0\";\r\n } else {\r\n x.memberPayment = el.sum;\r\n x.providerPayment = \"0\";\r\n x.amountOfClaims = \"0\";\r\n }\r\n this.gridData.push(x);\r\n } else {\r\n let y = this.gridData.length;\r\n let z = this.gridData[y - 1];\r\n if (z.memberPayment === \"0\") {\r\n z.memberPayment = el.sum;\r\n z.amountOfClaims = (parseInt(z.amountOfClaims) + parseInt(el.amountOfRecords)).toString();\r\n } else {\r\n z.providerPayment = el.sum;\r\n z.amountOfClaims = (parseInt(el.amountOfRecords)).toString();\r\n }\r\n this.gridData.pop();\r\n this.gridData.push(z);\r\n }\r\n });\r\n },\r\n (error) => {\r\n this.message = 'Retrying to load data.'\r\n this.errorHandler = true;\r\n this.GetAmounts();\r\n this.ErrorRequets = true;\r\n },\r\n () => {\r\n this.displayData = true;\r\n this.message = \"Loading\"\r\n this.GetTotals();\r\n });\r\n }\r\n\r\n GridSortingProvider() {\r\n this.count++;\r\n if (this.count === 1) {\r\n this.gridData.sort((a, b) => parseFloat(a.providerPayment) - parseFloat(b.providerPayment));\r\n this.benefitGridData.sort((a, b) => parseFloat(a.providerPayment) - parseFloat(b.providerPayment));\r\n } else {\r\n this.count = 0;\r\n this.gridData.sort((a, b) => parseFloat(b.providerPayment) - parseFloat(a.providerPayment));\r\n this.benefitGridData.sort((a, b) => parseFloat(b.providerPayment) - parseFloat(a.providerPayment));\r\n }\r\n }\r\n\r\n GridSortingMember() {\r\n this.count++;\r\n if (this.count === 1) {\r\n this.gridData.sort((a, b) => parseFloat(a.memberPayment) - parseFloat(b.memberPayment));\r\n this.benefitGridData.sort((a, b) => parseFloat(a.memberPayment) - parseFloat(b.memberPayment));\r\n } else {\r\n this.count = 0;\r\n this.gridData.sort((a, b) => parseFloat(b.memberPayment) - parseFloat(a.memberPayment));\r\n this.benefitGridData.sort((a, b) => parseFloat(a.memberPayment) - parseFloat(b.memberPayment));\r\n }\r\n }\r\n\r\n GridSortingDescription() {\r\n this.count++;\r\n if (this.count === 1) {\r\n this.benefitGridData.sort((a, b) => a.description < b.description ? -1 : 1);\r\n this.gridData.sort((a, b) => a.description < b.description ? -1 : 1);\r\n } else {\r\n this.count = 0;\r\n this.benefitGridData.sort((a, b) => b.description < a.description ? -1 : 1);\r\n this.gridData.sort((a, b) => b.description < a.description ? -1 : 1);\r\n }\r\n }\r\n\r\n GridSortingTotalClaims() {\r\n this.count++;\r\n if (this.count === 1) {\r\n this.gridData.sort((a, b) => parseFloat(a.amountOfClaims) - parseFloat(b.amountOfClaims));\r\n this.benefitGridData.sort((a, b) => parseFloat(a.amountOfClaims) - parseFloat(b.amountOfClaims));\r\n } else {\r\n this.count = 0;\r\n this.gridData.sort((a, b) => parseFloat(b.amountOfClaims) - parseFloat(a.amountOfClaims));\r\n this.benefitGridData.sort((a, b) => parseFloat(b.amountOfClaims) - parseFloat(a.amountOfClaims));\r\n }\r\n }\r\n\r\n BordRowCreation() {\r\n\r\n this.errorHandler = false;\r\n this.bordRowList.splice(0, this.bordRowList.length);\r\n this._uniqueList.splice(0, this._uniqueList.length);\r\n this._patientsPerFamily = {};\r\n this.loadBoardRow = true;\r\n this._http.post(this._baseUrl + 'api/CheckRun/BordRowCreation', this._specificBatchNo,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }).subscribe(\r\n (recievedFile: [CheckrunModel]) => {\r\n this.initialTotalsBordRowList = [];\r\n this.bordRowList = recievedFile;\r\n this.bordRowList.forEach((br) => {\r\n this.initialTotalsBordRowList.push(br);\r\n });\r\n this.bordRowList.forEach((el) => {\r\n el.dateOfClaimReceived = el.dateOfClaimReceived.substr(0, 10);\r\n el.dateOfClaimPaid = el.dateOfClaimPaid.substr(0, 10);\r\n el.dateofIncident = el.dateofIncident.substr(0, 10);\r\n el.patientBirth = el.patientBirth.substr(0, 10);\r\n });\r\n this._pageCounter = 0;\r\n this._pageScrollCounter = 1;\r\n this.bordRowList.forEach((el) => {\r\n el.page = this._pageScrollCounter;\r\n this._pageCounter++;\r\n if (this._pageCounter === 16) {\r\n this._pageCounter = 0;\r\n this._pageScrollCounter++;\r\n }\r\n });\r\n },\r\n (error) => {\r\n this.errorHandler = true;\r\n console.log(error);\r\n this.ErrorRequets = true;\r\n },\r\n () => {\r\n this._totalPayableAmount = 0;\r\n this.CalculateAmountsForBordRow();\r\n this.GenerateUniqueList();\r\n this.GenerateUniqueProviderList();\r\n this.FilterBordRowOnIncrease(1);\r\n this.loadBoardRow = false;\r\n this._paymentType = this.initialTotalsBordRowList[0].type.toUpperCase();\r\n });\r\n }\r\n\r\n GenerateBatchNumber() {\r\n this.amounts.user = this._loginService.CurrentLoggedInUser.username;\r\n this.amounts.claimType = this._paymentType;\r\n let count: number = 0;\r\n this.amounts.whereClause = \"\"\r\n this.whereClause.forEach((wc) => {\r\n count++;\r\n if (count < this.whereClause.length) {\r\n this.amounts.whereClause = this.amounts.whereClause + wc + \",\";\r\n } else {\r\n this.amounts.whereClause = this.amounts.whereClause + wc;\r\n }\r\n\r\n });\r\n\r\n this.amounts.sorting = \"spec\";\r\n this.loadBoardRow = true;\r\n this.errorHandler = false;\r\n this.enableDownload = true;\r\n this._http.post(this._baseUrl + 'api/CheckRun/GenerateBatchNumber', this.amounts,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }\r\n ).subscribe(\r\n (recievedData: ValidationResultsModel) => {\r\n let v: any;\r\n v = recievedData;\r\n this.batchNumber = v.message;\r\n },\r\n (error) => {\r\n console.log(error);\r\n this.enableDownload = true;\r\n this.errorHandler = true;\r\n this.ErrorRequets = true;\r\n },\r\n () => {\r\n this.enableDownload = false;\r\n this.SetBatchDetails();\r\n this._wizardNext = true;\r\n });\r\n }\r\n\r\n GenerateBatchNumberService() {\r\n let e = new Date(this.amounts.serviceToDate )\r\n this.amounts.serviceToDate = formatDate(e.toDateString(), \"yyyy/MM/dd\", 'en-za', '+0200').toString();\r\n this.amounts.user = this._loginService.CurrentLoggedInUser.username;\r\n this.amounts.claimType = this._paymentType;\r\n let count: number = 0;\r\n let y: Date;\r\n y = new Date;\r\n this.amounts.endDate = y.toDateString();\r\n this.amounts.whereClause = \"\"\r\n this.whereClause.forEach((wc) => {\r\n count++;\r\n if (count < this.whereClause.length) {\r\n this.amounts.whereClause = this.amounts.whereClause + wc + \",\";\r\n } else {\r\n this.amounts.whereClause = this.amounts.whereClause + wc;\r\n }\r\n\r\n });\r\n\r\n this.amounts.sorting = \"spec\";\r\n this.loadBoardRow = true;\r\n this.errorHandler = false;\r\n this.enableDownload = true;\r\n this._http.post(this._baseUrl + 'api/CheckRun/GenerateBatchNumberServiceDate', this.amounts,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }\r\n ).subscribe(\r\n (recievedData: ValidationResultsModel) => {\r\n let v: any;\r\n v = recievedData;\r\n this.batchNumber = v.message;\r\n },\r\n (error) => {\r\n console.log(error);\r\n this.enableDownload = true;\r\n this.errorHandler = true;\r\n this.ErrorRequets = true;\r\n },\r\n () => {\r\n this.enableDownload = false;\r\n this.SetBatchDetails();\r\n this._wizardNext = true;\r\n });\r\n }\r\n\r\n GenerateBatchNumberProv() {\r\n this.amounts.user = this._loginService.CurrentLoggedInUser.username;\r\n this.amounts.claimType = this._paymentType;\r\n let y: Date;\r\n y = new Date;\r\n this.amounts.endDate = y.toDateString();\r\n let count: number = 0;\r\n this.amounts.whereClause = \"\"\r\n this.whereClause.forEach((wc) => {\r\n count++;\r\n if (count < this.whereClause.length) {\r\n this.amounts.whereClause = this.amounts.whereClause + wc + \",\";\r\n } else {\r\n this.amounts.whereClause = this.amounts.whereClause + wc;\r\n }\r\n\r\n });\r\n this.loadBoardRow = true;\r\n this.errorHandler = false;\r\n this.enableDownload = true;\r\n this.amounts.sorting = \"spec\";\r\n this._http.post(this._baseUrl + 'api/CheckRun/GenerateBatchNumberProvider', this.amounts,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }\r\n ).subscribe(\r\n (recievedData: ValidationResultsModel) => {\r\n let v: any;\r\n v = recievedData;\r\n this.batchNumber = v.message;\r\n },\r\n (error) => {\r\n console.log(error);\r\n this.enableDownload = true;\r\n this.errorHandler = true;\r\n this.ErrorRequets = true;\r\n },\r\n () => {\r\n this.enableDownload = false;\r\n this.SetBatchDetails();\r\n });\r\n }\r\n\r\n GenerateBatchNumberMemb() {\r\n this.amounts.user = this._loginService.CurrentLoggedInUser.username;\r\n this.amounts.claimType = this._paymentType;\r\n let y: Date;\r\n y = new Date;\r\n this.amounts.endDate = y.toDateString();\r\n let count: number = 0;\r\n this.amounts.whereClause = \"\"\r\n this.whereClause.forEach((wc) => {\r\n count++;\r\n if (count < this.whereClause.length) {\r\n this.amounts.whereClause = this.amounts.whereClause + wc + \",\";\r\n } else {\r\n this.amounts.whereClause = this.amounts.whereClause + wc;\r\n }\r\n\r\n });\r\n this.loadBoardRow = true;\r\n this.errorHandler = false;\r\n this.enableDownload = true;\r\n this.amounts.sorting = \"spec\";\r\n this._http.post(this._baseUrl + 'api/CheckRun/GenerateBatchNumberMember', this.amounts,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }\r\n ).subscribe(\r\n (recievedData: ValidationResultsModel) => {\r\n let v: any;\r\n v = recievedData;\r\n this.batchNumber = v.message;\r\n },\r\n (error) => {\r\n console.log(error);\r\n this.enableDownload = true;\r\n this.errorHandler = true;\r\n this.ErrorRequets = true;\r\n },\r\n () => {\r\n this.enableDownload = false;\r\n this.SetBatchDetails();\r\n });\r\n }\r\n\r\n GenerateBatchNumberClaim() {\r\n this.amounts.user = this._loginService.CurrentLoggedInUser.username;\r\n this.amounts.claimType = this._paymentType;\r\n let y: Date;\r\n y = new Date;\r\n this.amounts.endDate = y.toDateString();\r\n let count: number = 0;\r\n this.amounts.whereClause = \"\"\r\n this.whereClause.forEach((wc) => {\r\n count++;\r\n if (count < this.whereClause.length) {\r\n this.amounts.whereClause = this.amounts.whereClause + wc + \",\";\r\n } else {\r\n this.amounts.whereClause = this.amounts.whereClause + wc;\r\n }\r\n\r\n });\r\n this.loadBoardRow = true;\r\n this.errorHandler = false;\r\n this.enableDownload = true;\r\n this.amounts.sorting = \"spec\";\r\n this._http.post(this._baseUrl + 'api/CheckRun/GenerateBatchNumberClaim', this.amounts,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }\r\n ).subscribe(\r\n (recievedData: ValidationResultsModel) => {\r\n let v: any;\r\n v = recievedData;\r\n this.batchNumber = v.message;\r\n },\r\n (error) => {\r\n console.log(error);\r\n this.enableDownload = true;\r\n this.errorHandler = true;\r\n this.ErrorRequets = true;\r\n },\r\n () => {\r\n this.enableDownload = false;\r\n this.SetBatchDetails();\r\n });\r\n }\r\n\r\n CalculateAmountsForBordRow() {\r\n this._totalPayableAmount = 0;\r\n this._amountOfClaims = this.bordRowList.length;\r\n this._amountOfReversals = 0\r\n this.bordRowList.forEach((el) => {\r\n this._totalPayableAmount = this._totalPayableAmount + parseFloat(el.amountOfClaimApproved);\r\n if (parseFloat(el.amountOfClaimApproved) < 0) {\r\n this._amountOfReversals++;\r\n }\r\n });\r\n }\r\n\r\n GenerateUniqueList() {\r\n let x: string;\r\n this.bordRowList.sort((a, b) => a.mainPolicyNumber < b.mainPolicyNumber ? -1 : 1);\r\n this._pageCounter = 1;\r\n this._pageNumber = 1;\r\n this.bordRowList.forEach((el) => {\r\n if (el.mainPolicyNumber !== x) {\r\n x = el.mainPolicyNumber;\r\n el.mainLineId = this._uniqueList.length + 1;\r\n this._uniqueList.push(\r\n {\r\n mainPolicyNumber: el.mainPolicyNumber,\r\n nameSurnamePrincipleMember: el.nameSurnamePrincipleMember,\r\n bankAccountName: el.bankAccountName,\r\n bankAccountNumber: el.bankAccountNumber,\r\n bankAccountBranchCode: el.bankAccountBranchCode,\r\n page: this._pageNumber,\r\n validated: el.validated,\r\n exclude: el.excluded,\r\n rejected: el.rejected,\r\n });\r\n this._pageCounter++;\r\n if (this._pageCounter === 16) {\r\n this._pageCounter = 1;\r\n this._pageNumber++;\r\n }\r\n }\r\n });\r\n this._patientsPerFamily = {};\r\n this._uniqueList.forEach((family) => {\r\n let valuePatientArray = this.FindPatientsForPriciple(family.mainPolicyNumber);\r\n let key = family.mainPolicyNumber;\r\n if (key in this._patientsPerFamily) {\r\n this._patientsPerFamily[key] += valuePatientArray;\r\n } else {\r\n this._patientsPerFamily[key] = valuePatientArray;\r\n }\r\n });\r\n this.FilterDictOnIncrease(1);\r\n this.initailSotingOfUniqueList = [];\r\n this._uniqueList.forEach((ul) => {\r\n this.initailSotingOfUniqueList.push(ul);\r\n });\r\n this.initailSortingOfPatientList = this._patientsPerFamily;\r\n }\r\n\r\n GenerateUniqueProviderList() {\r\n let x: string;\r\n this.bordRowList.sort((a, b) => a.provId < b.provId ? -1 : 1);\r\n this._pageCounter = 1;\r\n this._providerPageCount = 1;\r\n this.bordRowList.forEach((el) => {\r\n if (el.provId !== x) {\r\n x = el.provId;\r\n el.mainLineId = this._uniqueProvList.length + 1;\r\n this._uniqueProvList.push(\r\n {\r\n bankName: el.bankAccountName,\r\n accNo: el.bankAccountNumber,\r\n branch: el.bankAccountBranchCode,\r\n providerID: el.provId,\r\n refProvId: el.refProvId,\r\n practiceName: el.providerName,\r\n page: this._providerPageCount,\r\n validated: el.validated,\r\n excluded: el.excluded,\r\n rejected: el.rejected,\r\n hasBanking: false,\r\n show: true\r\n\r\n });\r\n this._pageCounter++;\r\n if (this._pageCounter === 16) {\r\n this._pageCounter = 1;\r\n this._providerPageCount++;\r\n }\r\n }\r\n });\r\n\r\n this._patientsPerProvider = {};\r\n this._uniqueProvList.forEach((provider) => {\r\n let valuePatientArray = this.FindPatientsForProvider(provider.providerID);\r\n let key = provider.providerID;\r\n if (key in this._patientsPerProvider) {\r\n this._patientsPerProvider[key] += valuePatientArray;\r\n } else {\r\n this._patientsPerProvider[key] = valuePatientArray;\r\n }\r\n });\r\n\r\n this.initialSortingOfProvList = this._patientsPerProvider;\r\n this.FilterProvDictOnIncrease(1);\r\n this.initialSortingOfProviderGroup = []\r\n this._uniqueProvList.forEach((ul) => {\r\n this.initialSortingOfProviderGroup.push(ul);\r\n });\r\n this.showText = true;\r\n this.loadBoardRow = false;\r\n this.displayData = false;\r\n this.legendDisplay = true;\r\n\r\n this._uniqueProvList.forEach((prov) => {\r\n\r\n let t = this._patientsPerProvider[prov.providerID];\r\n prov.rejected\r\n t.forEach((clm) => {\r\n if ((clm.rejected === true) && (clm.amountOfClaimPaid === '0.00')) {\r\n clm.rejected = true;\r\n } else {\r\n clm.rejected = false;\r\n }\r\n })\r\n\r\n });\r\n this._totalAmountToPay = 0.00;\r\n this._uniqueProvList.forEach((prov) => {\r\n\r\n let t = this._patientsPerProvider[prov.providerID];\r\n\r\n t.forEach((el) => {\r\n if ((el.validated == true) && (el.excluded == false) && (el.rejected == false)) {\r\n this._totalAmountToPay = this._totalAmountToPay + parseFloat(el.amountOfClaimApproved);\r\n }\r\n\r\n })\r\n\r\n\r\n });\r\n\r\n this._uniqueProvList.forEach((pl) => {\r\n if ((pl.bankName !== \"\") && (pl.bankName !== undefined) && (pl.bankName !== undefined)) {\r\n let p: string = \"\";\r\n pl.hasBanking = true;\r\n pl.bankName = p.padEnd(pl.bankName.length, '*');\r\n p = \"\";\r\n pl.accNo = p.padEnd(pl.accNo.length, '*');\r\n p = \"\";\r\n pl.branch = p.padEnd(pl.branch.length, '*');\r\n } else {\r\n pl.hasBanking = false;\r\n }\r\n });\r\n }\r\n\r\n FindPatientsForProvider(provId: string): Array {\r\n let patients: CheckrunModel[] = [];\r\n patients = this.bordRowList.filter((bordrow) => {\r\n return bordrow.provId == provId;\r\n });\r\n return patients;\r\n\r\n }\r\n\r\n FindPatientsForPriciple(mainPolicyNumber: string): Array {\r\n let patients: Array = this.bordRowList.filter((bordRow) => {\r\n return bordRow.principleMainMemberNumber == mainPolicyNumber;\r\n });\r\n let count = 0;\r\n let uniquePats: Array = [];\r\n patients = patients.sort((a, b) => b.patientMembNo < a.patientMembNo ? -1 : 1);\r\n patients.forEach((el) => {\r\n let newPat = true;\r\n uniquePats.forEach((u) => {\r\n if (el.patientMembNo === u.patientMembNo) {\r\n newPat = false;\r\n }\r\n });\r\n let details: Array = this.bordRowList.filter((bordRow) => {\r\n return bordRow.patientMembNo == el.patientMembNo;\r\n });\r\n if (newPat) {\r\n uniquePats.push(\r\n {\r\n patientMembNo: el.patientMembNo,\r\n idNumberofMember: el.idNumberofMember,\r\n patientName: el.patientName,\r\n patientBirth: el.patientBirth,\r\n claimNo: el.claimNumber,\r\n amountToPay: el.amountOfClaimApproved,\r\n amoutPayed: el.amountOfClaimPaid,\r\n detailLineArray: details,\r\n validated: el.validated,\r\n exclude: el.excluded,\r\n reject: el.rejected,\r\n rowCount: count\r\n }\r\n );\r\n\r\n count++\r\n }\r\n });\r\n uniquePats.forEach((up) => {\r\n up.detailLineArray.forEach((dl) => {\r\n if ((dl.validated === true) && ((dl.excluded === false) && (dl.rejected === false))) {\r\n this._totalAmountToPay = this._totalAmountToPay + parseFloat(dl.amountOfClaimApproved);\r\n }\r\n });\r\n });\r\n return uniquePats;\r\n }\r\n\r\n FindClaimPerPatient(mainMembNo: string, membId: string): [CheckrunModel] {\r\n let y = this._patientsPerFamily[mainMembNo];\r\n let x = y[0].detailLineArray;\r\n let count = 0;\r\n y.forEach((el) => {\r\n if (el.patientMembNo === membId) {\r\n el.detailLineArray.sort((a, b) => a.claimNumber - b.claimNumber);\r\n el.detailLineArray.forEach((dl) => {\r\n dl.rowCount = count;\r\n count++;\r\n });\r\n x = el.detailLineArray;\r\n }\r\n });\r\n return x;\r\n }\r\n\r\n FilterDictOnIncrease(pageNum: number) {\r\n let u = this._uniqueList.filter(el =>\r\n el.page === pageNum\r\n );\r\n this._filtteredList = u;\r\n }\r\n\r\n FilterProvDictOnIncrease(pageNum: number) {\r\n let p = this._uniqueProvList.filter(pl =>\r\n pl.page === pageNum\r\n );\r\n this._fillteredProvList = p;\r\n this._currentPage = 1;\r\n }\r\n\r\n RejectClaim(rejectClaimList: CheckrunModel[]) {\r\n\r\n rejectClaimList.forEach((el) => {\r\n el.amountOfClaimPaid = el.amountOfClaimPaid.toString();\r\n /*el.amountOfClaimApproved = el.amountOfClaimApproved.toString();\r\n el.amountOfClaimReported = el.amountOfClaimReported.toString();\r\n el.bankAccountBranchCode = el.bankAccountBranchCode.toString();\r\n el.bankAccountName = el.bankAccountName.toString();\r\n el.bankAccountNumber = el.bankAccountNumber.toString();\r\n el.batchNo = el.batchNo.toString();\r\n el.claimAmountOutstanding = el.claimAmountOutstanding.toString();\r\n el.claimNumber = el.claimNumber.toString();\r\n el.claimStatus = el.claimStatus.toString();\r\n el.claimType = el.claimType.toString();\r\n el.dateOfClaimPaid = el.dateOfClaimPaid.toString();\r\n el.dateOfClaimReceived = el.dateOfClaimReceived.toString();\r\n el.dateofIncident = el.dateofIncident.toString();\r\n el.idNumberofDeceased = el.idNumberofDeceased.toString();\r\n el.idNumberofMember = el.idNumberofMember.toString();\r\n el.mainLineId = el.mainLineId.toString();\r\n el.mainPolicyNumber = el.mainPolicyNumber.toString();\r\n el.nameSurnamePrincipleMember = el.nameSurnamePrincipleMember.toString();\r\n el.namSurnameofdeceased = el.namSurnameofdeceased.toString();*/\r\n el.reverse = el.reverse.toString();\r\n\r\n })\r\n let f = this;\r\n rejectClaimList.forEach((rl) => {\r\n rl.note = this._rejectionNote;\r\n rl.rejReason = this._rejectionReason;\r\n rl.batchNo = this.batchNumber;\r\n });\r\n this._http.post(this._baseUrl + \"api/CheckRun/RejectClaim\", rejectClaimList,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }\r\n ).subscribe((RecievedResult: ValidationResultsModel) => {\r\n let c: any = this._patientsPerProvider[this._rejectProv];\r\n c.forEach((el) => {\r\n if ((el.patientMembNo == f._rejectmembNo) && (el.rowId == f._rowId)) {\r\n el.amountOfClaimPaid = RecievedResult.message;\r\n el.amountOfClaimApproved = RecievedResult.message;\r\n if ((el.validated == true) || (el.validate == true)) {\r\n f._totalAmountToPay = f._totalAmountToPay + parseFloat(el.amountOfClaimApproved);\r\n }\r\n }\r\n });\r\n },\r\n (error) => { console.log(error) });\r\n }\r\n\r\n ExcludeClaim(excludeClaimList: CheckrunModel[]) {\r\n excludeClaimList.forEach((el) => {\r\n el.batchNo = this.batchNumber;\r\n });\r\n this._http.post(this._baseUrl + \"api/CheckRun/ExcludeClaim\", excludeClaimList,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n\r\n })\r\n }\r\n ).subscribe((RecievedResult: ValidationResultsModel) => {\r\n });\r\n }\r\n\r\n ValidateClaim(ValidatedList: CheckrunModel[]) {\r\n ValidatedList.forEach((vl) => {\r\n vl.batchNo = this.batchNumber;\r\n });\r\n this._http.post(this._baseUrl + \"api/CheckRun/ValidateClaim\", ValidatedList,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n\r\n })\r\n }\r\n ).subscribe((RecievedResult: ValidationResultsModel) => {\r\n });\r\n }\r\n\r\n GetListOfPaidBatches() {\r\n this.showList = true;\r\n this.showBordRowComponents = false;\r\n this._paidBatches = [];\r\n let y: Date;\r\n y = new Date;\r\n this.amounts.endDate = formatDate(y.toDateString(), \"yyyy/MM/dd\", 'en-za', '+0200').toString();\r\n this.amounts.serviceToDate = formatDate(y.toDateString(), \"yyyy/MM/dd\", 'en-za', '+0200').toString();\r\n\r\n if (this.amounts.endDate == null || this.amounts.endDate == undefined || this.amounts.endDate == \"\") {\r\n this.amounts.endDate = \"\";\r\n }\r\n this._http.post(this._baseUrl + 'api/CheckRun/GetPaidBatches',\r\n this.amounts,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\"\r\n\r\n })\r\n }\r\n ).subscribe((recievedList: CheckRunTypeModel[]) => {\r\n this._filteredPaidList = [];\r\n this._paid = {};\r\n let v = recievedList;\r\n this._paidBatchesType = v;\r\n this._paidBatchesType.forEach((pb) => {\r\n let key2: string = pb.batchNo.substr(0, 6);\r\n let contains: boolean = this._filteredPaidList.some(y => y.yearMont === key2);\r\n if (contains) {\r\n this._filteredPaidList.forEach((fl) => {\r\n if (fl.yearMont === key2) {\r\n let include = fl.list.some(y => y === pb);\r\n if (include === false) {\r\n fl.list.push(pb);\r\n }\r\n }\r\n });\r\n } else {\r\n let d: CheckRunTypeModel[] = [];\r\n d.push(pb);\r\n this._filteredPaidList.push({\r\n yearMont: key2,\r\n list: d\r\n });\r\n }\r\n });\r\n this._paid = {};\r\n this._filteredPaidList.forEach((flp) => {\r\n let batchNumbers = flp.list;\r\n let indexer = flp.yearMont;\r\n this._paid[indexer] = batchNumbers\r\n\r\n });\r\n },\r\n (error) => {\r\n console.log(error);\r\n this.ErrorRequets = true;\r\n },\r\n () => {\r\n\r\n this.showBordRowComponents = true;\r\n this.CheckCheckRunTypeArrayPaid(this._paidBatchesType);\r\n this.GetUnreleasedBatches()\r\n });\r\n }\r\n\r\n GetUnreleasedBatches() {\r\n this.getUnreleasedBatches = true;\r\n this._unreleasedBatches = [];\r\n let y: Date;\r\n y = new Date;\r\n this.amounts.endDate = y.toDateString();\r\n this.amounts.serviceToDate = y.toDateString();\r\n this._http.post(this._baseUrl + 'api/CheckRun/GetUnreleasedBatches',\r\n this.amounts,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }\r\n ).subscribe((recievedList: CheckRunTypeModel[]) => {\r\n let v = recievedList;\r\n this._unreleasedBatchesType = v;\r\n this.inprocessCOunt = this._unreleasedBatchesType.length;\r\n\r\n },\r\n (error) => {\r\n console.log(error);\r\n this.ErrorRequets = true;\r\n },\r\n () => {\r\n this.showBordRowComponents = true;\r\n this.showList = false;\r\n this.getUnreleasedBatches = false;\r\n this.GetUnpaidBatches();\r\n });\r\n }\r\n\r\n GetUnpaidBatches() {\r\n this.getUnPaidBatches = true;\r\n this._unpaidBatches = [];\r\n let y: Date;\r\n y = new Date;\r\n this.amounts.endDate = y.toDateString();\r\n this.amounts.serviceToDate = y.toDateString();\r\n this._http.post(this._baseUrl + 'api/CheckRun/GetUnPaidBatches', this.amounts,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }\r\n ).subscribe((recievedList: CheckRunTypeModel[]) => {\r\n let v = recievedList;\r\n this._unpaidBatchesType = v;\r\n this.unpaidCount = this._unpaidBatchesType.length;\r\n },\r\n (error) => {\r\n console.log(error);\r\n this.ErrorRequets = true;\r\n },\r\n () => {\r\n this.showBordRowComponents = true;\r\n this.showList = false;\r\n this.getUnPaidBatches = false;\r\n });\r\n }\r\n\r\n GenerateBordRowWithSpecificBatchNo(batchNo: string) {\r\n this._specificBatchNo = new BatchDetailsModel();\r\n this._unreleasedBatchesType.forEach((bc) => {\r\n if (bc.batchNo == batchNo) {\r\n this._specificBatchNo.paymentType = bc.xtype;\r\n this._paymentType = bc.xtype;\r\n }\r\n })\r\n this.displayData = false;\r\n this.displaySpinner = true;\r\n this.batchNumber = batchNo;\r\n this.bordRowList.splice(0, this.bordRowList.length);\r\n this._specificBatchNo.batchNumber = batchNo;\r\n this._specificBatchNo.hpCode = this._loginService.CurrentLoggedInUser.username;\r\n this._http.post(this._baseUrl + 'api/CheckRun/GetSpecificBatch', this._specificBatchNo,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n })\r\n .subscribe((recievedList: CheckrunModel[]) => {\r\n this.initialTotalsBordRowList = [];\r\n this.bordRowList = recievedList;\r\n this.bordRowList.forEach((br) => {\r\n this.initialTotalsBordRowList.push(br);\r\n });\r\n this.bordRowList.forEach((el) => {\r\n el.dateOfClaimReceived = el.dateOfClaimReceived.substr(0, 10);\r\n el.dateOfClaimPaid = el.dateOfClaimPaid.substr(0, 10);\r\n el.dateofIncident = el.dateofIncident.substr(0, 10);\r\n el.patientBirth = el.patientBirth.substr(0, 10);\r\n });\r\n this._pageCounter = 0;\r\n this._pageScrollCounter = 1;\r\n this.bordRowList.forEach((el) => {\r\n el.page = this._pageScrollCounter;\r\n this._pageCounter++;\r\n if (this._pageCounter === 16) {\r\n this._pageCounter = 0;\r\n this._pageScrollCounter++;\r\n }\r\n });\r\n },\r\n (error) => {\r\n console.log(error);\r\n this.errorHandler = true;\r\n this.ErrorRequets = true;\r\n },\r\n () => {\r\n\r\n this._totalPayableAmount = 0;\r\n this.CalculateAmountsForBordRow();\r\n this.CheckCheckRunType();\r\n this.GenerateUniqueList();\r\n this.GenerateUniqueProviderList();\r\n this.FilterBordRowOnIncrease(1);\r\n this._displayFetchModel = false;\r\n this.GetLastEnteredPayDate();\r\n this.GetExistingBankingDetails();\r\n });\r\n }\r\n\r\n GetExistingBankingDetails() {\r\n\r\n this._http.post(this._baseUrl + 'api/CheckRun/CheckUpdatedBankingDetails', this._specificBatchNo,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n\r\n }).subscribe((returnedList: string[]) => {\r\n\r\n let provList: string[] = [];\r\n\r\n if (returnedList.length !== 0) {\r\n returnedList.forEach((el) => {\r\n this.bordRowList.forEach((pl) => {\r\n\r\n if (el == pl.claimNumber) {\r\n provList.push(pl.provId);\r\n }\r\n })\r\n });\r\n\r\n provList.forEach((ll) => {\r\n this._uniqueProvList.forEach((ul) => {\r\n if (ll == ul.providerID) {\r\n ul.hasBanking = true;\r\n }\r\n })\r\n });\r\n\r\n provList.forEach((ll) => {\r\n this._fillteredProvList.forEach((ul) => {\r\n if (ll == ul.providerID) {\r\n ul.hasBanking = true;\r\n }\r\n })\r\n });\r\n }\r\n\r\n\r\n // console.log(provList);\r\n });\r\n }\r\n\r\n ChangeBankingDetail() {\r\n let p = this;\r\n this.updateBankDetails = true;\r\n this.newBankinDetails.user = this._loginService.CurrentLoggedInUser.username;\r\n this._http.post(this._baseUrl + \"api/CheckRun/ChangeBankingDetails\",\r\n this.newBankinDetails,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }\r\n ).subscribe((recievedData: ValidationResultsModel) => {\r\n\r\n },\r\n (error) => {\r\n console.log(error);\r\n this.ErrorRequets = true;\r\n },\r\n () => {\r\n this.changeBankModel = false;\r\n this.updateBankDetails = false;\r\n this._uniqueProvList.forEach((el) => {\r\n if (el.providerID === p._provId) {\r\n el.hasBanking = true;\r\n el.show = false;\r\n\r\n }\r\n });\r\n this._fillteredProvList.forEach((el) => {\r\n if (el.providerID === p._provId) {\r\n el.hasBanking = true;\r\n el.show = false;\r\n\r\n }\r\n });\r\n\r\n });\r\n }\r\n\r\n CheckIfAllClaimsAreValidated() {\r\n this.ProcessingValidation = true;\r\n this._specificBatchNo.batchNumber = this.batchNumber;\r\n this._http.post(this._baseUrl + 'api/CheckRun/CheckValidation',\r\n this._specificBatchNo,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }\r\n ).subscribe((results: ValidationResultsModel) => {\r\n\r\n if (results.valid) {\r\n this.validationMessage = \"You Are About To Mark This Batch Ready For Payment\";\r\n this.confirmPaymentReady = false;\r\n } else {\r\n this.validationMessage =\r\n \"Your Request Could Not Be Proccessed, Make Sure All Claims in This Batch is Validated...\";\r\n this.confirmPaymentReady = true;\r\n }\r\n },\r\n (error) => {\r\n console.log(error);\r\n this.ErrorRequets = true;\r\n },\r\n () => {\r\n this.ProcessingValidation = false;\r\n });\r\n }\r\n\r\n async MarkBatchAsReadyToPay() {\r\n this._displayFetchModel = true;\r\n await\r\n this._http.post(this._baseUrl + 'api/CheckRun/MarkBatchReady', this._specificBatchNo,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }\r\n ).toPromise()\r\n .then(\r\n (result: ValidationResultsModel) => {\r\n if (!result.valid) {\r\n this._submitCheckrunError = true;\r\n this._submitCheckrunErrorMsg = result.message;\r\n }\r\n else {\r\n this.openWarningPayReady = false;\r\n this.bordRowList.splice(0, this.bordRowList.length);\r\n this._uniqueList.splice(0, this._uniqueList.length);\r\n this._filtteredList = [];\r\n this._patientsPerFamily = {};\r\n this.showText = false;\r\n this.tempDiscription = '';\r\n this.displaySpinner = true;\r\n this.gridData.splice(0, this.gridData.length);\r\n this.amountsToDisplay.splice(0, this.amountsToDisplay.length);\r\n this.GetAmounts();\r\n this._paidBatches = [];\r\n this._paid = {};\r\n this._unreleasedBatches = [];\r\n this._unpaidBatches = [];\r\n this.GetListOfPaidBatches();\r\n this.closeCheckRun = true;\r\n this._filtteredList.splice(0, this._filtteredList.length);\r\n this._patientsPerFamily = {};\r\n this._uniqueList.splice(0, this._uniqueList.length);\r\n this.displayData = false;\r\n this.showText = false;\r\n this._totalAmountToPay = 0;\r\n this._paymentType = \"\";\r\n this._providerGrouping = false;\r\n this._fillteredProvList.splice(0, this._fillteredProvList.length);\r\n this._uniqueProvList.splice(0, this._uniqueProvList.length);\r\n this._patientsPerProvider = {};\r\n this._filteredBordRowList.splice(0, this._filteredBordRowList.length);\r\n this._scrollableView = false;\r\n this._isProvider = false;\r\n this.displaySpinner = false; \r\n }\r\n },\r\n (error: HttpErrorResponse) => {\r\n console.log(error);\r\n //this.ErrorRequets = true;\r\n this._submitCheckrunError = true;\r\n this._submitCheckrunErrorMsg = error.message;\r\n }\r\n );\r\n\r\n this._displayFetchModel = false;\r\n } \r\n\r\n GetExistingBankDetails() {\r\n\r\n this._http.post(this._baseUrl + 'api/CheckRun/GetEditedBankingDetails', this.newBankinDetails,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }\r\n ).subscribe((recievedData: BankingDetailModel) => {\r\n this.existingDetails = new BankingDetailModel();\r\n this.existingDetails.bankName = recievedData.bankName;\r\n this.existingDetails.branchCode = recievedData.branchCode;\r\n this.existingDetails.accountNo = recievedData.accountNo;\r\n },\r\n (error) => {\r\n console.log(error);\r\n this.ErrorRequets = true;\r\n },\r\n () => {\r\n\r\n });\r\n\r\n }\r\n\r\n private _currVenDetails: BankingDetailModel = new BankingDetailModel();\r\n public get currVenDetails(): BankingDetailModel {\r\n return this._currVenDetails;\r\n }\r\n public set currVenDetails(value: BankingDetailModel) {\r\n this._currVenDetails = value;\r\n }\r\n\r\n GetVendorName(claimType: string, claimNo: string, provId: string, bankName: string, accNr: string, branchCode: string) {\r\n\r\n this._vendBankingDetails = new BankingDetailModel();\r\n\r\n this._vendBankingDetails.claimType = claimType;\r\n this._vendBankingDetails.provId = provId;\r\n this._vendBankingDetails.claimno = claimNo;\r\n this._vendBankingDetails.bankName = bankName;\r\n this._vendBankingDetails.accountNo = accNr;\r\n this._vendBankingDetails.branchCode = branchCode;\r\n\r\n if (claimType.toUpperCase() == 'P') {\r\n this._http.post(this._baseUrl + 'api/CheckRun/FindProvider', this._vendBankingDetails,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }\r\n ).subscribe((recievedData: BankingDetailModel) => {\r\n this._currVenDetails = new BankingDetailModel();\r\n this._currVenDetails = recievedData;\r\n\r\n\r\n\r\n },\r\n (error) => {\r\n console.log(error);\r\n this.ErrorRequets = true;\r\n },\r\n () => {\r\n this.changeBankModel = true;\r\n });\r\n } else {\r\n this.changeBankModel = true;\r\n }\r\n }\r\n\r\n AllValidatedFilter() {\r\n this.currentFilter = \"Show all validated claims\";\r\n this._pageNumber = 1;\r\n this._pageCounter = 1;\r\n this._uniqueList.sort((a, b) => {\r\n return (a.validated === b.validated) ? 0 : a.validated ? -1 : 1;\r\n });\r\n this._uniqueList.forEach((ul) => {\r\n ul.page = this._pageNumber;\r\n this._pageCounter++;\r\n if (this._pageCounter === 16) {\r\n this._pageCounter = 1;\r\n this._pageNumber++;\r\n }\r\n });\r\n for (var pat in this._patientsPerFamily) {\r\n this._patientsPerFamily[pat].sort((a, b) => {\r\n return (a.validated === b.validated) ? 0 : a.validated ? -1 : 1;\r\n });\r\n }\r\n this._filtteredList = this._uniqueList;\r\n this.FilterDictOnIncrease(1);\r\n }\r\n\r\n AllValidatedFilterProvider() {\r\n this.currentProvFilter = \"Show all validated claims\";\r\n this._providerPageCount = 1;\r\n this._pageCounter = 1;\r\n this._uniqueProvList.sort((a, b) => a.validated > b.validated ? -1 : 1);\r\n this._uniqueProvList.forEach((ul) => {\r\n ul.page = this._providerPageCount;\r\n this._pageCounter++;\r\n if (this._pageCounter === 16) {\r\n this._pageCounter = 1;\r\n this._providerPageCount++;\r\n }\r\n });\r\n for (var pat in this._patientsPerProvider) {\r\n this._patientsPerProvider[pat].sort((a, b) => a.validated > b.validated ? -1 : 1);\r\n }\r\n this._fillteredProvList = this._uniqueProvList;\r\n this.FilterProvDictOnIncrease(1);\r\n }\r\n\r\n AllValidatedFilterScroll() {\r\n this.currentProvFilter = \"Show all validated claims\";\r\n this._pageScrollCounter = 1;\r\n this._pageCounter = 1;\r\n this.bordRowList.sort((a, b) => {\r\n return (a.validated === b.validated) ? 0 : a.validated ? -1 : 1;\r\n });\r\n this.bordRowList.forEach((ul) => {\r\n ul.page = this._pageScrollCounter;\r\n this._pageCounter++;\r\n if (this._pageCounter === 16) {\r\n this._pageCounter = 1;\r\n this._pageScrollCounter++;\r\n }\r\n });\r\n this._filteredBordRowList = this.bordRowList;\r\n this.FilterBordRowOnIncrease(1);\r\n }\r\n\r\n AllExcludedFilter() {\r\n this.currentFilter = \"Show all Excluded claims\";\r\n this._pageNumber = 1;\r\n this._pageCounter = 1;\r\n this._uniqueList.sort((a, b) => {\r\n return (a.exclude === b.exclude) ? 0 : a.exclude ? -1 : 1;\r\n });\r\n this._uniqueList.forEach((ul) => {\r\n ul.page = this._pageNumber;\r\n this._pageCounter++;\r\n if (this._pageCounter === 16) {\r\n this._pageCounter = 1;\r\n this._pageNumber++;\r\n }\r\n });\r\n this._filtteredList = this._uniqueList;\r\n this.FilterDictOnIncrease(1);\r\n }\r\n\r\n AllexcludedFilterProvider() {\r\n this.currentProvFilter = \"Show all Excluded claims\";\r\n this._providerPageCount = 1;\r\n this._pageCounter = 1;\r\n this._uniqueProvList.sort((a, b) => a.excluded > b.excluded ? -1 : 1);\r\n this._uniqueProvList.forEach((ul) => {\r\n ul.page = this._providerPageCount;\r\n this._pageCounter++;\r\n if (this._pageCounter === 16) {\r\n this._pageCounter = 1;\r\n this._providerPageCount++;\r\n }\r\n });\r\n this._fillteredProvList = this._uniqueProvList;\r\n this.FilterProvDictOnIncrease(1);\r\n }\r\n\r\n AllexcludedFilterScroll() {\r\n this.currentProvFilter = \"Show all Excluded claims\";\r\n this._pageScrollCounter = 1;\r\n this._pageCounter = 1;\r\n this.bordRowList.sort((a, b) => {\r\n return (a.excluded === b.excluded) ? 0 : a.excluded ? -1 : 1;\r\n });\r\n this.bordRowList.forEach((ul) => {\r\n ul.page = this._pageScrollCounter;\r\n this._pageCounter++;\r\n if (this._pageCounter === 16) {\r\n this._pageCounter = 1;\r\n this._pageScrollCounter++;\r\n }\r\n });\r\n this._filteredBordRowList = this.bordRowList;\r\n this.FilterBordRowOnIncrease(1);\r\n }\r\n\r\n AllRejectedFilter() {\r\n this.currentFilter = \"Show all rejected claims\";\r\n this._pageNumber = 1;\r\n this._pageCounter = 1;\r\n this._uniqueList.sort((a, b) => {\r\n return (a.rejected === b.rejected) ? 0 : a.rejected ? -1 : 1;\r\n });\r\n this._uniqueList.forEach((ul) => {\r\n ul.page = this._pageNumber;\r\n this._pageCounter++;\r\n if (this._pageCounter === 16) {\r\n this._pageCounter = 1;\r\n this._pageNumber++;\r\n }\r\n });\r\n this._filtteredList = this._uniqueList;\r\n this.FilterDictOnIncrease(1);\r\n }\r\n\r\n AllRejectedFilterProvider() {\r\n this.currentProvFilter = \"Show all rejected claims\";\r\n this._providerPageCount = 1;\r\n this._pageCounter = 1;\r\n this._uniqueProvList.sort((a, b) => a.rejected > b.rejected ? -1 : 1);\r\n this._uniqueProvList.forEach((ul) => {\r\n ul.page = this._providerPageCount;\r\n this._pageCounter++;\r\n if (this._pageCounter === 16) {\r\n this._pageCounter = 1;\r\n this._providerPageCount++;\r\n }\r\n });\r\n this._fillteredProvList = this._uniqueProvList;\r\n this.FilterProvDictOnIncrease(1);\r\n }\r\n\r\n AllRejectedFilterScroll() {\r\n this.currentProvFilter = \"Show all rejected claims\";\r\n this._pageScrollCounter = 1;\r\n this._pageCounter = 1;\r\n this.bordRowList.sort((a, b) => {\r\n return (a.rejected === b.rejected) ? 0 : a.rejected ? -1 : 1;\r\n });\r\n this.bordRowList.forEach((ul) => {\r\n ul.page = this._pageScrollCounter;\r\n this._pageCounter++;\r\n if (this._pageCounter === 16) {\r\n this._pageCounter = 1;\r\n this._pageScrollCounter++;\r\n }\r\n });\r\n this._filteredBordRowList = this.bordRowList;\r\n this.FilterBordRowOnIncrease(1);\r\n }\r\n\r\n AllNonValidatedFilter() {\r\n this.currentFilter = \"Show all unvalidated claims\";\r\n this._pageNumber = 1;\r\n this._pageCounter = 1;\r\n this._uniqueList.sort((a, b) => {\r\n return (a.validated === b.validated) ? 0 : a.validated ? 1 : -1;\r\n });\r\n this._uniqueList.forEach((ul) => {\r\n ul.page = this._pageNumber;\r\n this._pageCounter++;\r\n if (this._pageCounter === 16) {\r\n this._pageCounter = 1;\r\n this._pageNumber++;\r\n }\r\n });\r\n this._filtteredList = this._uniqueList;\r\n this.FilterDictOnIncrease(1);\r\n }\r\n\r\n AllNonValidatedFilterProvider() {\r\n this.currentProvFilter = \"Show all validated claims\";\r\n this._providerPageCount = 1;\r\n this._pageCounter = 1;\r\n this._uniqueProvList.sort((a, b) => a.validated < b.validated ? -1 : 1);\r\n this._uniqueProvList.forEach((ul) => {\r\n ul.page = this._providerPageCount;\r\n this._pageCounter++;\r\n if (this._pageCounter === 16) {\r\n this._pageCounter = 1;\r\n this._providerPageCount++;\r\n }\r\n });\r\n\r\n this._fillteredProvList = this._uniqueProvList;\r\n this.FilterProvDictOnIncrease(1);\r\n }\r\n\r\n AllNonValidatedFilterScroll() {\r\n this.currentProvFilter = \"Show all validated claims\";\r\n this._pageScrollCounter = 1;\r\n this._pageCounter = 1;\r\n this.bordRowList.sort((a, b) => {\r\n return (a.validated === b.validated) ? 0 : a.validated ? 1 : -1;\r\n });\r\n this.bordRowList.forEach((ul) => {\r\n ul.page = this._pageScrollCounter;\r\n this._pageCounter++;\r\n if (this._pageCounter === 16) {\r\n this._pageCounter = 1;\r\n this._pageScrollCounter++;\r\n }\r\n });\r\n\r\n this._fillteredProvList = this._uniqueProvList;\r\n this.FilterProvDictOnIncrease(1);\r\n }\r\n\r\n RemoveFilters() {\r\n this.currentFilter = \"No Filter Applied\";\r\n let tempArr: FamilyModel[] = [];\r\n this._pageNumber = 1;\r\n this._pageCounter = 1;\r\n\r\n this.initailSotingOfUniqueList.forEach((iul) => {\r\n this._uniqueList.forEach((ul) => {\r\n if (ul.mainPolicyNumber === iul.mainPolicyNumber) {\r\n tempArr.push(ul);\r\n }\r\n });\r\n });\r\n tempArr.forEach((ta) => {\r\n ta.page = this._pageNumber;\r\n this._pageCounter++;\r\n if (this._pageCounter === 16) {\r\n this._pageCounter = 1;\r\n this._pageNumber++;\r\n }\r\n });\r\n this._uniqueList = [];\r\n tempArr.forEach((ta) => {\r\n this._uniqueList.push(ta);\r\n });\r\n this.FilterDictOnIncrease(1);\r\n }\r\n\r\n RemoveFiltersProvider() {\r\n this.currentProvFilter = \"No Filter Applied\";\r\n let tempArr: ProviderList[] = [];\r\n this._providerPageCount = 1;\r\n this._pageCounter = 1;\r\n\r\n this.initialSortingOfProviderGroup.forEach((iul) => {\r\n this._uniqueProvList.forEach((ul) => {\r\n if (ul.providerID === iul.providerID) {\r\n tempArr.push(ul);\r\n }\r\n });\r\n });\r\n tempArr.forEach((ta) => {\r\n ta.page = this._providerPageCount;\r\n this._pageCounter++;\r\n if (this._pageCounter === 16) {\r\n this._pageCounter = 1;\r\n this._providerPageCount++;\r\n }\r\n });\r\n this._uniqueProvList = [];\r\n tempArr.forEach((ta) => {\r\n this._uniqueProvList.push(ta);\r\n });\r\n this.FilterProvDictOnIncrease(1);\r\n }\r\n\r\n RemoveFiltersScroll() {\r\n this.currentProvFilter = \"No Filter Applied\";\r\n let tempArr: CheckrunModel[] = [];\r\n this._pageScrollCounter = 1;\r\n this._pageCounter = 1;\r\n\r\n this.initialTotalsBordRowList.forEach((iul) => {\r\n this.bordRowList.forEach((ul) => {\r\n if ((ul.mainPolicyNumber === iul.mainPolicyNumber) && (ul.claimNumber === iul.claimNumber) && (ul.patientMembNo === iul.patientMembNo)) {\r\n tempArr.push(ul);\r\n }\r\n });\r\n });\r\n tempArr.forEach((ta) => {\r\n ta.page = this._pageScrollCounter;\r\n this._pageCounter++;\r\n if (this._pageCounter === 16) {\r\n this._pageCounter = 1;\r\n this._pageScrollCounter++;\r\n }\r\n });\r\n this.FilterBordRowOnIncrease(1);\r\n }\r\n\r\n ClearAllOnNew() {\r\n this.bordRowList.splice(0, this.bordRowList.length);\r\n this._patientsPerFamily = {};\r\n this._paid = {};\r\n this._unreleased = {};\r\n this._unpaid = {};\r\n this._paidBatches.splice(0, this._paidBatches.length);\r\n this._unreleasedBatches.splice(0, this._unreleasedBatches.length);\r\n this.batchNumber = \"\";\r\n this._currentFilter = \"No Filter Applied\";\r\n this.newBankinDetails = new BankingDetailModel();\r\n this.existingDetails = new BankingDetailModel();\r\n this.GetListOfPaidBatches();\r\n this.gridData.splice(0, this.gridData.length);\r\n this.lastRecDate = '';\r\n this.totalMembPayments = 0;\r\n this.totalProvPayments = 0;\r\n this.showText = false;\r\n this.showList = false;\r\n\r\n }\r\n \r\n HpCodes() {\r\n this._hpListShow = false;\r\n let token = localStorage.getItem(\"jwt\");\r\n let x: RejectionCodesModel;\r\n x = new RejectionCodesModel();\r\n x.username = this._loginService.CurrentLoggedInUser.username;\r\n x.userType = this._loginService.CurrentLoggedInUser.userType;\r\n this._http.post(this._baseUrl + 'api/ClaimCapture/GetHpCodes', x,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n })\r\n\r\n }).\r\n subscribe((returnedList: [HealthplanModel]) => {\r\n this.HpCodesList = [];\r\n this.HpCodesList = returnedList;\r\n\r\n },\r\n (error) => {\r\n console.log(error);\r\n this.errorHandler = true;\r\n this.ErrorRequets = true;\r\n },\r\n () => {\r\n this.userName = this._loginService.CurrentLoggedInUser.username;\r\n this.amounts.user = this.userName;\r\n this.amounts.hpCode = this.HpCodesList[0].code;\r\n\r\n if (this.HpCodesList.length > 1) {\r\n this._hpListShow = true;\r\n } else {\r\n this._hpListShow = false;\r\n this.amounts.hpCode = this.HpCodesList[0].code;\r\n //console.log(this.amounts.hpCode);\r\n }\r\n //console.log(this._hpListShow);\r\n this.GetListOfPaidBatches();\r\n });\r\n }\r\n\r\n GetRejectionReasons() {\r\n this.lobCode = new RejectionCodesModel();\r\n this.lobCode.username = this._loginService.CurrentLoggedInUser.username;\r\n this._http.post(this._baseUrl + \"api/CheckRun/GetRejectionCodes\", this.lobCode,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }\r\n ).subscribe((recievedList: [RejectionCodesModel]) => {\r\n this.rejectionReasons = [];\r\n this.rejectionReasons = recievedList;\r\n\r\n },\r\n (error) => {\r\n this.errorHandler = true;\r\n this.ErrorRequets = true;\r\n },\r\n () => {\r\n });\r\n\r\n }\r\n\r\n DownloadUserGuide() {\r\n\r\n this._http.get(this._baseUrl + \"assets/CheckRun_User_Guide.pdf\", { responseType: \"arraybuffer\" }).subscribe((recievedFile) => { });\r\n }\r\n\r\n CheckCheckRunType() {\r\n\r\n this._http.post(this._baseUrl + 'api/CheckRun/CheckCheckRunType', this._specificBatchNo,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }\r\n ).subscribe((recievedData: boolean) => {\r\n let x: boolean;\r\n x = recievedData;\r\n this._isProvider = x;\r\n },\r\n (error) => {\r\n this._errorHandler = true;\r\n this.ErrorRequets = true;\r\n },\r\n () => {\r\n this.showText = true;\r\n this.loadBoardRow = false;\r\n this.displayData = false;\r\n this.legendDisplay = true;\r\n this.displaySpinner = false;\r\n });\r\n }\r\n\r\n CheckCheckRunTypeArrayPaid(array: CheckRunTypeModel[]) {\r\n\r\n this._http.post(this._baseUrl + 'api/CheckRun/CheckCheckRunTypeArray', array,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }\r\n ).subscribe((recievedData: CheckRunTypeModel[]) => {\r\n let x: CheckRunTypeModel[] = [];\r\n x = recievedData;\r\n this._paidBatchesType = x;\r\n },\r\n (error) => {\r\n this._errorHandler = true;\r\n this.ErrorRequets = true;\r\n this.ErrorRequets = true;\r\n },\r\n () => {\r\n\r\n });\r\n }\r\n\r\n ValidateEntireBatch() {\r\n this._http.post(this._baseUrl + \"api/CheckRun/ValidateEntireBatch\", this._specificBatchNo,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }\r\n ).subscribe((recieved: ValidationResultsModel) => {\r\n\r\n },\r\n (error) => {\r\n this.errorHandler = true;\r\n },\r\n () => { });\r\n }\r\n\r\n UnvalidateEntireBatch() {\r\n this._http.post(this._baseUrl + \"api/CheckRun/UnvalidateEntireBatch\", this._specificBatchNo,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }\r\n ).subscribe((recieved: ValidationResultsModel) => {\r\n\r\n },\r\n (error) => {\r\n this.errorHandler = true;\r\n this.ErrorRequets = true;\r\n },\r\n () => { });\r\n }\r\n\r\n FilterBordRowOnIncrease(page: number) {\r\n let u: CheckrunModel[];\r\n u = [];\r\n\r\n u = this.bordRowList.filter(ul =>\r\n ul.page === page\r\n );\r\n\r\n this._filteredBordRowList = u;\r\n }\r\n\r\n GetDetailsOfRefProv() {\r\n this.gettingDetails = true;\r\n this._http.post(this._baseUrl + 'api/CheckRun/GetDetailsOfRefProv', this.details,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n })\r\n .subscribe((recievedData: DetailLinesModel) => {\r\n this._refProvInfo = new DetailLinesModel();\r\n this._refProvInfo.claimNo = recievedData.claimNo;\r\n this._refProvInfo.refProvId = recievedData.refProvId;\r\n this._refProvInfo.refProfName = recievedData.refProfName;\r\n this._refProvInfo.specCode = recievedData.specCode;\r\n this._refProvInfo.desc = recievedData.desc;\r\n },\r\n (error) => {\r\n console.log(error);\r\n this.errorHandler = true;\r\n this.ErrorRequets = true;\r\n },\r\n () => {\r\n this.GetDetailsOfClaim();\r\n });\r\n }\r\n\r\n GetDetailsOfClaim() {\r\n this._http.post(this._baseUrl + 'api/CheckRun/GetDetailsOfClaim', this.details,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n })\r\n .subscribe((recievedData: DetailLinesModel[]) => {\r\n this._paidInfo = new DetailLinesModel();\r\n this._claimInfo = [];\r\n this._diacodes = [];\r\n let x = recievedData.length;\r\n for (var i = 0; i < x; i++) {\r\n if (i < 1) {\r\n this._paidInfo.billed = recievedData[i].billed;\r\n this._paidInfo.coPay = recievedData[i].coPay;\r\n this._paidInfo.dateRec = recievedData[i].dateRec.substr(0, 10);\r\n this._paidInfo.adjust = recievedData[i].adjust;\r\n this._paidInfo.adjCode = recievedData[i].adjCode;\r\n this._paidInfo.tarrif = recievedData[i].tarrif;\r\n this._paidInfo.net = recievedData[i].net;\r\n this._paidInfo.fromDate = recievedData[i].fromDate;\r\n this._paidInfo.tooDate = recievedData[i].tooDate;\r\n this._paidInfo.srvCode = recievedData[i].srvCode;\r\n this._paidInfo.srvCodeDesc = recievedData[i].srvCodeDesc;\r\n this._paidInfo.provClaim = recievedData[i].provClaim;\r\n this._paidInfo.diagcode = recievedData[i].diagcode;\r\n this._paidInfo.diagdesc = recievedData[i].diagdesc;\r\n this._paidInfo.clinicalCodes = recievedData[i].clinicalCodes;\r\n } else {\r\n this._claimInfo.push(recievedData[i]);\r\n }\r\n }\r\n },\r\n (error) => {\r\n console.log(error);\r\n this.errorHandler = true;\r\n this.ErrorRequets = true;\r\n },\r\n () => {\r\n this.GetClaimDiags();\r\n });\r\n }\r\n\r\n GetClaimDiags() {\r\n \r\n const params = new HttpParams().append('claimNo', this.details.claimNo);\r\n this._http.post(this._baseUrl + 'api/Security/GetClaimDiags', this.details.claimNo,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n }),\r\n params\r\n })\r\n .subscribe((recievedData: Diagcodes[]) => {\r\n let temparr: Diagcodes[] = [];\r\n\r\n recievedData.forEach((ifo) => {\r\n temparr.push(ifo);\r\n });\r\n\r\n temparr.sort((a, b) => a.code < b.code ? -1 : 1);\r\n let temp: Diagcodes = new Diagcodes();\r\n temparr.forEach((tmp) => {\r\n if (tmp.code !== temp.code) {\r\n this._diacodes.push(tmp);\r\n temp.code = tmp.code;\r\n }\r\n });\r\n\r\n },\r\n (error) => {\r\n console.log(error);\r\n if (error.status == '401') {\r\n this._router.navigateByUrl('/login');\r\n } \r\n },\r\n () => {\r\n this.GetVisitCounts();\r\n });\r\n }\r\n\r\n GetVisitCounts() {\r\n let memb: MemberNoModel = new MemberNoModel();\r\n memb.hpcode = this._loginService.CurrentLoggedInUser.username;\r\n memb.memberNo = this._membNo;\r\n this._http.post(this._baseUrl + 'api/CheckRun/GetVisitClaims', memb,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n })\r\n .subscribe((recievedCount: MemberNoModel) => {\r\n let x: string = recievedCount.memberNo\r\n this.visitCounts = parseInt(x);\r\n },\r\n (error) => {\r\n console.log(error);\r\n this.errorHandler = true;\r\n this.ErrorRequets = true;\r\n },\r\n () => {\r\n this.GetAuthNo();\r\n });\r\n\r\n }\r\n\r\n GetAuthNo() {\r\n let x: ValidationResultsModel = new ValidationResultsModel();\r\n x.message = this.details.claimNo;\r\n this._http.post(this._baseUrl + 'api/CheckRun/GetAuthNo', x,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n })\r\n .subscribe((recievedData: ValidationResultsModel) => {\r\n this.authNo = recievedData.message;\r\n },\r\n (error) => {\r\n this.errorHandler = true;\r\n console.log(error);\r\n this.ErrorRequets = true;\r\n },\r\n () => {\r\n //this.gettingDetails = false; // Jaco 2023-12-18\r\n this.GetVendorInfo(); // Jaco 2023-12-18\r\n });\r\n }\r\n\r\n GetVendorInfo() { // Jaco 2023-12-18\r\n\r\n let claim = new ClaimHeadersModel();\r\n claim.claimNo = this.details.claimNo;\r\n \r\n this._http.post(this._baseUrl + \"api/Security/GetVendorInfo\", claim,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n })\r\n }\r\n ).subscribe(\r\n (result: VendorInfoModel) => {\r\n this._vendorInfo = result;\r\n },\r\n (error) => {\r\n console.log(error);\r\n this.errorHandler = true;\r\n this.ErrorRequets = true; \r\n },\r\n () => {\r\n this.gettingDetails = false;\r\n })\r\n }\r\n\r\n GenerateBatchForPrinting() {\r\n this._displayFetchModel = true;\r\n this._http.post(this._baseUrl + 'api/CheckRun/PrintCurrentBatch', this._specificBatchNo,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }\r\n ).subscribe((recieved) => {\r\n let x: any;\r\n x = recieved;\r\n this.sheetName = x.message;\r\n },\r\n (error) => {\r\n console.log(error);\r\n this.errorHandler = true;\r\n this.ErrorRequets = true;\r\n },\r\n () => {\r\n let today: Date = new Date;\r\n let dateString: string;\r\n\r\n dateString = today.toDateString() + '_CheckRun.xlsx';\r\n var a = document.createElement('a');\r\n a.target = \"_blank\";\r\n a.setAttribute('type', 'hidden');\r\n //a.href = '../../PamcPortal/assets/CheckRunSheet/' + this.sheetName;\r\n a.href = 'assets/CheckRunSheet/' + this.sheetName;\r\n a.download = dateString;\r\n document.body.appendChild(a);\r\n a.click();\r\n a.remove();\r\n this._displayFetchModel = false;\r\n\r\n\r\n //this._filesource = '../../assets/Remittances/' + this._parseddate + '/' + this._filename\r\n\r\n\r\n //var a = document.createElement('a');\r\n //a.target = '_blank';\r\n //a.setAttribute('type', 'hidden');\r\n //a.href = this._filesource\r\n //a.download = this._filename;\r\n //document.body.appendChild(a);\r\n //a.click();\r\n //a.remove();\r\n });\r\n }\r\n\r\n FilterReleasedBatch(membNo: string, provider: string) {\r\n let found: boolean = false;\r\n if ((provider !== '') && (provider !== null)) {\r\n let p = this._uniqueProvList.filter(pl =>\r\n pl.providerID === provider\r\n );\r\n this._fillteredProvList = p;\r\n }\r\n\r\n if ((membNo !== '') && (membNo !== null)) {\r\n let x: ProviderList[] = [];\r\n this._uniqueProvList.forEach((ul) => {\r\n found = false;\r\n let y = this._patientsPerProvider[ul.providerID];\r\n y.forEach((pp) => {\r\n if (pp.mainPolicyNumber === membNo) {\r\n x.forEach((xl) => {\r\n if (xl.providerID === ul.providerID) {\r\n found = true;\r\n }\r\n });\r\n if (found !== true) {\r\n x.push(ul);\r\n }\r\n\r\n }\r\n });\r\n });\r\n this._fillteredProvList = x;\r\n }\r\n\r\n this.openEditBatch = false;\r\n this.enableNavButtons = false;\r\n }\r\n\r\n async UpdatePaymentDate() { \r\n await\r\n this._http.post(this._baseUrl + 'api/CheckRun/UpdatePaymentDate', this._specificBatchNo,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }\r\n ).toPromise()\r\n .then(\r\n (recievedData) => { }\r\n ); \r\n }\r\n\r\n GetLastEnteredPayDate() {\r\n\r\n this._http.post(this._baseUrl + 'api/CheckRun/GetLastPayedDate', this._specificBatchNo,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }).subscribe\r\n ((recieveddata: ValidationResultsModel) => {\r\n let x: ValidationResultsModel;\r\n x = recieveddata;\r\n this._lastEnteredDate = x.message.substring(0, 10);\r\n if (this._lastEnteredDate !== '') {\r\n this.lastpayedDateFound = true;\r\n } else {\r\n this.lastpayedDateFound = false;\r\n }\r\n },\r\n (error) => {\r\n console.log(error);\r\n this.errorHandler = true;\r\n this.ErrorRequets = true;\r\n },\r\n () => {\r\n\r\n });\r\n }\r\n\r\n FilterUnReleasedBatch(membNo: string, provider: string, claim: string) {\r\n let found: boolean = false;\r\n if ((provider !== '') && (provider !== null)) {\r\n let p = this._uniqueProvList.filter(pl =>\r\n pl.providerID === provider\r\n );\r\n this._fillteredProvList = p;\r\n }\r\n\r\n if ((membNo !== '') && (membNo !== null)) {\r\n let x: ProviderList[] = [];\r\n this._uniqueProvList.forEach((ul) => {\r\n found = false;\r\n let y = this._patientsPerProvider[ul.providerID];\r\n y.forEach((pp) => {\r\n if (pp.mainPolicyNumber === membNo) {\r\n x.forEach((xl) => {\r\n if (xl.providerID === ul.providerID) {\r\n found = true;\r\n }\r\n });\r\n if (found !== true) {\r\n x.push(ul);\r\n }\r\n\r\n }\r\n });\r\n });\r\n this._fillteredProvList = x;\r\n }\r\n if ((claim !== '') && (claim !== null)) {\r\n let x: ProviderList[] = [];\r\n this._uniqueProvList.forEach((ul) => {\r\n found = false;\r\n let y = this._patientsPerProvider[ul.providerID];\r\n y.forEach((pp) => {\r\n if (pp.claimNumber === claim) {\r\n x.forEach((xl) => {\r\n if (xl.providerID === ul.providerID) {\r\n found = true;\r\n }\r\n });\r\n if (found !== true) {\r\n x.push(ul);\r\n }\r\n\r\n }\r\n });\r\n });\r\n this._fillteredProvList = x;\r\n }\r\n\r\n this.openUnEditBatch = false;\r\n }\r\n\r\n NoBankingDetailsProvider() {\r\n this.nobankingFound = false;\r\n this._uniqueProvList.forEach((ul) => {\r\n if (ul.hasBanking == false) {\r\n ul.show = true;\r\n } else {\r\n ul.show = false;\r\n }\r\n });\r\n\r\n this._uniqueProvList.sort((a, b) => a.show > b.show ? -1 : 1);\r\n this._pageCounter = 1;\r\n this._providerPageCount = 1;\r\n\r\n this._uniqueProvList.forEach((el) => {\r\n\r\n el.page = this._providerPageCount;\r\n this._pageCounter++\r\n if (this._pageCounter === 16) {\r\n this._providerPageCount++;\r\n this._pageCounter = 1;\r\n }\r\n });\r\n this.FilterProvDictOnIncrease(1);\r\n }\r\n}\r\n","import { Injectable, Inject, SecurityContext } from '@angular/core';\r\nimport { HttpHeaders, HttpClient, HttpErrorResponse } from '@angular/common/http';\r\nimport { ChronicConditionApplicationModel } from '../models/ChronicConditionApplicationModel';\r\nimport { ChronicConditionDiagsModel } from '../models/ChronicConditionDiagsModel';\r\nimport { FormBuilder, FormGroup, FormControl, FormArray, Validators, ValidationErrors } from '@angular/forms';\r\nimport { HP_ContractsModel } from '../models/HP_ContractsModel';\r\nimport { LoginService } from './login.service';\r\nimport { MemberEligibilityModel } from '../models/MemberEligibilityModel';\r\n//import { MembershipService } from './membership.service';\r\nimport { ValidationService } from './validation.service';\r\nimport { FileItemModel } from '../models/FileItemModel';\r\nimport { MedicationModel } from '../models/MedicationModel';\r\nimport { ChronicConditionCodesModel } from '../models/ChronicConditionCodesModel';\r\nimport { SpecCodes } from '../models/SpecCodes';\r\nimport { MedicineCodesModel } from '../models/MedicineCodesModel';\r\nimport { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ChronicConditionService {\r\n\r\n imagePath: SafeResourceUrl;\r\n\r\n // Debug vars\r\n private _autCompOnOff: string = 'off';\r\n public get AutCompOnOff(): string { return this._autCompOnOff; }\r\n\r\n // Navigation vars\r\n private _currentPage: string = ''; // 'ChronicCondApp' or 'ChronicCondUpdate'\r\n public get CurrentPage(): string { return this._currentPage; }\r\n public set CurrentPage(value: string) { this._currentPage = value; }\r\n\r\n // Form declarations\r\n private memberForm: FormGroup;\r\n private providerForm: FormGroup;\r\n private biometricForm: FormGroup;\r\n private riskFactorsForm: FormGroup;\r\n private conditionForm: FormGroup;\r\n public get ConditionForm(): FormGroup { return this.conditionForm; }\r\n private diabetesMellitusForm: FormGroup;\r\n private hyperlipidaemiaForm: FormGroup;\r\n private hypertensionForm: FormGroup;\r\n private asthmaForm: FormGroup;\r\n private medicationForm: FormGroup;\r\n private documentsForm: FormGroup;\r\n private comorbidForm: FormGroup;\r\n private requestedMedicationForm: FormGroup;\r\n private declarationForm: FormGroup;\r\n\r\n // Referral specs\r\n private _referralSpecs: SpecCodes[] = [];\r\n public get ReferralSpecs(): SpecCodes[] { return this._referralSpecs; }\r\n\r\n // Medicine Codes\r\n private _medicineCodes: MedicineCodesModel[] = [];\r\n public get MedicineCodes(): MedicineCodesModel[] { return this._medicineCodes; }\r\n\r\n // Condition Diag Codes\r\n private _medicationDiags: ChronicConditionDiagsModel[] = [];\r\n public get MedicationDiags(): ChronicConditionDiagsModel[] { return this._medicationDiags; }\r\n\r\n private _filteredMedicationDiags: ChronicConditionDiagsModel[] = [];\r\n public get FilteredMedicationDiags(): ChronicConditionDiagsModel[] { return this._filteredMedicationDiags; }\r\n\r\n private _conditionDiags: ChronicConditionDiagsModel[] = [];\r\n public get ConditionDiags(): ChronicConditionDiagsModel[] { return this._conditionDiags; }\r\n\r\n private _diabetesDiags: ChronicConditionDiagsModel[] = [];\r\n public get DiabetesDiags(): ChronicConditionDiagsModel[] { return this._diabetesDiags; }\r\n\r\n private _hyperLipDiags: ChronicConditionDiagsModel[] = [];\r\n public get HyperLipDiags(): ChronicConditionDiagsModel[] { return this._hyperLipDiags; }\r\n\r\n private _hypertensionDiags: ChronicConditionDiagsModel[] = [];\r\n public get HypertensionDiags(): ChronicConditionDiagsModel[] { return this._hypertensionDiags; }\r\n\r\n private _asthmaDiags: ChronicConditionDiagsModel[] = [];\r\n public get AsthmaDiags(): ChronicConditionDiagsModel[] { return this._asthmaDiags; }\r\n\r\n private _addisDiags: ChronicConditionDiagsModel[] = [];\r\n public get AddisDiags(): ChronicConditionDiagsModel[] { return this._addisDiags; }\r\n\r\n private _bipolDiags: ChronicConditionDiagsModel[] = [];\r\n public get BipolDiags(): ChronicConditionDiagsModel[] { return this._bipolDiags; }\r\n\r\n private _bronchDiags: ChronicConditionDiagsModel[] = [];\r\n public get BronchDiags(): ChronicConditionDiagsModel[] { return this._bronchDiags; }\r\n\r\n private _cardiacDiags: ChronicConditionDiagsModel[] = [];\r\n public get CardiacDiags(): ChronicConditionDiagsModel[] { return this._cardiacDiags; }\r\n\r\n private _cardiomDiags: ChronicConditionDiagsModel[] = [];\r\n public get CardiomDiags(): ChronicConditionDiagsModel[] { return this._cardiomDiags; }\r\n\r\n private _copdDiags: ChronicConditionDiagsModel[] = [];\r\n public get CopdDiags(): ChronicConditionDiagsModel[] { return this._copdDiags; }\r\n\r\n private _renalDiags: ChronicConditionDiagsModel[] = [];\r\n public get RenalDiags(): ChronicConditionDiagsModel[] { return this._renalDiags; }\r\n\r\n private _coronarDiags: ChronicConditionDiagsModel[] = [];\r\n public get CoronarDiags(): ChronicConditionDiagsModel[] { return this._coronarDiags; }\r\n\r\n private _crohnsDiags: ChronicConditionDiagsModel[] = [];\r\n public get CrohnsDiags(): ChronicConditionDiagsModel[] { return this._crohnsDiags; }\r\n\r\n private _diabinsipDiags: ChronicConditionDiagsModel[] = [];\r\n public get DiabinsipDiags(): ChronicConditionDiagsModel[] { return this._diabinsipDiags; }\r\n\r\n private _dysrhytDiags: ChronicConditionDiagsModel[] = [];\r\n public get DysrhytDiags(): ChronicConditionDiagsModel[] { return this._dysrhytDiags; }\r\n\r\n private _epilDiags: ChronicConditionDiagsModel[] = [];\r\n public get EpilDiags(): ChronicConditionDiagsModel[] { return this._epilDiags; }\r\n\r\n private _glaucomDiags: ChronicConditionDiagsModel[] = [];\r\n public get GlaucomDiags(): ChronicConditionDiagsModel[] { return this._glaucomDiags; }\r\n\r\n private _haemophilDiags: ChronicConditionDiagsModel[] = [];\r\n public get HaemophilDiags(): ChronicConditionDiagsModel[] { return this._haemophilDiags; }\r\n\r\n private _hypothDiags: ChronicConditionDiagsModel[] = [];\r\n public get HypothDiags(): ChronicConditionDiagsModel[] { return this._hypothDiags; }\r\n\r\n private _sclerosisDiags: ChronicConditionDiagsModel[] = [];\r\n public get SclerosisDiags(): ChronicConditionDiagsModel[] { return this._sclerosisDiags; }\r\n\r\n private _parkinsDiags: ChronicConditionDiagsModel[] = [];\r\n public get ParkinsDiags(): ChronicConditionDiagsModel[] { return this._parkinsDiags; }\r\n\r\n private _rheumaDiags: ChronicConditionDiagsModel[] = [];\r\n public get RheumaDiags(): ChronicConditionDiagsModel[] { return this._rheumaDiags; }\r\n\r\n private _schizoDiags: ChronicConditionDiagsModel[] = [];\r\n public get SchizoDiags(): ChronicConditionDiagsModel[] { return this._schizoDiags; }\r\n\r\n private _lupusDiags: ChronicConditionDiagsModel[] = [];\r\n public get LupusDiags(): ChronicConditionDiagsModel[] { return this._lupusDiags; }\r\n\r\n private _ulceraDiags: ChronicConditionDiagsModel[] = [];\r\n public get UlceraDiags(): ChronicConditionDiagsModel[] { return this._ulceraDiags; }\r\n\r\n // File upload variables\r\n private _referralLetterFiles: FileItemModel[] = [];\r\n public get ReferralLetterFiles(): FileItemModel[] { return this._referralLetterFiles; }\r\n\r\n private _diabPathResultFiles: FileItemModel[] = [];\r\n public get DiabPathResultFiles(): FileItemModel[] { return this._diabPathResultFiles; }\r\n\r\n private _hyperlipPathResultFiles: FileItemModel[] = [];\r\n public get HyperlipPathResultFiles(): FileItemModel[] { return this._hyperlipPathResultFiles; }\r\n\r\n private _asthmaPaedFiles: FileItemModel[] = [];\r\n public get AsthmaPaedFiles(): FileItemModel[] { return this._asthmaPaedFiles; }\r\n\r\n private _asthmaFlowVolFiles: FileItemModel[] = [];\r\n public get AsthmaFlowVolFiles(): FileItemModel[] { return this._asthmaFlowVolFiles; } \r\n\r\n private _medPrescriptionFiles: FileItemModel[] = [];\r\n public get MedPrescriptionFiles(): FileItemModel[] { return this._medPrescriptionFiles; }\r\n\r\n private _additionalDocsFiles: FileItemModel[] = [];\r\n public get AdditionalDocsFiles(): FileItemModel[] { return this._additionalDocsFiles; }\r\n\r\n private _isFileUploadInProgress: boolean = false;\r\n public get IsFileUploadInProgress(): boolean { return this._isFileUploadInProgress; }\r\n\r\n // Medication \r\n private _medicationItem: MedicationModel = null;\r\n public get MedicationItem(): MedicationModel { return this._medicationItem; }\r\n\r\n private _hypertensionMedList: MedicationModel[] = [];\r\n public get HypertensionMedList(): MedicationModel[] { return this._hypertensionMedList; }\r\n private _hyperlipidaemiaMedList: MedicationModel[] = [];\r\n public get HyperlipidaemiaMedList(): MedicationModel[] { return this._hyperlipidaemiaMedList; }\r\n private _requestedMedList: MedicationModel[] = [];\r\n public get RequestedMedList(): MedicationModel[] { return this._requestedMedList; }\r\n private _asthmaComorbidMedList: MedicationModel[] = [];\r\n public get AsthmaComorbidMedList(): MedicationModel[] { return this._asthmaComorbidMedList; }\r\n private _diabComorbidMedList: MedicationModel[] = [];\r\n public get DiabComorbidMedList(): MedicationModel[] { return this._diabComorbidMedList; }\r\n private _hyperlipComorbidMedList: MedicationModel[] = [];\r\n public get HyperlipComorbidMedList(): MedicationModel[] { return this._hyperlipComorbidMedList; }\r\n private _hypertensionComorbidMedList: MedicationModel[] = [];\r\n public get HypertensionComorbidMedList(): MedicationModel[] { return this._hypertensionComorbidMedList; }\r\n private _addisComorbidMedList: MedicationModel[] = [];\r\n public get AddisComorbidMedList(): MedicationModel[] { return this._addisComorbidMedList; }\r\n private _bipolComorbidMedList: MedicationModel[] = [];\r\n public get BipolComorbidMedList(): MedicationModel[] { return this._bipolComorbidMedList; }\r\n private _bronchComorbidMedList: MedicationModel[] = [];\r\n public get BronchComorbidMedList(): MedicationModel[] { return this._bronchComorbidMedList; }\r\n private _cardiacComorbidMedList: MedicationModel[] = [];\r\n public get CardiacComorbidMedList(): MedicationModel[] { return this._cardiacComorbidMedList; }\r\n private _cardiomComorbidMedList: MedicationModel[] = [];\r\n public get CardiomComorbidMedList(): MedicationModel[] { return this._cardiomComorbidMedList; }\r\n private _copdComorbidMedList: MedicationModel[] = [];\r\n public get CopdComorbidMedList(): MedicationModel[] { return this._copdComorbidMedList; }\r\n private _renalComorbidMedList: MedicationModel[] = [];\r\n public get RenalComorbidMedList(): MedicationModel[] { return this._renalComorbidMedList; }\r\n private _coronarComorbidMedList: MedicationModel[] = [];\r\n public get CoronarComorbidMedList(): MedicationModel[] { return this._coronarComorbidMedList; }\r\n private _crohnsComorbidMedList: MedicationModel[] = [];\r\n public get CrohnsComorbidMedList(): MedicationModel[] { return this._crohnsComorbidMedList; }\r\n private _diabinsipComorbidMedList: MedicationModel[] = [];\r\n public get DiabinsipComorbidMedList(): MedicationModel[] { return this._diabinsipComorbidMedList; }\r\n private _dysrhytComorbidMedList: MedicationModel[] = [];\r\n public get DysrhytComorbidMedList(): MedicationModel[] { return this._dysrhytComorbidMedList; }\r\n private _epilComorbidMedList: MedicationModel[] = [];\r\n public get EpilComorbidMedList(): MedicationModel[] { return this._epilComorbidMedList; }\r\n private _glaucomComorbidMedList: MedicationModel[] = [];\r\n public get GlaucomComorbidMedList(): MedicationModel[] { return this._glaucomComorbidMedList; }\r\n private _haemophilComorbidMedList: MedicationModel[] = [];\r\n public get HaemophilComorbidMedList(): MedicationModel[] { return this._haemophilComorbidMedList; }\r\n private _hypothComorbidMedList: MedicationModel[] = [];\r\n public get HypothComorbidMedList(): MedicationModel[] { return this._hypothComorbidMedList; }\r\n private _sclerosisComorbidMedList: MedicationModel[] = [];\r\n public get SclerosisComorbidMedList(): MedicationModel[] { return this._sclerosisComorbidMedList; }\r\n private _parkinsComorbidMedList: MedicationModel[] = [];\r\n public get ParkinsComorbidMedList(): MedicationModel[] { return this._parkinsComorbidMedList; }\r\n\r\n private _rheumaComorbidMedList: MedicationModel[] = [];\r\n public get RheumaComorbidMedList(): MedicationModel[] { return this._rheumaComorbidMedList; }\r\n\r\n private _schizoComorbidMedList: MedicationModel[] = [];\r\n public get SchizoComorbidMedList(): MedicationModel[] { return this._schizoComorbidMedList; }\r\n\r\n private _lupusComorbidMedList: MedicationModel[] = [];\r\n public get LupusComorbidMedList(): MedicationModel[] { return this._lupusComorbidMedList; }\r\n\r\n private _ulceraComorbidMedList: MedicationModel[] = [];\r\n public get UlceraComorbidMedList(): MedicationModel[] { return this._ulceraComorbidMedList; }\r\n\r\n\r\n\r\n // Other lists\r\n private _chronicConditionsAll: ChronicConditionCodesModel[] = [];\r\n public get ChronicConditionsAll(): ChronicConditionCodesModel[] { return this._chronicConditionsAll; }\r\n\r\n private _chronicConditionsSelectable: ChronicConditionCodesModel[] = [];\r\n public get ChronicConditionsSelectable(): ChronicConditionCodesModel[] { return this._chronicConditionsSelectable; }\r\n\r\n private _sumbittedApplication: ChronicConditionApplicationModel;\r\n public get SumbittedApplication(): ChronicConditionApplicationModel { return this._sumbittedApplication; }\r\n\r\n private _approvedApplication: ChronicConditionApplicationModel;\r\n public get ApprovedApplication(): ChronicConditionApplicationModel { return this._approvedApplication; }\r\n\r\n private _latestUpdate: ChronicConditionApplicationModel;\r\n public get LatestUpdate(): ChronicConditionApplicationModel { return this._latestUpdate; }\r\n\r\n private _hpContracts: HP_ContractsModel[] = [];\r\n public get HpContracts(): HP_ContractsModel[] { return this._hpContracts; }\r\n\r\n private _familyList: MemberEligibilityModel[] = [];\r\n public get FamilyList(): MemberEligibilityModel[] { return this._familyList; }\r\n\r\n // Modal Vars\r\n\r\n private _showMedicationModal: boolean = false;\r\n public get ShowMedicationModal(): boolean { return this._showMedicationModal; }\r\n public set ShowMedicationModal(value: boolean) { this._showMedicationModal = value; }\r\n\r\n private _busy: boolean = false;\r\n public get Busy(): boolean { return this._busy; }\r\n public set Busy(value: boolean) { this._busy = value; }\r\n\r\n private _error: boolean = false;\r\n public get Error(): boolean { return this._error; }\r\n\r\n private _errorMessageHeading: string;\r\n public get ErrorMessageHeading(): string { return this._errorMessageHeading; }\r\n\r\n private _errorMessage: string = \"\";\r\n public get ErrorMessage(): string { return this._errorMessage; } \r\n\r\n private _errorArrayModal: boolean;\r\n public get ErrorArrayModal(): boolean { return this._errorArrayModal; }\r\n\r\n private _errorArrayHeading: string;\r\n public get ErrorArrayHeading(): string { return this._errorArrayHeading; }\r\n\r\n private _errorArrayMessage: string;\r\n public get ErrorArrayMessage(): string { return this._errorArrayMessage; }\r\n\r\n private _errorArrayArr: any = [];\r\n public get ErrorArrayArr(): any { return this._errorArrayArr; }\r\n \r\n private _success: boolean;\r\n public get Success(): boolean { return this._success; }\r\n public set Success(value: boolean) { this._error = this._success; }\r\n\r\n private _successMessageHeading: string;\r\n public get SuccessMessageHeading(): string { return this._successMessageHeading; }\r\n\r\n private _successMessage: string;\r\n public get SuccessMessage(): string { return this._successMessage; }\r\n\r\n private _successMessageBoldPart: string;\r\n public get SuccessMessageBoldPart(): string { return this._successMessageBoldPart; }\r\n\r\n constructor(private _http: HttpClient, @Inject('BASE_URL') public _baseUrl: string, private fb: FormBuilder, private _loginService: LoginService, private _validationService: ValidationService, private _domSanitizer: DomSanitizer/*, private _membershipService: MembershipService*/) {\r\n\r\n this.memberForm = this.fb.group({\r\n 'member': ['', Validators.required],\r\n 'hp': ['', Validators.required],\r\n 'dob': [null, Validators.required],\r\n 'dependant': [null, Validators.required],\r\n 'membEmail': [null, Validators.required]\r\n });\r\n\r\n this.providerForm = this.fb.group({\r\n 'provid': [null, Validators.required],\r\n 'provName': [null],\r\n 'provContactNo': [null],\r\n 'provEmail': [null, Validators.required],\r\n 'referredYN': [null, Validators.required],\r\n 'refProvSpec': [null, Validators.required],\r\n 'refProvid': [null, Validators.required],\r\n 'refProvSurname': [null, Validators.required],\r\n 'refProvNotes': [null, Validators.maxLength(1000)],\r\n 'referralLetter': [null],\r\n });\r\n\r\n this.providerForm.controls['provid'].disable();\r\n this.providerForm.controls['provName'].disable();\r\n this.providerForm.controls['provContactNo'].disable();\r\n //this.providerForm.controls['provEmail'].disable();\r\n\r\n // Make referral fields required if referredYN = 'Y'\r\n this.providerForm.get('referredYN').valueChanges\r\n .subscribe(value => {\r\n\r\n // Check value of diabetesType\r\n if (value == 'Y') {\r\n this.providerForm.get('refProvSpec').setValidators(Validators.required);\r\n this.providerForm.get('refProvid').setValidators(Validators.required);\r\n this.providerForm.get('refProvSurname').setValidators(Validators.required);\r\n //this.providerForm.get('refProvNotes').setValidators(Validators.required); //Notes are always optional\r\n this.providerForm.get('referralLetter').setValidators(Validators.required);\r\n }\r\n else {\r\n this.providerForm.get('refProvSpec').setValidators(null);\r\n this.providerForm.get('refProvSpec').setValue(null);\r\n this.providerForm.get('refProvSpec').reset();\r\n\r\n this.providerForm.get('refProvid').setValidators(null);\r\n this.providerForm.get('refProvid').setValue(null);\r\n this.providerForm.get('refProvid').reset();\r\n\r\n this.providerForm.get('refProvSurname').setValidators(null);\r\n this.providerForm.get('refProvSurname').setValue(null);\r\n this.providerForm.get('refProvSurname').reset();\r\n\r\n //this.providerForm.get('refProvNotes').setValidators(null);\r\n this.providerForm.get('refProvNotes').setValue(null);\r\n this.providerForm.get('refProvNotes').reset();\r\n\r\n this.providerForm.get('referralLetter').setValidators(null);\r\n this.providerForm.get('referralLetter').setValue(null);\r\n this.providerForm.get('referralLetter').reset();\r\n this._referralLetterFiles = [];\r\n }\r\n\r\n // Validate fields\r\n this.providerForm.get('refProvSpec').updateValueAndValidity();\r\n this.providerForm.get('refProvid').updateValueAndValidity();\r\n this.providerForm.get('refProvSurname').updateValueAndValidity();\r\n this.providerForm.get('referralLetter').updateValueAndValidity();\r\n });\r\n\r\n this.conditionForm = this.fb.group({\r\n 'conditionCode': [null, Validators.required],\r\n });\r\n\r\n // Uncheck Comorbid checkbox for condition that is selected\r\n //this.conditionForm.get('conditionCode').valueChanges\r\n // .subscribe(value => {\r\n\r\n // // Check value of diabetesType\r\n // if (value == 'ASTHMA') {\r\n // this.comorbidForm.get('asthmaCmChk').setValue(false); \r\n // }\r\n // else if (value == 'CHOL') {\r\n // this.comorbidForm.get('hyperlipCmChk').setValue(false);\r\n // }\r\n // else if (value == 'HYPER') {\r\n // this.comorbidForm.get('hypertensionCmChk').setValue(false);\r\n // }\r\n\r\n // if (value == 'DIAB') {\r\n // this.comorbidForm.get('diabCmChk').setValue(false);\r\n\r\n // // Also set diabetesYN to Y and disable radio\r\n // this.biometricForm.get('diabetesYN').disable();\r\n // this.biometricForm.get('diabetesYN').reset();\r\n // this.biometricForm.get('diabetesYN').setValue('Y');\r\n // this.biometricForm.get('diabetesYN').markAsTouched;\r\n // this.biometricForm.get('diabetesYN').updateValueAndValidity(); \r\n\r\n // } else {\r\n // // Enable diabetes radio if selected condition is not diabetes\r\n // this.biometricForm.get('diabetesYN').enable();\r\n // this.biometricForm.get('diabetesYN').setValue(null);\r\n // this.biometricForm.get('diabetesYN').reset(); \r\n // }\r\n\r\n // });\r\n\r\n this.biometricForm = new FormGroup({\r\n 'height': new FormControl(null, [Validators.required, Validators.max(9999.99), this._validationService.decimalOrIntCustomValidator.bind(this)]), // SQL decimal(6,2)\r\n 'weight': new FormControl(null, [Validators.required, Validators.max(9999.99), this._validationService.decimalOrIntCustomValidator.bind(this)]), // SQL decimal(6,2)\r\n 'bmi': new FormControl(null, [Validators.required, Validators.max(9999.99), this._validationService.decimalOrIntCustomValidator.bind(this)]), // SQL decimal(6,2)\r\n //'bloodPressureMmhg': new FormControl(null, [Validators.required, Validators.pattern(\"^[0-9]{1,3}/[0-9]{1,3}$\")]), //pattern is for blood pressure (int + slash + int)\r\n 'bloodPresSystolic': new FormControl(null, [Validators.required, Validators.max(2147483647), Validators.pattern(\"^[0-9]*$\")]), // max is SQL int max, pattern is for only positive int\r\n 'bloodPresDiastolic': new FormControl(null, [Validators.required, Validators.max(2147483647), Validators.pattern(\"^[0-9]*$\")]), // max is SQL int max, pattern is for only positive int\r\n 'cholesterolTotal': new FormControl(null, [Validators.required, Validators.max(9999.99), this._validationService.decimalOrIntCustomValidator.bind(this)]), // SQL decimal(6,2) \r\n 'cholesterolHDL': new FormControl(null, [Validators.required, Validators.max(9999.99), this._validationService.decimalOrIntCustomValidator.bind(this)]), // SQL decimal(6,2)\r\n 'cholesterolLDL': new FormControl(null, [Validators.required, Validators.max(9999.99), this._validationService.decimalOrIntCustomValidator.bind(this)]), // SQL decimal(6,2) \r\n 'cholesterolTRI': new FormControl(null, [Validators.required, Validators.max(9999.99), this._validationService.decimalOrIntCustomValidator.bind(this)]), // SQL decimal(6,2)\r\n 'cholesterolLdlHdlRatio': new FormControl(null, [Validators.required, Validators.max(9999.99), this._validationService.decimalOrIntCustomValidator.bind(this)]), // SQL decimal(6,2)\r\n\r\n 'diabetesYN': new FormControl(null, [Validators.required]),\r\n 'diabetesType': new FormControl(null, [Validators.required]), \r\n //'fastingOrRandom': new FormControl(null),\r\n //'fastingOrRandomResult': new FormControl(null, [Validators.max(2147483647), Validators.pattern(\"^[0-9]*$\")]), // max is SQL int max, pattern is for only positive int\r\n 'ogttResult': new FormControl(null, [Validators.max(2147483647), Validators.pattern(\"^[0-9]*$\")]), // max is SQL int max, pattern is for only positive int\r\n 'fastingGlucoseResult': new FormControl(null, [Validators.max(2147483647), Validators.pattern(\"^[0-9]*$\")]), // max is SQL int max, pattern is for only positive int\r\n 'randomGlucoseResult': new FormControl(null, [Validators.max(2147483647), Validators.pattern(\"^[0-9]*$\")]), // max is SQL int max, pattern is for only positive int\r\n 'HbA1c': new FormControl(null, [Validators.max(9999.99), this._validationService.decimalOrIntCustomValidator.bind(this)]), // SQL decimal(6,2)\r\n 'diabTestDate': new FormControl(null, this._validationService.dateCustomValidator.bind(this, new Date(\"1900-01-01\"), new Date())) \r\n })\r\n\r\n // Make diabetesType, fastingTestResult, diabTestDate required if diabetesYN = 'Y'\r\n // Make HbA1c required if diabetesYN = 'Y' and it is an update\r\n this.biometricForm.get('diabetesYN').valueChanges\r\n .subscribe(value => {\r\n\r\n // Declare validators that should always be on controls\r\n let fastingGlucoseResultValidators = [\r\n Validators.max(2147483647),\r\n Validators.pattern(\"^[0-9]*$\")\r\n ];\r\n\r\n let HbA1cValidators = [\r\n Validators.max(9999.99),\r\n this._validationService.decimalOrIntCustomValidator.bind(this)\r\n ];\r\n\r\n let diabTestDateValidators = [\r\n this._validationService.dateCustomValidator.bind(this, new Date(\"1900-01-01\"), new Date())\r\n ];\r\n\r\n // Check value of diabetesYN\r\n if (value == 'Y') {\r\n\r\n // Set always validators and add required validator\r\n this.biometricForm.get('diabetesType').setValidators(Validators.required); \r\n\r\n this.biometricForm.get('diabTestDate').setValidators(diabTestDateValidators.concat(Validators.required)); \r\n }\r\n else {\r\n // Set always validators without required validator\r\n this.biometricForm.get('diabetesType').setValidators(null);\r\n this.biometricForm.get('diabetesType').setValue(null);\r\n this.biometricForm.get('diabetesType').reset();\r\n\r\n this.biometricForm.get('diabTestDate').setValidators(diabTestDateValidators);\r\n this.biometricForm.get('diabTestDate').setValue(null);\r\n this.biometricForm.get('diabTestDate').reset();\r\n \r\n // Don't allow diab comorbid if value is not Y\r\n this.comorbidForm.get('diabCmChk').setValue(false);\r\n }\r\n\r\n // Make fastingGlucoseResult compulsory only if diabetesYN is Y and condition is DIAB and it is an Application (new diagnosis)\r\n if (value == 'Y' && this._currentPage == 'ChronicCondApp' && this.conditionForm.get('conditionCode').value == \"DIAB\") {\r\n\r\n // Set always validators and add required validator\r\n this.biometricForm.get('fastingGlucoseResult').setValidators(fastingGlucoseResultValidators.concat(Validators.required));\r\n }\r\n else {\r\n // Set always validators without required validator\r\n this.biometricForm.get('fastingGlucoseResult').setValidators(fastingGlucoseResultValidators);\r\n this.biometricForm.get('fastingGlucoseResult').setValue(null);\r\n this.biometricForm.get('fastingGlucoseResult').reset();\r\n }\r\n\r\n // Make HbA1c compulsory if diabetesYN is Y and condition is DIAB and it is an Update (monitoring)\r\n if (value == 'Y' && this._currentPage == 'ChronicCondUpdate' && this.conditionForm.get('conditionCode').value == \"DIAB\" ) {\r\n\r\n // Set always validators and add required validator\r\n this.biometricForm.get('HbA1c').setValidators(HbA1cValidators.concat(Validators.required));\r\n }\r\n else {\r\n // Set always validators without required validator\r\n this.biometricForm.get('HbA1c').setValidators(HbA1cValidators);\r\n this.biometricForm.get('HbA1c').setValue(null);\r\n this.biometricForm.get('HbA1c').reset();\r\n }\r\n\r\n // Validate controls that changed\r\n this.biometricForm.get('diabetesType').updateValueAndValidity();\r\n this.biometricForm.get('fastingGlucoseResult').updateValueAndValidity();\r\n this.biometricForm.get('HbA1c').updateValueAndValidity();\r\n this.biometricForm.get('diabTestDate').updateValueAndValidity();\r\n })\r\n \r\n // Make ogttResult required only if diabetesType = diabetesType1 and it is an new diagnosis (new application) for DIAB condition\r\n // Set diabetes diag codes list depending in which type of diabetes is selected\r\n this.biometricForm.get('diabetesType').valueChanges\r\n .subscribe(value => {\r\n\r\n // Declare validators that should always be on controls\r\n let ogttResultValidators = [\r\n Validators.max(2147483647),\r\n Validators.pattern(\"^[0-9]*$\")\r\n ];\r\n\r\n // Check value of diabetesType and if application is for DIAB and if application or update\r\n if (value == 'diabetesType1' && this._currentPage == 'ChronicCondApp' && this.conditionForm.get('conditionCode').value == \"DIAB\") {\r\n\r\n // Set always validators and add required validator\r\n this.biometricForm.get('ogttResult').setValidators(ogttResultValidators.concat(Validators.required));\r\n\r\n } else {\r\n\r\n // Set always validators without required validator\r\n this.biometricForm.get('ogttResult').setValidators(ogttResultValidators);\r\n this.biometricForm.get('ogttResult').setValue(null);\r\n this.biometricForm.get('ogttResult').reset();\r\n }\r\n\r\n // Validate controls that changed\r\n this.biometricForm.get('ogttResult').updateValueAndValidity();\r\n\r\n ////\r\n\r\n // Set diabetes diag codes list depending in which type of diabetes is selected\r\n this._diabetesDiags = [];\r\n\r\n // Check value of diabetesYN\r\n if (value == 'diabetesType1') { this._diabetesDiags = this._conditionDiags.filter(x => x.conditionCode == \"DIAB1\"); }\r\n else if (value == 'diabetesType2') { this._diabetesDiags = this._conditionDiags.filter(x => x.conditionCode == \"DIAB2\"); }\r\n else {\r\n\r\n this._diabetesDiags = this._conditionDiags.filter(x => x.conditionCode == \"DIAB1\" || x.conditionCode == \"DIAB2\");\r\n\r\n // Get distinct\r\n this._diabetesDiags = this._diabetesDiags.filter(\r\n (thing, i, arr) => arr.findIndex(t => t.diagCode === thing.diagCode) === i\r\n );\r\n\r\n // Sort\r\n this._diabetesDiags.sort((a, b) => a.diagCode.localeCompare(b.diagCode));\r\n }\r\n\r\n // Reset control value and validation\r\n this.diabetesMellitusForm.get('diabIcd10').setValue(null);\r\n this.diabetesMellitusForm.get('diabIcd10').reset();\r\n this.diabetesMellitusForm.get('diabIcd10').updateValueAndValidity();\r\n\r\n });\r\n\r\n //// Make fastingOrRandom and fastingOrRandomResult required if diabetesType = 'diabetesType2'\r\n //this.biometricForm.get('diabetesType').valueChanges\r\n // .subscribe(value => {\r\n\r\n // // Declare validators that should always be on controls\r\n // let fastingOrRandomResultValidators = [\r\n // Validators.max(2147483647),\r\n // Validators.pattern(\"^[0-9]*$\")\r\n // ];\r\n\r\n // // Check value of diabetesType\r\n // if (value == 'diabetesType2') {\r\n\r\n // // Set required validator\r\n // this.biometricForm.get('fastingOrRandom').setValidators(Validators.required);\r\n\r\n // // Set always validatros and concat required \r\n // this.biometricForm.get('fastingOrRandomResult').setValidators(fastingOrRandomResultValidators.concat(Validators.required));\r\n // }\r\n // else {\r\n // // Remove required validator\r\n // this.biometricForm.get('fastingOrRandom').setValidators(null);\r\n // this.biometricForm.get('fastingOrRandom').setValue(null);\r\n // this.biometricForm.get('fastingOrRandom').reset();\r\n\r\n // // Set always validators without required validator\r\n // this.biometricForm.get('fastingOrRandomResult').setValidators(fastingOrRandomResultValidators);\r\n // this.biometricForm.get('fastingOrRandomResult').setValue(null);\r\n // this.biometricForm.get('fastingOrRandomResult').reset();\r\n // }\r\n\r\n // // Validate fastingOrRandom\r\n // this.biometricForm.get('fastingOrRandom').updateValueAndValidity();\r\n // this.biometricForm.get('fastingOrRandomResult').updateValueAndValidity();\r\n // })\r\n\r\n //// Make diabTestDate required only if diabetesType = diabetesType1 OR diabetesType = diabetesType2 (Not when unselected/null)\r\n //this.biometricForm.get('diabetesType').valueChanges\r\n // .subscribe(value => {\r\n\r\n // let diabTestDateValidators = [\r\n // this._validationService.dateCustomValidator.bind(this, new Date(\"1900-01-01\"), new Date())\r\n // ];\r\n\r\n // // Check value of diabetesType\r\n // if (value == 'diabetesType1' || value == 'diabetesType2') {\r\n // // Set always validators and add required validator \r\n // this.biometricForm.get('diabTestDate').setValidators(diabTestDateValidators.concat(Validators.required));\r\n // } else {\r\n // // Set always validators without required validator \r\n // this.biometricForm.get('diabTestDate').setValidators(diabTestDateValidators);\r\n // this.biometricForm.get('diabTestDate').setValue(null);\r\n // this.biometricForm.get('diabTestDate').reset();\r\n // }\r\n\r\n // // Validate HbA1c and HbA1cDate \r\n // this.biometricForm.get('diabTestDate').updateValueAndValidity();\r\n // })\r\n\r\n // Set diabetes diag codes list depending in which type of diabetes is selected\r\n //this.biometricForm.get('diabetesType').valueChanges\r\n // .subscribe(value => { \r\n // });\r\n\r\n this.riskFactorsForm = this.fb.group({\r\n 'alcoholYN': [null, Validators.required],\r\n 'obesityYN': [null, Validators.required],\r\n 'smokerYN': [null, Validators.required],\r\n 'heartDiseaseYN': [null, Validators.required],\r\n 'vascularDiseaseYN': [null, Validators.required],\r\n 'strokeYN': [null, Validators.required],\r\n 'patientSmokeInPast': [null],\r\n 'cessationDate': [null, this._validationService.dateCustomValidator.bind(this, new Date(\"1900-01-01\"), new Date())]\r\n })\r\n\r\n // Make patientSmokeInPast required only if smokerYN = N\r\n this.riskFactorsForm.get('smokerYN').valueChanges\r\n .subscribe(value => {\r\n\r\n // Check value of smokerYN\r\n if (value == 'N') {\r\n this.riskFactorsForm.get('patientSmokeInPast').setValidators(Validators.required);\r\n }\r\n else {\r\n this.riskFactorsForm.get('patientSmokeInPast').setValidators(null);\r\n this.riskFactorsForm.get('patientSmokeInPast').setValue(null);\r\n this.riskFactorsForm.get('patientSmokeInPast').reset();\r\n }\r\n\r\n // Validate fastingOrRandom\r\n this.riskFactorsForm.get('patientSmokeInPast').updateValueAndValidity();\r\n })\r\n\r\n // Make cessationDate required only if patientSmokeInPast = Y\r\n this.riskFactorsForm.get('patientSmokeInPast').valueChanges\r\n .subscribe(value => {\r\n\r\n let cessationDateValidators = [\r\n this._validationService.dateCustomValidator.bind(this, new Date(\"1900-01-01\"), new Date())\r\n ];\r\n\r\n // Check value of smokerYN\r\n if (value == 'Y') {\r\n // Set always validators and add required validator \r\n this.riskFactorsForm.get('cessationDate').setValidators(cessationDateValidators.concat(Validators.required));\r\n } else {\r\n // Set always validators without required validator \r\n this.riskFactorsForm.get('cessationDate').setValidators(cessationDateValidators);\r\n this.riskFactorsForm.get('cessationDate').setValue(null);\r\n this.riskFactorsForm.get('cessationDate').reset();\r\n }\r\n\r\n // Validate fastingOrRandom\r\n this.riskFactorsForm.get('cessationDate').updateValueAndValidity();\r\n });\r\n\r\n this.diabetesMellitusForm = this.fb.group({\r\n 'diabIcd10': [null, [Validators.required, Validators.maxLength(10)]],\r\n 'diabPathResults': [null, Validators.required]\r\n })\r\n\r\n this.hyperlipidaemiaForm = this.fb.group({\r\n 'hyperlipIcd10': [null, [Validators.required, Validators.maxLength(10)]],\r\n 'hyperlipTherapyYN': [null, Validators.required],\r\n //'therapyDuration': [null, [Validators.max(2147483647), Validators.pattern(\"^[0-9]*$\")]], // max is SQL int max, pattern is for only positive int\r\n 'therapyDuration': [null, [Validators.max(9999.99), this._validationService.decimalOrIntCustomValidator.bind(this)]], // SQL decimal(6,2)\r\n 'hyperlipidaemiaMedHist': [this._hyperlipidaemiaMedList[0]],\r\n 'atheroscleroticYN': [null, Validators.required],\r\n 'hyperlipPathResults': [null],\r\n 'hypertensionTreatmentYN': [null, Validators.required],\r\n 'geneticHyperlipidaemiaYN': [null, Validators.required],\r\n 'maleBloodRelativeYN': [null, Validators.required],\r\n 'femaleBloodRelativeYN': [null, Validators.required],\r\n 'tendonXanthomaYN': [null, Validators.required]\r\n })\r\n\r\n // Make therapyDuration and Medhist required only if therapyYN = Y\r\n this.hyperlipidaemiaForm.get('hyperlipTherapyYN').valueChanges\r\n .subscribe(value => {\r\n\r\n // Declare validators that should always be on therapyDuration control\r\n let therapyDurationValidators = [\r\n Validators.max(9999.99),\r\n this._validationService.decimalOrIntCustomValidator.bind(this)\r\n ];\r\n\r\n // Check value of baselineOrTherapy\r\n if (value == 'Y') {\r\n // Set always validators and add required validator\r\n this.hyperlipidaemiaForm.get('therapyDuration').setValidators(therapyDurationValidators.concat(Validators.required));\r\n this.hyperlipidaemiaForm.get('hyperlipidaemiaMedHist').setValidators(Validators.required);\r\n } else {\r\n // Set always validators without required validator\r\n this.hyperlipidaemiaForm.get('therapyDuration').setValidators(therapyDurationValidators);\r\n this.hyperlipidaemiaForm.get('therapyDuration').setValue(null);\r\n this.hyperlipidaemiaForm.get('therapyDuration').reset();\r\n this.hyperlipidaemiaForm.get('hyperlipidaemiaMedHist').setValidators(null);\r\n this.hyperlipidaemiaForm.get('hyperlipidaemiaMedHist').setValue(null);\r\n this.hyperlipidaemiaForm.get('hyperlipidaemiaMedHist').reset();\r\n this._hyperlipidaemiaMedList = [];\r\n }\r\n\r\n // Validate therapyDuration\r\n this.hyperlipidaemiaForm.get('therapyDuration').updateValueAndValidity();\r\n this.hyperlipidaemiaForm.get('hyperlipidaemiaMedHist').updateValueAndValidity();\r\n });\r\n\r\n // Make hyperlipPathResults required if biometricForm.diabetesYN = 'Y'\r\n this.biometricForm.get('diabetesYN').valueChanges\r\n .subscribe(value => {\r\n\r\n // Check value of diabetesYN\r\n if (value == 'Y') {\r\n this.hyperlipidaemiaForm.get('hyperlipPathResults').setValidators(Validators.required);\r\n }\r\n else {\r\n this.hyperlipidaemiaForm.get('hyperlipPathResults').setValidators(null);\r\n this.hyperlipidaemiaForm.get('hyperlipPathResults').setValue(null);\r\n this.hyperlipidaemiaForm.get('hyperlipPathResults').reset();\r\n this._hyperlipPathResultFiles = [];\r\n }\r\n\r\n // Validate fastingOrRandom \r\n this.hyperlipidaemiaForm.get('hyperlipPathResults').updateValueAndValidity();\r\n });\r\n\r\n this.hypertensionForm = this.fb.group({\r\n 'hypertIcd10': [null, [Validators.required, Validators.maxLength(10)]],\r\n 'severity': [null, Validators.required],\r\n 'hypertTherapyYN': [null, Validators.required],\r\n 'hypertensionMedHist': [this._hypertensionMedList[0]],\r\n })\r\n\r\n // Make hypertensionMedHist required if therapyYN = 'Y'\r\n this.hypertensionForm.get('hypertTherapyYN').valueChanges\r\n .subscribe(value => {\r\n\r\n // Check value of type2DiabYN\r\n if (value == 'Y') {\r\n this.hypertensionForm.get('hypertensionMedHist').setValidators(Validators.required);\r\n }\r\n else {\r\n this.hypertensionForm.get('hypertensionMedHist').setValidators(null);\r\n this.hypertensionForm.get('hypertensionMedHist').setValue(null);\r\n this.hypertensionForm.get('hypertensionMedHist').reset();\r\n this._hypertensionMedList = [];\r\n }\r\n\r\n // Validate fastingOrRandom\r\n this.hypertensionForm.get('hypertensionMedHist').updateValueAndValidity();\r\n });\r\n\r\n this.asthmaForm = this.fb.group({\r\n 'asthmaIcd10': [null, [Validators.required, Validators.maxLength(10)]],\r\n //'asthmaFlowVolume': [null, [Validators.required, Validators.maxLength(10)]], //Flow Volume test are used more to diagnose pulmonary conditions and it is a graph that is interpreted by the physician. Therefore the latter will also be a document that must be attached and accessible. I would suggest that we-as a start-only include the peak flow measurements for the GP Network as Flow volume tests require specialised equipment that not all GP's will have in their in rooms. I hope this makes sense to you?\r\n 'asthmaPleakFlow': [null, [Validators.required, Validators.max(2147483647), Validators.pattern(\"^[0-9]*$\")]], // max is SQL int max, pattern is for only positive int\r\n 'asthmaYounger3YN': [null, Validators.required],\r\n 'asthmaPaedReport': [null],\r\n 'asthmaFlowVolFile': [null],\r\n })\r\n\r\n // Make asthmaPaedReport required only if asthmaYounger3YN = 'Y' and it is an Application (ie newly diagnosed)\r\n this.asthmaForm.get('asthmaYounger3YN').valueChanges\r\n .subscribe(value => {\r\n\r\n // Check value of asthmaYounger3YN\r\n if (value == 'Y' && this._currentPage == 'ChronicCondApp') {\r\n\r\n // Make required\r\n this.asthmaForm.get('asthmaPaedReport').setValidators(Validators.required);\r\n\r\n // Clear flow volume \r\n this.asthmaForm.get('asthmaFlowVolFile').setValue(null);\r\n this.asthmaForm.get('asthmaFlowVolFile').reset();\r\n this._asthmaFlowVolFiles = [];\r\n }\r\n else if (value == 'N' && this._currentPage == 'ChronicCondApp') {\r\n\r\n // Clear Paed Report and make not required\r\n this.asthmaForm.get('asthmaPaedReport').setValidators(null);\r\n this.asthmaForm.get('asthmaPaedReport').setValue(null);\r\n this.asthmaForm.get('asthmaPaedReport').reset();\r\n this._asthmaPaedFiles = [];\r\n }\r\n else { // If not Application then it is not rewuired and wont be displayed in html\r\n\r\n // Clear Paed Report and make not required\r\n this.asthmaForm.get('asthmaPaedReport').setValidators(null);\r\n this.asthmaForm.get('asthmaPaedReport').setValue(null);\r\n this.asthmaForm.get('asthmaPaedReport').reset();\r\n this._asthmaPaedFiles = [];\r\n\r\n // Clear flow volume \r\n this.asthmaForm.get('asthmaFlowVolFile').setValue(null);\r\n this.asthmaForm.get('asthmaFlowVolFile').reset();\r\n this._asthmaFlowVolFiles = [];\r\n }\r\n\r\n // Validate asthmaPaedReport and asthmaFlowVolFile\r\n this.asthmaForm.get('asthmaPaedReport').updateValueAndValidity();\r\n this.asthmaForm.get('asthmaFlowVolFile').updateValueAndValidity();\r\n });\r\n\r\n this.requestedMedicationForm = this.fb.group({\r\n 'requestedMedList': [this._requestedMedList[0]],\r\n 'medPrescription': [null]\r\n })\r\n\r\n // Make medPrescription required if requestedMedList != null\r\n this.requestedMedicationForm.get('requestedMedList').valueChanges\r\n .subscribe(value => {\r\n\r\n // Check value of type2DiabYN\r\n if (value != null) {\r\n this.requestedMedicationForm.get('medPrescription').setValidators(Validators.required);\r\n this.requestedMedicationForm.get('medPrescription').markAsTouched();\r\n }\r\n else {\r\n this.requestedMedicationForm.get('medPrescription').setValidators(null);\r\n this.requestedMedicationForm.get('medPrescription').setValue(null);\r\n this.requestedMedicationForm.get('medPrescription').reset();\r\n this._medPrescriptionFiles = [];\r\n }\r\n\r\n // Validate fastingOrRandom \r\n this.requestedMedicationForm.get('medPrescription').updateValueAndValidity();\r\n });\r\n\r\n this.medicationForm = this.fb.group({\r\n 'conditionCodeM': [null],\r\n 'icd10': [null, [Validators.required, Validators.maxLength(10)]],\r\n 'prescriptionSvcCode': [null],\r\n 'svcCodeDescr': [null, [Validators.required, Validators.maxLength(200)]],\r\n 'strength': [null, [Validators.required, Validators.maxLength(100)]],\r\n 'dosage': [null, [Validators.required, Validators.maxLength(100)]],\r\n 'qtyPerMonth': [null, [Validators.required, Validators.max(9999.99), this._validationService.decimalOrIntCustomValidator.bind(this)]], // SQL decimal(6,2)\r\n 'numRepeats': [null, [Validators.required, Validators.max(2147483647), Validators.pattern(\"^[0-9]*$\")]] // max is SQL int max, pattern is for only positive int\r\n });\r\n\r\n this.documentsForm = this.fb.group({\r\n 'additionalDocs': [null]\r\n })\r\n\r\n this.comorbidForm = this.fb.group({\r\n 'asthmaCmChk': [false],\r\n 'asthmaCmICD10': [null],\r\n 'asthmaCmMedHist': [this._asthmaComorbidMedList[0]],\r\n\r\n 'diabCmChk': [false],\r\n 'diabCmICD10': [null],\r\n 'diabCmMedHist': [this._diabComorbidMedList[0]],\r\n\r\n 'hyperlipCmChk': [false],\r\n 'hyperlipCmICD10': [null],\r\n 'hyperlipCmMedHist': [this._hyperlipComorbidMedList[0]],\r\n\r\n 'hypertensionCmChk': [false],\r\n 'hypertensionCmICD10': [null],\r\n 'hypertensionCmMedHist': [this._hypertensionComorbidMedList[0]],\r\n\r\n 'addisCmChk': [false],\r\n 'addisCmICD10': [null],\r\n 'addisCmMedHist': [this._addisComorbidMedList[0]],\r\n\r\n 'bipolCmChk': [false],\r\n 'bipolCmICD10': [null],\r\n 'bipolCmMedHist': [this._bipolComorbidMedList[0]],\r\n\r\n 'bronchCmChk': [false],\r\n 'bronchCmICD10': [null],\r\n 'bronchCmMedHist': [this._bronchComorbidMedList[0]],\r\n\r\n 'cardiacCmChk': [false],\r\n 'cardiacCmICD10': [null],\r\n 'cardiacCmMedHist': [this._cardiacComorbidMedList[0]],\r\n\r\n 'cardiomCmChk': [false],\r\n 'cardiomCmICD10': [null],\r\n 'cardiomCmMedHist': [this._cardiomComorbidMedList[0]],\r\n\r\n 'copdCmChk': [false],\r\n 'copdCmICD10': [null],\r\n 'copdCmMedHist': [this._copdComorbidMedList[0]],\r\n\r\n 'renalCmChk': [false],\r\n 'renalCmICD10': [null],\r\n 'renalCmMedHist': [this._renalComorbidMedList[0]],\r\n\r\n 'coronarCmChk': [false],\r\n 'coronarCmICD10': [null],\r\n 'coronarCmMedHist': [this._coronarComorbidMedList[0]],\r\n\r\n 'crohnsCmChk': [false],\r\n 'crohnsCmICD10': [null],\r\n 'crohnsCmMedHist': [this._crohnsComorbidMedList[0]],\r\n\r\n 'diabinsipCmChk': [false],\r\n 'diabinsipCmICD10': [null],\r\n 'diabinsipCmMedHist': [this._diabinsipComorbidMedList[0]],\r\n\r\n 'dysrhytCmChk': [false],\r\n 'dysrhytCmICD10': [null],\r\n 'dysrhytCmMedHist': [this._dysrhytComorbidMedList[0]],\r\n\r\n 'epilCmChk': [false],\r\n 'epilCmICD10': [null],\r\n 'epilCmMedHist': [this._epilComorbidMedList[0]],\r\n\r\n 'glaucomCmChk': [false],\r\n 'glaucomCmICD10': [null],\r\n 'glaucomCmMedHist': [this._glaucomComorbidMedList[0]],\r\n\r\n 'haemophilCmChk': [false],\r\n 'haemophilCmICD10': [null],\r\n 'haemophilCmMedHist': [this._haemophilComorbidMedList[0]],\r\n\r\n 'hypothCmChk': [false],\r\n 'hypothCmICD10': [null],\r\n 'hypothCmMedHist': [this._hypothComorbidMedList[0]],\r\n\r\n 'sclerosisCmChk': [false],\r\n 'sclerosisCmICD10': [null],\r\n 'sclerosisCmMedHist': [this._sclerosisComorbidMedList[0]],\r\n\r\n 'parkinsCmChk': [false],\r\n 'parkinsCmICD10': [null],\r\n 'parkinsCmMedHist': [this._parkinsComorbidMedList[0]],\r\n\r\n 'rheumaCmChk': [false],\r\n 'rheumaCmICD10': [null],\r\n 'rheumaCmMedHist': [this._rheumaComorbidMedList[0]],\r\n\r\n 'schizoCmChk': [false],\r\n 'schizoCmICD10': [null],\r\n 'schizoCmMedHist': [this._schizoComorbidMedList[0]],\r\n\r\n 'lupusCmChk': [false],\r\n 'lupusCmICD10': [null],\r\n 'lupusCmMedHist': [this._lupusComorbidMedList[0]],\r\n\r\n 'ulceraCmChk': [false],\r\n 'ulceraCmICD10': [null],\r\n 'ulceraCmMedHist': [this._ulceraComorbidMedList[0]],\r\n\r\n });\r\n\r\n // Set asthmaCmICD10 and asthmaCmMedHist required only if asthmaCmChk checkbox is checked\r\n this.comorbidForm.get('asthmaCmChk').valueChanges\r\n .subscribe(value => {\r\n\r\n // Check value of asthmaCmChk\r\n if (value == true) {\r\n this.comorbidForm.get('asthmaCmICD10').setValidators(Validators.required);\r\n this.comorbidForm.get('asthmaCmMedHist').setValidators(Validators.required);\r\n }\r\n else {\r\n this.comorbidForm.get('asthmaCmICD10').setValidators(null);\r\n this.comorbidForm.get('asthmaCmICD10').setValue(null);\r\n this.comorbidForm.get('asthmaCmICD10').reset();\r\n this.comorbidForm.get('asthmaCmMedHist').setValidators(null);\r\n this.comorbidForm.get('asthmaCmMedHist').setValue(null);\r\n this.comorbidForm.get('asthmaCmMedHist').reset();\r\n this._asthmaComorbidMedList = [];\r\n }\r\n\r\n // Update and Validate fields\r\n this.comorbidForm.get('asthmaCmICD10').updateValueAndValidity();\r\n this.comorbidForm.get('asthmaCmMedHist').updateValueAndValidity();\r\n });\r\n\r\n // Set diabCmICD10 and diabCmMedHist required only if diabCmChk checkbox is checked\r\n this.comorbidForm.get('diabCmChk').valueChanges\r\n .subscribe(value => {\r\n\r\n // Check value of diabCmChk\r\n if (value == true) {\r\n this.comorbidForm.get('diabCmICD10').setValidators(Validators.required);\r\n this.comorbidForm.get('diabCmMedHist').setValidators(Validators.required);\r\n }\r\n else {\r\n this.comorbidForm.get('diabCmICD10').setValidators(null);\r\n this.comorbidForm.get('diabCmICD10').setValue(null);\r\n this.comorbidForm.get('diabCmICD10').reset();\r\n this.comorbidForm.get('diabCmMedHist').setValidators(null);\r\n this.comorbidForm.get('diabCmMedHist').setValue(null);\r\n this.comorbidForm.get('diabCmMedHist').reset();\r\n this._diabComorbidMedList = [];\r\n }\r\n\r\n // Update and Validate fields\r\n this.comorbidForm.get('diabCmICD10').updateValueAndValidity();\r\n this.comorbidForm.get('diabCmMedHist').updateValueAndValidity();\r\n });\r\n\r\n // Set hyperlipCmICD10 and hyperlipCmMedHist required only if hyperlipCmChk checkbox is checked\r\n this.comorbidForm.get('hyperlipCmChk').valueChanges\r\n .subscribe(value => {\r\n\r\n // Check value of hyperlipCmChk\r\n if (value == true) {\r\n this.comorbidForm.get('hyperlipCmICD10').setValidators(Validators.required);\r\n this.comorbidForm.get('hyperlipCmMedHist').setValidators(Validators.required);\r\n }\r\n else {\r\n this.comorbidForm.get('hyperlipCmICD10').setValidators(null);\r\n this.comorbidForm.get('hyperlipCmICD10').setValue(null);\r\n this.comorbidForm.get('hyperlipCmICD10').reset();\r\n this.comorbidForm.get('hyperlipCmMedHist').setValidators(null);\r\n this.comorbidForm.get('hyperlipCmMedHist').setValue(null);\r\n this.comorbidForm.get('hyperlipCmMedHist').reset();\r\n this._hyperlipComorbidMedList = [];\r\n }\r\n\r\n // Update and Validate fields\r\n this.comorbidForm.get('hyperlipCmICD10').updateValueAndValidity();\r\n this.comorbidForm.get('hyperlipCmMedHist').updateValueAndValidity();\r\n });\r\n\r\n // Set hypertensionCmICD10 and hypertensionCmMedHist required only if hypertensionCmChk checkbox is checked\r\n this.comorbidForm.get('hypertensionCmChk').valueChanges\r\n .subscribe(value => {\r\n\r\n // Check value of hyperlipCmChk\r\n if (value == true) {\r\n this.comorbidForm.get('hypertensionCmICD10').setValidators(Validators.required);\r\n this.comorbidForm.get('hypertensionCmMedHist').setValidators(Validators.required);\r\n }\r\n else {\r\n this.comorbidForm.get('hypertensionCmICD10').setValidators(null);\r\n this.comorbidForm.get('hypertensionCmICD10').setValue(null);\r\n this.comorbidForm.get('hypertensionCmICD10').reset();\r\n this.comorbidForm.get('hypertensionCmMedHist').setValidators(null);\r\n this.comorbidForm.get('hypertensionCmMedHist').setValue(null);\r\n this.comorbidForm.get('hypertensionCmMedHist').reset();\r\n this._hypertensionComorbidMedList = [];\r\n }\r\n\r\n // Update and Validate fields\r\n this.comorbidForm.get('hypertensionCmICD10').updateValueAndValidity();\r\n this.comorbidForm.get('hypertensionCmMedHist').updateValueAndValidity();\r\n });\r\n\r\n // Set addisCmICD10 and addisCmMedHist required only if addisCmChk checkbox is checked\r\n this.comorbidForm.get('addisCmChk').valueChanges\r\n .subscribe(value => {\r\n\r\n // Check value of addisCmChk\r\n if (value == true) {\r\n this.comorbidForm.get('addisCmICD10').setValidators(Validators.required);\r\n this.comorbidForm.get('addisCmMedHist').setValidators(Validators.required);\r\n }\r\n else {\r\n this.comorbidForm.get('addisCmICD10').setValidators(null);\r\n this.comorbidForm.get('addisCmICD10').setValue(null);\r\n this.comorbidForm.get('addisCmICD10').reset();\r\n this.comorbidForm.get('addisCmMedHist').setValidators(null);\r\n this.comorbidForm.get('addisCmMedHist').setValue(null);\r\n this.comorbidForm.get('addisCmMedHist').reset();\r\n this._addisComorbidMedList = [];\r\n }\r\n\r\n // Update and Validate fields\r\n this.comorbidForm.get('addisCmICD10').updateValueAndValidity();\r\n this.comorbidForm.get('addisCmMedHist').updateValueAndValidity();\r\n });\r\n\r\n // Set bipolCmICD10 and bipolCmMedHist required only if bipolCmChk checkbox is checked\r\n this.comorbidForm.get('bipolCmChk').valueChanges\r\n .subscribe(value => {\r\n\r\n // Check value of bipolCmChk\r\n if (value == true) {\r\n this.comorbidForm.get('bipolCmICD10').setValidators(Validators.required);\r\n this.comorbidForm.get('bipolCmMedHist').setValidators(Validators.required);\r\n }\r\n else {\r\n this.comorbidForm.get('bipolCmICD10').setValidators(null);\r\n this.comorbidForm.get('bipolCmICD10').setValue(null);\r\n this.comorbidForm.get('bipolCmICD10').reset();\r\n this.comorbidForm.get('bipolCmMedHist').setValidators(null);\r\n this.comorbidForm.get('bipolCmMedHist').setValue(null);\r\n this.comorbidForm.get('bipolCmMedHist').reset();\r\n this._bipolComorbidMedList = [];\r\n }\r\n\r\n // Update and Validate fields\r\n this.comorbidForm.get('bipolCmICD10').updateValueAndValidity();\r\n this.comorbidForm.get('bipolCmMedHist').updateValueAndValidity();\r\n });\r\n\r\n // Set bronchCmICD10 and bronchCmMedHist required only if bronchCmChk checkbox is checked\r\n this.comorbidForm.get('bronchCmChk').valueChanges\r\n .subscribe(value => {\r\n\r\n // Check value of bronchCmChk\r\n if (value == true) {\r\n this.comorbidForm.get('bronchCmICD10').setValidators(Validators.required);\r\n this.comorbidForm.get('bronchCmMedHist').setValidators(Validators.required);\r\n }\r\n else {\r\n this.comorbidForm.get('bronchCmICD10').setValidators(null);\r\n this.comorbidForm.get('bronchCmICD10').setValue(null);\r\n this.comorbidForm.get('bronchCmICD10').reset();\r\n this.comorbidForm.get('bronchCmMedHist').setValidators(null);\r\n this.comorbidForm.get('bronchCmMedHist').setValue(null);\r\n this.comorbidForm.get('bronchCmMedHist').reset();\r\n this._bronchComorbidMedList = [];\r\n }\r\n\r\n // Update and Validate fields\r\n this.comorbidForm.get('bronchCmICD10').updateValueAndValidity();\r\n this.comorbidForm.get('bronchCmMedHist').updateValueAndValidity();\r\n });\r\n\r\n // Set cardiacCmICD10 and cardiacCmMedHist required only if cardiacCmChk checkbox is checked\r\n this.comorbidForm.get('cardiacCmChk').valueChanges\r\n .subscribe(value => {\r\n\r\n // Check value of cardiacCmChk\r\n if (value == true) {\r\n this.comorbidForm.get('cardiacCmICD10').setValidators(Validators.required);\r\n this.comorbidForm.get('cardiacCmMedHist').setValidators(Validators.required);\r\n }\r\n else {\r\n this.comorbidForm.get('cardiacCmICD10').setValidators(null);\r\n this.comorbidForm.get('cardiacCmICD10').setValue(null);\r\n this.comorbidForm.get('cardiacCmICD10').reset();\r\n this.comorbidForm.get('cardiacCmMedHist').setValidators(null);\r\n this.comorbidForm.get('cardiacCmMedHist').setValue(null);\r\n this.comorbidForm.get('cardiacCmMedHist').reset();\r\n this._cardiacComorbidMedList = [];\r\n }\r\n\r\n // Update and Validate fields\r\n this.comorbidForm.get('cardiacCmICD10').updateValueAndValidity();\r\n this.comorbidForm.get('cardiacCmMedHist').updateValueAndValidity();\r\n });\r\n\r\n // Set cardiomCmICD10 and cardiomCmMedHist required only if cardiomCmChk checkbox is checked\r\n this.comorbidForm.get('cardiomCmChk').valueChanges\r\n .subscribe(value => {\r\n\r\n // Check value of cardiomCmChk\r\n if (value == true) {\r\n this.comorbidForm.get('cardiomCmICD10').setValidators(Validators.required);\r\n this.comorbidForm.get('cardiomCmMedHist').setValidators(Validators.required);\r\n }\r\n else {\r\n this.comorbidForm.get('cardiomCmICD10').setValidators(null);\r\n this.comorbidForm.get('cardiomCmICD10').setValue(null);\r\n this.comorbidForm.get('cardiomCmICD10').reset();\r\n this.comorbidForm.get('cardiomCmMedHist').setValidators(null);\r\n this.comorbidForm.get('cardiomCmMedHist').setValue(null);\r\n this.comorbidForm.get('cardiomCmMedHist').reset();\r\n this._cardiomComorbidMedList = [];\r\n }\r\n\r\n // Update and Validate fields\r\n this.comorbidForm.get('cardiomCmICD10').updateValueAndValidity();\r\n this.comorbidForm.get('cardiomCmMedHist').updateValueAndValidity();\r\n });\r\n\r\n // Set copdCmICD10 and copdCmMedHist required only if copdCmChk checkbox is checked\r\n this.comorbidForm.get('copdCmChk').valueChanges\r\n .subscribe(value => {\r\n\r\n // Check value of copdCmChk\r\n if (value == true) {\r\n this.comorbidForm.get('copdCmICD10').setValidators(Validators.required);\r\n this.comorbidForm.get('copdCmMedHist').setValidators(Validators.required);\r\n }\r\n else {\r\n this.comorbidForm.get('copdCmICD10').setValidators(null);\r\n this.comorbidForm.get('copdCmICD10').setValue(null);\r\n this.comorbidForm.get('copdCmICD10').reset();\r\n this.comorbidForm.get('copdCmMedHist').setValidators(null);\r\n this.comorbidForm.get('copdCmMedHist').setValue(null);\r\n this.comorbidForm.get('copdCmMedHist').reset();\r\n this._copdComorbidMedList = [];\r\n }\r\n\r\n // Update and Validate fields\r\n this.comorbidForm.get('copdCmICD10').updateValueAndValidity();\r\n this.comorbidForm.get('copdCmMedHist').updateValueAndValidity();\r\n });\r\n\r\n // Set renalCmICD10 and renalCmMedHist required only if renalCmChk checkbox is checked\r\n this.comorbidForm.get('renalCmChk').valueChanges\r\n .subscribe(value => {\r\n\r\n // Check value of renalCmChk\r\n if (value == true) {\r\n this.comorbidForm.get('renalCmICD10').setValidators(Validators.required);\r\n this.comorbidForm.get('renalCmMedHist').setValidators(Validators.required);\r\n }\r\n else {\r\n this.comorbidForm.get('renalCmICD10').setValidators(null);\r\n this.comorbidForm.get('renalCmICD10').setValue(null);\r\n this.comorbidForm.get('renalCmICD10').reset();\r\n this.comorbidForm.get('renalCmMedHist').setValidators(null);\r\n this.comorbidForm.get('renalCmMedHist').setValue(null);\r\n this.comorbidForm.get('renalCmMedHist').reset();\r\n this._renalComorbidMedList = [];\r\n }\r\n\r\n // Update and Validate fields\r\n this.comorbidForm.get('renalCmICD10').updateValueAndValidity();\r\n this.comorbidForm.get('renalCmMedHist').updateValueAndValidity();\r\n });\r\n\r\n // Set coronarCmICD10 and coronarCmMedHist required only if coronarCmChk checkbox is checked\r\n this.comorbidForm.get('coronarCmChk').valueChanges\r\n .subscribe(value => {\r\n\r\n // Check value of coronarCmChk\r\n if (value == true) {\r\n this.comorbidForm.get('coronarCmICD10').setValidators(Validators.required);\r\n this.comorbidForm.get('coronarCmMedHist').setValidators(Validators.required);\r\n }\r\n else {\r\n this.comorbidForm.get('coronarCmICD10').setValidators(null);\r\n this.comorbidForm.get('coronarCmICD10').setValue(null);\r\n this.comorbidForm.get('coronarCmICD10').reset();\r\n this.comorbidForm.get('coronarCmMedHist').setValidators(null);\r\n this.comorbidForm.get('coronarCmMedHist').setValue(null);\r\n this.comorbidForm.get('coronarCmMedHist').reset();\r\n this._coronarComorbidMedList = [];\r\n }\r\n\r\n // Update and Validate fields\r\n this.comorbidForm.get('coronarCmICD10').updateValueAndValidity();\r\n this.comorbidForm.get('coronarCmMedHist').updateValueAndValidity();\r\n });\r\n\r\n // Set crohnsCmICD10 and crohnsCmMedHist required only if crohnsCmChk checkbox is checked\r\n this.comorbidForm.get('crohnsCmChk').valueChanges\r\n .subscribe(value => {\r\n\r\n // Check value of crohnsCmChk\r\n if (value == true) {\r\n this.comorbidForm.get('crohnsCmICD10').setValidators(Validators.required);\r\n this.comorbidForm.get('crohnsCmMedHist').setValidators(Validators.required);\r\n }\r\n else {\r\n this.comorbidForm.get('crohnsCmICD10').setValidators(null);\r\n this.comorbidForm.get('crohnsCmICD10').setValue(null);\r\n this.comorbidForm.get('crohnsCmICD10').reset();\r\n this.comorbidForm.get('crohnsCmMedHist').setValidators(null);\r\n this.comorbidForm.get('crohnsCmMedHist').setValue(null);\r\n this.comorbidForm.get('crohnsCmMedHist').reset();\r\n this._crohnsComorbidMedList = [];\r\n }\r\n\r\n // Update and Validate fields\r\n this.comorbidForm.get('crohnsCmICD10').updateValueAndValidity();\r\n this.comorbidForm.get('crohnsCmMedHist').updateValueAndValidity();\r\n });\r\n\r\n // Set diabinsipCmICD10 and diabinsipCmMedHist required only if diabinsipCmChk checkbox is checked\r\n this.comorbidForm.get('diabinsipCmChk').valueChanges\r\n .subscribe(value => {\r\n\r\n // Check value of diabinsipCmChk\r\n if (value == true) {\r\n this.comorbidForm.get('diabinsipCmICD10').setValidators(Validators.required);\r\n this.comorbidForm.get('diabinsipCmMedHist').setValidators(Validators.required);\r\n }\r\n else {\r\n this.comorbidForm.get('diabinsipCmICD10').setValidators(null);\r\n this.comorbidForm.get('diabinsipCmICD10').setValue(null);\r\n this.comorbidForm.get('diabinsipCmICD10').reset();\r\n this.comorbidForm.get('diabinsipCmMedHist').setValidators(null);\r\n this.comorbidForm.get('diabinsipCmMedHist').setValue(null);\r\n this.comorbidForm.get('diabinsipCmMedHist').reset();\r\n this._diabinsipComorbidMedList = [];\r\n }\r\n\r\n // Update and Validate fields\r\n this.comorbidForm.get('diabinsipCmICD10').updateValueAndValidity();\r\n this.comorbidForm.get('diabinsipCmMedHist').updateValueAndValidity();\r\n });\r\n\r\n // Set dysrhytCmICD10 and dysrhytCmMedHist required only if dysrhytCmChk checkbox is checked\r\n this.comorbidForm.get('dysrhytCmChk').valueChanges\r\n .subscribe(value => {\r\n\r\n // Check value of dysrhytCmChk\r\n if (value == true) {\r\n this.comorbidForm.get('dysrhytCmICD10').setValidators(Validators.required);\r\n this.comorbidForm.get('dysrhytCmMedHist').setValidators(Validators.required);\r\n }\r\n else {\r\n this.comorbidForm.get('dysrhytCmICD10').setValidators(null);\r\n this.comorbidForm.get('dysrhytCmICD10').setValue(null);\r\n this.comorbidForm.get('dysrhytCmICD10').reset();\r\n this.comorbidForm.get('dysrhytCmMedHist').setValidators(null);\r\n this.comorbidForm.get('dysrhytCmMedHist').setValue(null);\r\n this.comorbidForm.get('dysrhytCmMedHist').reset();\r\n this._dysrhytComorbidMedList = [];\r\n }\r\n\r\n // Update and Validate fields\r\n this.comorbidForm.get('dysrhytCmICD10').updateValueAndValidity();\r\n this.comorbidForm.get('dysrhytCmMedHist').updateValueAndValidity();\r\n });\r\n\r\n // Set epilCmICD10 and epilCmMedHist required only if epilCmChk checkbox is checked\r\n this.comorbidForm.get('epilCmChk').valueChanges\r\n .subscribe(value => {\r\n\r\n // Check value of epilCmChk\r\n if (value == true) {\r\n this.comorbidForm.get('epilCmICD10').setValidators(Validators.required);\r\n this.comorbidForm.get('epilCmMedHist').setValidators(Validators.required);\r\n }\r\n else {\r\n this.comorbidForm.get('epilCmICD10').setValidators(null);\r\n this.comorbidForm.get('epilCmICD10').setValue(null);\r\n this.comorbidForm.get('epilCmICD10').reset();\r\n this.comorbidForm.get('epilCmMedHist').setValidators(null);\r\n this.comorbidForm.get('epilCmMedHist').setValue(null);\r\n this.comorbidForm.get('epilCmMedHist').reset();\r\n this._epilComorbidMedList = [];\r\n }\r\n\r\n // Update and Validate fields\r\n this.comorbidForm.get('epilCmICD10').updateValueAndValidity();\r\n this.comorbidForm.get('epilCmMedHist').updateValueAndValidity();\r\n });\r\n\r\n // Set glaucomCmICD10 and glaucomCmMedHist required only if glaucomCmChk checkbox is checked\r\n this.comorbidForm.get('glaucomCmChk').valueChanges\r\n .subscribe(value => {\r\n\r\n // Check value of glaucomCmChk\r\n if (value == true) {\r\n this.comorbidForm.get('glaucomCmICD10').setValidators(Validators.required);\r\n this.comorbidForm.get('glaucomCmMedHist').setValidators(Validators.required);\r\n }\r\n else {\r\n this.comorbidForm.get('glaucomCmICD10').setValidators(null);\r\n this.comorbidForm.get('glaucomCmICD10').setValue(null);\r\n this.comorbidForm.get('glaucomCmICD10').reset();\r\n this.comorbidForm.get('glaucomCmMedHist').setValidators(null);\r\n this.comorbidForm.get('glaucomCmMedHist').setValue(null);\r\n this.comorbidForm.get('glaucomCmMedHist').reset();\r\n this._glaucomComorbidMedList = [];\r\n }\r\n\r\n // Update and Validate fields\r\n this.comorbidForm.get('glaucomCmICD10').updateValueAndValidity();\r\n this.comorbidForm.get('glaucomCmMedHist').updateValueAndValidity();\r\n });\r\n\r\n // Set haemophilCmICD10 and haemophilCmMedHist required only if haemophilCmChk checkbox is checked\r\n this.comorbidForm.get('haemophilCmChk').valueChanges\r\n .subscribe(value => {\r\n\r\n // Check value of haemophilCmChk\r\n if (value == true) {\r\n this.comorbidForm.get('haemophilCmICD10').setValidators(Validators.required);\r\n this.comorbidForm.get('haemophilCmMedHist').setValidators(Validators.required);\r\n }\r\n else {\r\n this.comorbidForm.get('haemophilCmICD10').setValidators(null);\r\n this.comorbidForm.get('haemophilCmICD10').setValue(null);\r\n this.comorbidForm.get('haemophilCmICD10').reset();\r\n this.comorbidForm.get('haemophilCmMedHist').setValidators(null);\r\n this.comorbidForm.get('haemophilCmMedHist').setValue(null);\r\n this.comorbidForm.get('haemophilCmMedHist').reset();\r\n this._haemophilComorbidMedList = [];\r\n }\r\n\r\n // Update and Validate fields\r\n this.comorbidForm.get('haemophilCmICD10').updateValueAndValidity();\r\n this.comorbidForm.get('haemophilCmMedHist').updateValueAndValidity();\r\n });\r\n\r\n // Set hypothCmICD10 and hypothCmMedHist required only if hypothCmChk checkbox is checked\r\n this.comorbidForm.get('hypothCmChk').valueChanges\r\n .subscribe(value => {\r\n\r\n // Check value of hypothCmChk\r\n if (value == true) {\r\n this.comorbidForm.get('hypothCmICD10').setValidators(Validators.required);\r\n this.comorbidForm.get('hypothCmMedHist').setValidators(Validators.required);\r\n }\r\n else {\r\n this.comorbidForm.get('hypothCmICD10').setValidators(null);\r\n this.comorbidForm.get('hypothCmICD10').setValue(null);\r\n this.comorbidForm.get('hypothCmICD10').reset();\r\n this.comorbidForm.get('hypothCmMedHist').setValidators(null);\r\n this.comorbidForm.get('hypothCmMedHist').setValue(null);\r\n this.comorbidForm.get('hypothCmMedHist').reset();\r\n this._hypothComorbidMedList = [];\r\n }\r\n\r\n // Update and Validate fields\r\n this.comorbidForm.get('hypothCmICD10').updateValueAndValidity();\r\n this.comorbidForm.get('hypothCmMedHist').updateValueAndValidity();\r\n });\r\n\r\n // Set sclerosisCmICD10 and sclerosisCmMedHist required only if sclerosisCmChk checkbox is checked\r\n this.comorbidForm.get('sclerosisCmChk').valueChanges\r\n .subscribe(value => {\r\n\r\n // Check value of sclerosisCmChk\r\n if (value == true) {\r\n this.comorbidForm.get('sclerosisCmICD10').setValidators(Validators.required);\r\n this.comorbidForm.get('sclerosisCmMedHist').setValidators(Validators.required);\r\n }\r\n else {\r\n this.comorbidForm.get('sclerosisCmICD10').setValidators(null);\r\n this.comorbidForm.get('sclerosisCmICD10').setValue(null);\r\n this.comorbidForm.get('sclerosisCmICD10').reset();\r\n this.comorbidForm.get('sclerosisCmMedHist').setValidators(null);\r\n this.comorbidForm.get('sclerosisCmMedHist').setValue(null);\r\n this.comorbidForm.get('sclerosisCmMedHist').reset();\r\n this._sclerosisComorbidMedList = [];\r\n }\r\n\r\n // Update and Validate fields\r\n this.comorbidForm.get('sclerosisCmICD10').updateValueAndValidity();\r\n this.comorbidForm.get('sclerosisCmMedHist').updateValueAndValidity();\r\n });\r\n\r\n // Set parkinsCmICD10 and parkinsCmMedHist required only if parkinsCmChk checkbox is checked\r\n this.comorbidForm.get('parkinsCmChk').valueChanges\r\n .subscribe(value => {\r\n\r\n // Check value of parkinsCmChk\r\n if (value == true) {\r\n this.comorbidForm.get('parkinsCmICD10').setValidators(Validators.required);\r\n this.comorbidForm.get('parkinsCmMedHist').setValidators(Validators.required);\r\n }\r\n else {\r\n this.comorbidForm.get('parkinsCmICD10').setValidators(null);\r\n this.comorbidForm.get('parkinsCmICD10').setValue(null);\r\n this.comorbidForm.get('parkinsCmICD10').reset();\r\n this.comorbidForm.get('parkinsCmMedHist').setValidators(null);\r\n this.comorbidForm.get('parkinsCmMedHist').setValue(null);\r\n this.comorbidForm.get('parkinsCmMedHist').reset();\r\n this._parkinsComorbidMedList = [];\r\n }\r\n\r\n // Update and Validate fields\r\n this.comorbidForm.get('parkinsCmICD10').updateValueAndValidity();\r\n this.comorbidForm.get('parkinsCmMedHist').updateValueAndValidity();\r\n });\r\n\r\n // Set rheumaCmICD10 and rheumaCmMedHist required only if rheumaCmChk checkbox is checked\r\n this.comorbidForm.get('rheumaCmChk').valueChanges\r\n .subscribe(value => {\r\n\r\n // Check value of rheumaCmChk\r\n if (value == true) {\r\n this.comorbidForm.get('rheumaCmICD10').setValidators(Validators.required);\r\n this.comorbidForm.get('rheumaCmMedHist').setValidators(Validators.required);\r\n }\r\n else {\r\n this.comorbidForm.get('rheumaCmICD10').setValidators(null);\r\n this.comorbidForm.get('rheumaCmICD10').setValue(null);\r\n this.comorbidForm.get('rheumaCmICD10').reset();\r\n this.comorbidForm.get('rheumaCmMedHist').setValidators(null);\r\n this.comorbidForm.get('rheumaCmMedHist').setValue(null);\r\n this.comorbidForm.get('rheumaCmMedHist').reset();\r\n this._rheumaComorbidMedList = [];\r\n }\r\n\r\n // Update and Validate fields\r\n this.comorbidForm.get('rheumaCmICD10').updateValueAndValidity();\r\n this.comorbidForm.get('rheumaCmMedHist').updateValueAndValidity();\r\n });\r\n\r\n // Set schizoCmICD10 and schizoCmMedHist required only if schizoCmChk checkbox is checked\r\n this.comorbidForm.get('schizoCmChk').valueChanges\r\n .subscribe(value => {\r\n\r\n // Check value of schizoCmChk\r\n if (value == true) {\r\n this.comorbidForm.get('schizoCmICD10').setValidators(Validators.required);\r\n this.comorbidForm.get('schizoCmMedHist').setValidators(Validators.required);\r\n }\r\n else {\r\n this.comorbidForm.get('schizoCmICD10').setValidators(null);\r\n this.comorbidForm.get('schizoCmICD10').setValue(null);\r\n this.comorbidForm.get('schizoCmICD10').reset();\r\n this.comorbidForm.get('schizoCmMedHist').setValidators(null);\r\n this.comorbidForm.get('schizoCmMedHist').setValue(null);\r\n this.comorbidForm.get('schizoCmMedHist').reset();\r\n this._schizoComorbidMedList = [];\r\n }\r\n\r\n // Update and Validate fields\r\n this.comorbidForm.get('schizoCmICD10').updateValueAndValidity();\r\n this.comorbidForm.get('schizoCmMedHist').updateValueAndValidity();\r\n });\r\n\r\n // Set lupusCmICD10 and lupusCmMedHist required only if lupusCmChk checkbox is checked\r\n this.comorbidForm.get('lupusCmChk').valueChanges\r\n .subscribe(value => {\r\n\r\n // Check value of lupusCmChk\r\n if (value == true) {\r\n this.comorbidForm.get('lupusCmICD10').setValidators(Validators.required);\r\n this.comorbidForm.get('lupusCmMedHist').setValidators(Validators.required);\r\n }\r\n else {\r\n this.comorbidForm.get('lupusCmICD10').setValidators(null);\r\n this.comorbidForm.get('lupusCmICD10').setValue(null);\r\n this.comorbidForm.get('lupusCmICD10').reset();\r\n this.comorbidForm.get('lupusCmMedHist').setValidators(null);\r\n this.comorbidForm.get('lupusCmMedHist').setValue(null);\r\n this.comorbidForm.get('lupusCmMedHist').reset();\r\n this._lupusComorbidMedList = [];\r\n }\r\n\r\n // Update and Validate fields\r\n this.comorbidForm.get('lupusCmICD10').updateValueAndValidity();\r\n this.comorbidForm.get('lupusCmMedHist').updateValueAndValidity();\r\n });\r\n\r\n // Set ulceraCmICD10 and ulceraCmMedHist required only if ulceraCmChk checkbox is checked\r\n this.comorbidForm.get('ulceraCmChk').valueChanges\r\n .subscribe(value => {\r\n\r\n // Check value of ulceraCmChk\r\n if (value == true) {\r\n this.comorbidForm.get('ulceraCmICD10').setValidators(Validators.required);\r\n this.comorbidForm.get('ulceraCmMedHist').setValidators(Validators.required);\r\n }\r\n else {\r\n this.comorbidForm.get('ulceraCmICD10').setValidators(null);\r\n this.comorbidForm.get('ulceraCmICD10').setValue(null);\r\n this.comorbidForm.get('ulceraCmICD10').reset();\r\n this.comorbidForm.get('ulceraCmMedHist').setValidators(null);\r\n this.comorbidForm.get('ulceraCmMedHist').setValue(null);\r\n this.comorbidForm.get('ulceraCmMedHist').reset();\r\n this._ulceraComorbidMedList = [];\r\n }\r\n\r\n // Update and Validate fields\r\n this.comorbidForm.get('ulceraCmICD10').updateValueAndValidity();\r\n this.comorbidForm.get('ulceraCmMedHist').updateValueAndValidity();\r\n });\r\n\r\n this.declarationForm = this.fb.group({\r\n 'declaration': [false, Validators.requiredTrue],\r\n 'declarationDate': [null, [Validators.required, this._validationService.dateCustomValidator.bind(this, new Date(\"1900-01-01\"), new Date())]]\r\n });\r\n\r\n }\r\n\r\n loadChronicConditionSetup() {\r\n // Only set values if not already set\r\n if (this._conditionDiags.length < 1) {\r\n\r\n let userName: ChronicConditionDiagsModel = new ChronicConditionDiagsModel();\r\n userName.user = this._loginService.CurrentLoggedInUser.username;\r\n\r\n let userN: SpecCodes = new SpecCodes();\r\n userN.user = this._loginService.CurrentLoggedInUser.username;\r\n\r\n let userM: MedicineCodesModel = new MedicineCodesModel();\r\n userM.user = this._loginService.CurrentLoggedInUser.username;\r\n\r\n this.getChronicConditions(userName);\r\n this.getConditionDiags(userName);\r\n this.getMedicationDiags(userName);\r\n this.getReferralSpecCodes(userN);\r\n this.getMedicineCodes(userM);\r\n }\r\n }\r\n\r\n getChronicConditions(userName: ChronicConditionDiagsModel) {\r\n\r\n let token = localStorage.getItem(\"jwt\");\r\n this._http.post(this._baseUrl + 'api/ChronicConditions/GetChronicConditions', userName,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }\r\n ).subscribe(\r\n (results: ChronicConditionCodesModel[]) => {\r\n if (results.length > 0) {\r\n if (results[0].success) {\r\n this._chronicConditionsAll = results;\r\n this._chronicConditionsSelectable = results.filter(item => item.selectable == '1');\r\n }\r\n else {\r\n this._error = true;\r\n this._errorMessageHeading = \"Page load failed\";\r\n this._errorMessage = \"This page did not load correctly, please refresh.\" + results[0].message;\r\n }\r\n }\r\n },\r\n (error: HttpErrorResponse) => {\r\n console.log(error);\r\n this._error = true;\r\n this._errorMessageHeading = \"Page load failed\";\r\n this._errorMessage = \"This page did not load correctly, please refresh.\" + error.message;\r\n },\r\n () => { }\r\n )\r\n }\r\n\r\n getConditionDiags(userName: ChronicConditionDiagsModel) {\r\n let token = localStorage.getItem(\"jwt\");\r\n this._http.post(this._baseUrl + 'api/ChronicConditions/GetConditionDiags', userName,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n })\r\n }\r\n ).subscribe(\r\n (results: ChronicConditionDiagsModel[]) => {\r\n if (results.length > 0) {\r\n if (results[0].success) {\r\n this._conditionDiags = results;\r\n this._diabetesDiags = this._conditionDiags.filter(x => x.conditionCode == \"DIAB1\" || x.conditionCode == \"DIAB2\");\r\n this._hyperLipDiags = this._conditionDiags.filter(x => x.conditionCode == \"CHOL\");\r\n this._hypertensionDiags = this._conditionDiags.filter(x => x.conditionCode == \"HYPER\");\r\n this._asthmaDiags = this._conditionDiags.filter(x => x.conditionCode == \"ASTHMA\");\r\n this._addisDiags = this._conditionDiags.filter(x => x.conditionCode == \"ADDIS\"); \r\n this._bipolDiags = this._conditionDiags.filter(x => x.conditionCode == \"BIPOL\");\r\n this._bronchDiags = this._conditionDiags.filter(x => x.conditionCode == \"BRONCH\");\r\n this._cardiacDiags = this._conditionDiags.filter(x => x.conditionCode == \"CARDIAC\");\r\n this._cardiomDiags = this._conditionDiags.filter(x => x.conditionCode == \"CARDIOM\");\r\n this._copdDiags = this._conditionDiags.filter(x => x.conditionCode == \"COPD\");\r\n this._renalDiags = this._conditionDiags.filter(x => x.conditionCode == \"RENAL\");\r\n this._coronarDiags = this._conditionDiags.filter(x => x.conditionCode == \"CORONAR\");\r\n this._crohnsDiags = this._conditionDiags.filter(x => x.conditionCode == \"CROHNS\");\r\n this._diabinsipDiags = this._conditionDiags.filter(x => x.conditionCode == \"DIABINSIP\");\r\n this._dysrhytDiags = this._conditionDiags.filter(x => x.conditionCode == \"DYSRHYT\");\r\n this._epilDiags = this._conditionDiags.filter(x => x.conditionCode == \"EPIL\");\r\n this._glaucomDiags = this._conditionDiags.filter(x => x.conditionCode == \"GLAUCOM\");\r\n this._haemophilDiags = this._conditionDiags.filter(x => x.conditionCode == \"HAEMOPHIL\");\r\n this._hypothDiags = this._conditionDiags.filter(x => x.conditionCode == \"HYPOTH\");\r\n this._sclerosisDiags = this._conditionDiags.filter(x => x.conditionCode == \"SCLEROSIS\"); \r\n this._parkinsDiags = this._conditionDiags.filter(x => x.conditionCode == \"PARKINS\");\r\n this._rheumaDiags = this._conditionDiags.filter(x => x.conditionCode == \"RHEUMA\");\r\n this._schizoDiags = this._conditionDiags.filter(x => x.conditionCode == \"SCHIZO\"); \r\n this._lupusDiags = this._conditionDiags.filter(x => x.conditionCode == \"LUPUS\");\r\n this._ulceraDiags = this._conditionDiags.filter(x => x.conditionCode == \"ULCERA\");\r\n }\r\n else {\r\n this._error = true;\r\n this._errorMessageHeading = \"Page load failed\";\r\n //this.errorMessage = results[0].message;\r\n this._errorMessage = \"This page did not load correctly, please refresh.\";\r\n }\r\n }\r\n },\r\n (error: HttpErrorResponse) => {\r\n console.log(error);\r\n this._error = true;\r\n this._errorMessageHeading = \"Page load failed\";\r\n this._errorMessage = \"This page did not load correctly, please refresh.\" + error.message;\r\n },\r\n () => { }\r\n )\r\n }\r\n\r\n getMedicationDiags(userName: ChronicConditionDiagsModel) {\r\n let token = localStorage.getItem(\"jwt\");\r\n return this._http.post(this._baseUrl + 'api/ChronicConditions/GetMedicationDiags', userName,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n })\r\n }\r\n ).subscribe(\r\n (results: ChronicConditionDiagsModel[]) => {\r\n if (results.length > 0) {\r\n if (results[0].success) {\r\n this._medicationDiags = results;\r\n }\r\n else {\r\n this._error = true;\r\n this._errorMessageHeading = \"Page load failed\";\r\n //this.errorMessage = results[0].message;\r\n this._errorMessage = \"This page did not load correctly, please refresh.\";\r\n }\r\n }\r\n },\r\n (error: HttpErrorResponse) => {\r\n console.log(error);\r\n this._error = true;\r\n this._errorMessageHeading = \"Page load failed\";\r\n this._errorMessage = \"This page did not load correctly, please refresh.\" + error.message;\r\n },\r\n () => { }\r\n )\r\n }\r\n\r\n getReferralSpecCodes(userName: SpecCodes) {\r\n let token = localStorage.getItem(\"jwt\");\r\n return this._http.post(this._baseUrl + 'api/ChronicConditions/GetReferralSpecCodes', userName,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n })\r\n }\r\n ).subscribe(\r\n (results: SpecCodes[]) => {\r\n if (results.length > 0) {\r\n if (results[0].success) {\r\n this._referralSpecs = results;\r\n //this._referralSpecs.sort((a, b) => a.code.localeCompare(b.code));\r\n }\r\n else {\r\n this._error = true;\r\n this._errorMessageHeading = \"Page load failed\";\r\n //this.errorMessage = results[0].message;\r\n this._errorMessage = \"This page did not load correctly, please refresh.\";\r\n }\r\n }\r\n },\r\n (error: HttpErrorResponse) => {\r\n console.log(error);\r\n this._error = true;\r\n this._errorMessageHeading = \"Page load failed\";\r\n this._errorMessage = \"This page did not load correctly, please refresh.\" + error.message;\r\n },\r\n () => { }\r\n )\r\n }\r\n\r\n getMedicineCodes(userName: MedicineCodesModel) {\r\n let token = localStorage.getItem(\"jwt\");\r\n return this._http.post(this._baseUrl + 'api/ChronicConditions/GetMedicineCodes', userName,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n })\r\n }\r\n ).subscribe(\r\n (results: MedicineCodesModel[]) => {\r\n if (results.length > 0) {\r\n if (results[0].success) {\r\n this._medicineCodes = results;\r\n }\r\n else {\r\n this._error = true;\r\n this._errorMessageHeading = \"Page load failed\";\r\n //this.errorMessage = results[0].message;\r\n this._errorMessage = \"This page did not load correctly, please refresh.\";\r\n }\r\n }\r\n },\r\n (error: HttpErrorResponse) => {\r\n console.log(error);\r\n this._error = true;\r\n this._errorMessageHeading = \"Page load failed\";\r\n this._errorMessage = \"This page did not load correctly, please refresh.\" + error.message;\r\n },\r\n () => { }\r\n )\r\n }\r\n\r\n GetHpContractsForSchemeDropdown() {\r\n // Remove defaults from list (hpcode '000')\r\n this._hpContracts = this._loginService.MemberClaimsDropDown.filter((item) => {\r\n return item.hpcode !== '000' && item.chronicConditionsContract == true;\r\n });\r\n }\r\n\r\n SetProviderFormInfo() {\r\n // Only set values if not already set\r\n if (this.providerForm.get('provid').value == null) {\r\n this.providerForm.get('provid').setValue(this._loginService.CurrentLoggedInUser.provID);\r\n this.providerForm.get('provName').setValue(this._loginService.CurrentLoggedInUser.lastname);\r\n this.providerForm.get('provContactNo').setValue(this._loginService.CurrentLoggedInUser.contact);\r\n this.providerForm.get('provEmail').setValue(this._loginService.CurrentLoggedInUser.email);\r\n }\r\n }\r\n\r\n onMembidChange() {\r\n this._familyList = [];\r\n this.memberForm.get('dependant').reset();\r\n this.memberForm.get('membEmail').reset();\r\n\r\n this.doResets();\r\n }\r\n\r\n checkChange() {\r\n console.log(this.comorbidForm);\r\n }\r\n\r\n onSearchMemberClick() {\r\n this.memberForm.markAllAsTouched(); // to display error messages\r\n\r\n let doSearch: boolean = true;\r\n\r\n if (!this.memberForm.get('hp').valid) {\r\n doSearch = false;\r\n }\r\n\r\n if (!this.memberForm.get('member').valid || this.memberForm.get('member').value.trim() == '') {\r\n this.memberForm.get('member').reset(); // in case the user only entered a space or spaces\r\n this.memberForm.get('member').markAsTouched(); // to display error message\r\n doSearch = false;\r\n }\r\n\r\n if (!this.memberForm.get('dob').valid) {\r\n doSearch = false;\r\n }\r\n\r\n if (doSearch) {\r\n this.searchMember();\r\n }\r\n }\r\n\r\n searchMember() {\r\n\r\n this._familyList = [];\r\n this._busy = true;\r\n\r\n this._http.post(this._baseUrl + \"api/Member/MemberDetails\", {\r\n MEMBID: this.memberForm.get('member').value.trim(),\r\n FIRSTNM: '',\r\n LASTNM: '',\r\n BIRTH: this.memberForm.get('dob').value,\r\n HPCODE: this.memberForm.get('hp').value,\r\n LOBCODE: this._loginService.CurrentLoggedInUser.lobcode,\r\n USER: this._loginService.CurrentLoggedInUser.username,\r\n USERTYPE: this._loginService.CurrentLoggedInUser.userType\r\n },\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this._loginService.token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n })\r\n }).subscribe(\r\n (results: MemberEligibilityModel[]) => {\r\n\r\n let currDate: Date = new Date();\r\n results.forEach((el) => {\r\n\r\n let opthrudt: Date = new Date(el.opthrudt);\r\n\r\n if (el.hpcode == this.memberForm.get('hp').value && // To not include old hpcodes\r\n (el.opthrudt == 'N/A' || opthrudt > currDate)) // Only currently active members\r\n {\r\n this._familyList.push(el);\r\n }\r\n })\r\n\r\n if (this._familyList.length < 1) {\r\n this._success = true;\r\n this._successMessageHeading = \"Member not found\";\r\n this._successMessage = \"No member found. Please ensure the fund, family/policy number, and date of birth is correct.\";\r\n this.clearAfterMemberSearchFail();\r\n }\r\n\r\n },\r\n (error: HttpErrorResponse) => {\r\n console.log(error);\r\n this._error = true;\r\n this._errorMessageHeading = \"Unexpected error occured\";\r\n //this._errorMessage = \"An error occured while searching for the member\";\r\n this._errorMessage = error.message;\r\n this._busy = false;\r\n this.clearAfterMemberSearchFail();\r\n },\r\n () => {\r\n this._busy = false;\r\n });\r\n }\r\n\r\n clearAfterMemberSearchFail() {\r\n this.doResets();\r\n this.memberForm.get('dependant').setValue(null);\r\n this.memberForm.get('membEmail').setValue(null);\r\n this._familyList = [];\r\n }\r\n\r\n dependantSelected() {\r\n let email: string = this._familyList.filter(x => x.dependant == this.memberForm.get('dependant').value)[0].email;\r\n if (email != undefined && email.trim() != \"\") {\r\n this.memberForm.get(\"membEmail\").setValue(email);\r\n }\r\n this.doResets();\r\n }\r\n\r\n async onConditionChange() {\r\n\r\n // Check prior applications and updates (we might reset the conditioncode to null) \r\n await this.checkPriorApplications();\r\n \r\n // Uncheck Comorbid checkbox for condition that is selected \r\n if (this.conditionForm.get('conditionCode').value == 'ASTHMA') { this.comorbidForm.get('asthmaCmChk').setValue(false); }\r\n else if (this.conditionForm.get('conditionCode').value == 'CHOL') { this.comorbidForm.get('hyperlipCmChk').setValue(false); }\r\n else if (this.conditionForm.get('conditionCode').value == 'HYPER') { this.comorbidForm.get('hypertensionCmChk').setValue(false); }\r\n else if (this.conditionForm.get('conditionCode').value == 'DIAB') { this.comorbidForm.get('diabCmChk').setValue(false); }\r\n else if (this.conditionForm.get('conditionCode').value == 'ADDIS') { this.comorbidForm.get('addisCmChk').setValue(false); }\r\n else if (this.conditionForm.get('conditionCode').value == 'BIPOL') { this.comorbidForm.get('bipolCmChk').setValue(false); }\r\n else if (this.conditionForm.get('conditionCode').value == 'BRONCH') { this.comorbidForm.get('bronchCmChk').setValue(false); }\r\n else if (this.conditionForm.get('conditionCode').value == 'CARDIAC') { this.comorbidForm.get('cardiacCmChk').setValue(false); }\r\n else if (this.conditionForm.get('conditionCode').value == 'CARDIOM') { this.comorbidForm.get('cardiomCmChk').setValue(false); }\r\n else if (this.conditionForm.get('conditionCode').value == 'COPD') { this.comorbidForm.get('copdCmChk').setValue(false); }\r\n else if (this.conditionForm.get('conditionCode').value == 'RENAL') { this.comorbidForm.get('renalCmChk').setValue(false); }\r\n else if (this.conditionForm.get('conditionCode').value == 'CORONAR') { this.comorbidForm.get('coronarCmChk').setValue(false); }\r\n else if (this.conditionForm.get('conditionCode').value == 'CROHNS') { this.comorbidForm.get('crohnsCmChk').setValue(false); }\r\n else if (this.conditionForm.get('conditionCode').value == 'DIABINSIP') { this.comorbidForm.get('diabinsipCmChk').setValue(false); }\r\n else if (this.conditionForm.get('conditionCode').value == 'DYSRHYT') { this.comorbidForm.get('dysrhytCmChk').setValue(false); }\r\n else if (this.conditionForm.get('conditionCode').value == 'EPIL') { this.comorbidForm.get('epilCmChk').setValue(false); }\r\n else if (this.conditionForm.get('conditionCode').value == 'GLAUCOM') { this.comorbidForm.get('glaucomCmChk').setValue(false); }\r\n else if (this.conditionForm.get('conditionCode').value == 'HAEMOPHIL') { this.comorbidForm.get('haemophilCmChk').setValue(false); }\r\n else if (this.conditionForm.get('conditionCode').value == 'HYPOTH') { this.comorbidForm.get('hypothCmChk').setValue(false); }\r\n else if (this.conditionForm.get('conditionCode').value == 'SCLEROSIS') { this.comorbidForm.get('sclerosisCmChk').setValue(false); }\r\n else if (this.conditionForm.get('conditionCode').value == 'PARKINS') { this.comorbidForm.get('parkinsCmChk').setValue(false); }\r\n else if (this.conditionForm.get('conditionCode').value == 'RHEUMA') { this.comorbidForm.get('rheumaCmChk').setValue(false); }\r\n else if (this.conditionForm.get('conditionCode').value == 'SCHIZO') { this.comorbidForm.get('schizoCmChk').setValue(false); }\r\n else if (this.conditionForm.get('conditionCode').value == 'LUPUS') { this.comorbidForm.get('lupusCmChk').setValue(false); }\r\n else if (this.conditionForm.get('conditionCode').value == 'ULCERA') { this.comorbidForm.get('ulceraCmChk').setValue(false);\r\n }\r\n\r\n // Do diabetes \r\n if (this.conditionForm.get('conditionCode').value == 'DIAB') {\r\n // Set diabetesYN to Y and disable radio \r\n this.biometricForm.get('diabetesYN').reset();\r\n this.biometricForm.get('diabetesYN').setValue('Y');\r\n this.biometricForm.get('diabetesYN').markAsTouched;\r\n this.biometricForm.get('diabetesYN').updateValueAndValidity();\r\n //this.biometricForm.get('diabetesYN').disable(); // disable if mean control is not 'valid' because disabled is a state and the state is now disabled not valid (even if there is a valid value)\r\n\r\n } else {\r\n // Enable diabetes radio if selected condition is not diabetes \r\n this.biometricForm.get('diabetesYN').reset();\r\n this.biometricForm.get('diabetesYN').setValue(null); \r\n this.biometricForm.get('diabetesYN').updateValueAndValidity();\r\n //this.biometricForm.get('diabetesYN').enable();\r\n }\r\n\r\n // Clear comorbid form if neccessary\r\n if (this.conditionForm.get('conditionCode').value == null || this.conditionForm.get('conditionCode').value == \"\") {\r\n this.comorbidForm.reset();\r\n }\r\n }\r\n\r\n async checkPriorApplications() {\r\n\r\n let condCode: string = this.conditionForm.get('conditionCode').value;\r\n\r\n if (condCode != null && condCode != \"\") {\r\n\r\n // Reset vars\r\n this._approvedApplication = new ChronicConditionApplicationModel();\r\n this._latestUpdate = new ChronicConditionApplicationModel();\r\n\r\n // Info for backend\r\n let condInfo: ChronicConditionApplicationModel = new ChronicConditionApplicationModel();\r\n condInfo.membId = this.FamilyList.filter(x => x.dependant == this.memberForm.get('dependant').value)[0].membid;\r\n condInfo.provId = this._loginService.CurrentLoggedInUser.provID;\r\n condInfo.conditionCode = condCode;\r\n\r\n // Check if there is already an approved or prending application condition for this member, if there is then don't allow to create another \r\n if (this._currentPage == \"ChronicCondApp\") {\r\n\r\n //this._busy = true; //Caause error in console, can't figure out why\r\n\r\n let token = localStorage.getItem(\"jwt\");\r\n \r\n //let promise = new Promise((resolve, reject) => {\r\n //var promis = await this._http.post(this._baseUrl + 'api/ChronicConditions/CheckExistingApplications', condInfo,\r\n await\r\n this._http.post(this._baseUrl + 'api/ChronicConditions/CheckExistingApplications', condInfo,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n })\r\n }\r\n ).toPromise()\r\n .then(\r\n (result: ChronicConditionApplicationModel) => { // Success\r\n \r\n if (result.success) {\r\n\r\n // There is no approved or pending application for this member, so the user can proceed to capture a new application for this member and condition\r\n\r\n }\r\n else {\r\n\r\n this._errorArrayModal = true;\r\n\r\n if (result.message == \"Prior existing application\") {\r\n this._errorArrayHeading = result.message;\r\n this._errorArrayMessage = \"There is already an existing application for this member and condition: \";\r\n this._errorArrayArr.push(\"Application Number: \" + result.conditionApplicationNumber);\r\n this._errorArrayArr.push(\"Application Date: \" + result.applicationDate);\r\n this._errorArrayArr.push(\"Status: \" + result.status);\r\n }\r\n else {\r\n this._errorArrayMessage = result.message;\r\n }\r\n\r\n this.conditionForm.reset();\r\n }\r\n\r\n //this._busy = false;\r\n\r\n },\r\n (error: HttpErrorResponse) => {\r\n console.log(error)\r\n\r\n this._error = true;\r\n this._errorMessageHeading = \"Unexpected error occured\";\r\n this._errorMessage = error.message;\r\n\r\n //this._busy = false; \r\n }\r\n );\r\n //}); \r\n }\r\n\r\n // Check if there is already an approved application for this member and condition, otherwise they can't do an update\r\n // If there is an approved condition, return it and the latest update so the provider can monitor progress \r\n if (this._currentPage == \"ChronicCondUpdate\") {\r\n\r\n //this._busy = true;\r\n\r\n let token = localStorage.getItem(\"jwt\");\r\n await\r\n this._http.post(this._baseUrl + 'api/ChronicConditions/GetApprovedApplicationAndLastUpdate', condInfo,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n })\r\n }\r\n ).toPromise()\r\n .then(\r\n (results: ChronicConditionApplicationModel[]) => {\r\n\r\n for (let i: number = 0; i < results.length; i++) {\r\n if (results[i].success) {\r\n\r\n if (results[i].status == 'APPROVED') {\r\n this._approvedApplication = results[i]; \r\n }\r\n\r\n if (results[i].status == 'UPDATE') {\r\n this._latestUpdate = results[i];\r\n }\r\n\r\n }\r\n else {\r\n this._error = true;\r\n this._errorMessageHeading = \"No registered condition found to update.\";\r\n this._errorMessage = results[i].message;\r\n this.conditionForm.reset();\r\n break;\r\n }\r\n }\r\n },\r\n (error: HttpErrorResponse) => {\r\n console.log(error)\r\n this._error = true;\r\n this._errorMessageHeading = \"Unexpected error occured\";\r\n this._errorMessage = error.message;\r\n //this._busy = false;\r\n }\r\n );\r\n }\r\n }\r\n \r\n }\r\n\r\n calcBmi() {\r\n this.biometricForm.get('bmi').reset();\r\n\r\n if (this.biometricForm.get('height').value != undefined &&\r\n this.biometricForm.get('weight').value != undefined &&\r\n this.biometricForm.get('height').value != null &&\r\n this.biometricForm.get('weight').value != null &&\r\n this.biometricForm.get('height').value.trim() != \"\" &&\r\n this.biometricForm.get('weight').value.trim() != \"\") {\r\n\r\n let height: number = this.biometricForm.get('height').value.trim();\r\n let weight: number = this.biometricForm.get('weight').value.trim();\r\n\r\n let bmi: number = weight / ((height / 100.0) * (height / 100.0));\r\n bmi = Math.round(bmi * 10) / 10;\r\n\r\n this.biometricForm.get('bmi').setValue(bmi.toString());\r\n\r\n this.biometricForm.get('bmi').updateValueAndValidity();\r\n }\r\n return;\r\n }\r\n\r\n calcLdlHdlRatio() {\r\n this.biometricForm.get('cholesterolLdlHdlRatio').reset();\r\n\r\n if (this.biometricForm.get('cholesterolLDL').value != undefined &&\r\n this.biometricForm.get('cholesterolHDL').value != undefined &&\r\n this.biometricForm.get('cholesterolLDL').value != null &&\r\n this.biometricForm.get('cholesterolHDL').value != null &&\r\n this.biometricForm.get('cholesterolLDL').value.trim() != \"\" &&\r\n this.biometricForm.get('cholesterolHDL').value.trim() != \"\") {\r\n\r\n let cholLDL: number = this.biometricForm.get('cholesterolLDL').value.trim();\r\n let cholHDL: number = this.biometricForm.get('cholesterolHDL').value.trim();\r\n\r\n let ratio: number = cholLDL / cholHDL;\r\n ratio = Math.round(ratio * 100) / 100;\r\n\r\n this.biometricForm.get('cholesterolLdlHdlRatio').setValue(ratio.toString());\r\n this.biometricForm.get('cholesterolLdlHdlRatio').updateValueAndValidity();\r\n }\r\n return;\r\n }\r\n\r\n onUploadFile(event, fileArray: FileItemModel[], form: FormGroup, controlName: string) {\r\n\r\n for (let i: number = 0; i < event.addedFiles.length; i++) {\r\n\r\n // Create item\r\n let eachFile: FileItemModel = new FileItemModel();\r\n\r\n // Convert File to string and assign to item\r\n this.fileToBase64(event.addedFiles[i])\r\n .then(result => {\r\n const base64String = result.replace('data:', '').replace(/^.+,/, ''); // To remove data url part\r\n\r\n\r\n eachFile.base64Str = base64String;\r\n\r\n // Set other item properties\r\n eachFile.name = event.addedFiles[i].name;\r\n eachFile.type = event.addedFiles[i].type;\r\n eachFile.fileDesc = controlName;\r\n eachFile.isEnabled = false;\r\n eachFile.isProgress = false;\r\n eachFile.isProgressValue = \"0\";\r\n\r\n // Add to applicable list\r\n fileArray.push(eachFile);\r\n\r\n // Do progress bar\r\n this.callInterval(fileArray);\r\n\r\n // Set form control\r\n if (fileArray.length > 0) {\r\n form.get(controlName).setValue(fileArray[0]); // Set formcontrol to first file\r\n } else {\r\n form.get(controlName).setValue(null);\r\n }\r\n\r\n });\r\n }\r\n }\r\n\r\n fileToBase64 = (file: File): Promise => {\r\n return new Promise((resolve, reject) => {\r\n const reader = new FileReader();\r\n reader.readAsDataURL(file);\r\n reader.onload = () => resolve(reader.result.toString());\r\n reader.onerror = error => reject(error);\r\n })\r\n }\r\n\r\n callInterval(fileArray: FileItemModel[]) {\r\n //for (let i = 0; i < this.files.length; i++) {\r\n for (let i = 0; i < fileArray.length; i++) {\r\n //let eachFile: any = this.files[i];\r\n let eachFile: any = fileArray[i];\r\n if (eachFile.isEnabled === false) {\r\n this._isFileUploadInProgress = true;\r\n eachFile.isProgress = true;\r\n let index: number = 0;\r\n let interval = setInterval(() => {\r\n index = index + 5;\r\n eachFile.isProgressValue = index.toString();\r\n //this.files[i] = eachFile;\r\n fileArray[i] = eachFile;\r\n if (index === 100) {\r\n this._isFileUploadInProgress = false;\r\n //this.files[i].isProgress = false;\r\n fileArray[i].isProgress = false;\r\n clearInterval(interval);\r\n //this.callInterval();\r\n this.callInterval(fileArray);\r\n }\r\n }, 200);\r\n eachFile.isEnabled = true;\r\n break;\r\n }\r\n }\r\n }\r\n\r\n deleteFile(index: number, fileArray: any, form: FormGroup, controlName: string) {\r\n\r\n //this.files.splice(index, 1);\r\n fileArray.splice(index, 1);\r\n\r\n if (fileArray.length > 0) {\r\n form.get(controlName).setValue(fileArray[0]); // Set formcontrol to first file\r\n } else {\r\n form.get(controlName).setValue(null);\r\n }\r\n\r\n }\r\n\r\n // This method gives the tabname and filename a random guid, so not ideal (but it handles download vs open in new tab by itself, which is nice)\r\n viewFile(vFile: FileItemModel) {\r\n const fileName = vFile.name;\r\n const fileBlob = this.dataURItoBlob(vFile.base64Str, vFile.type);\r\n const file = new File([fileBlob], fileName, { type: vFile.type }); //This step is not neccessary (URL can be created with fileBlob, filename is ignored when using blob)\r\n const url = URL.createObjectURL(file);\r\n //let selectedFileBLOB: string = this._domSanitizer.bypassSecurityTrustUrl(encodeURI(url));\r\n return this._domSanitizer.bypassSecurityTrustUrl(url);\r\n }\r\n\r\n // This method allows you to specify a filename when downloading. Opening in new tab still makes tab name a giud\r\n viewFileD(vFile: FileItemModel) {\r\n const fileName = vFile.name;\r\n const fileBlob = this.dataURItoBlob(vFile.base64Str, vFile.type);\r\n const file = new File([fileBlob], fileName, { type: vFile.type }); //This step is not neccessary (URL can be created with fileBlob, filename is ignored when using blob)\r\n const url = URL.createObjectURL(file);\r\n const safeUrl = this._domSanitizer.sanitize(SecurityContext.RESOURCE_URL, this._domSanitizer.bypassSecurityTrustResourceUrl(url));\r\n\r\n var anchor = document.createElement(\"a\");\r\n anchor.href = safeUrl;\r\n\r\n if (vFile.type == 'image/jpeg' || vFile.type == 'image/png' || vFile.type == 'application/pdf') {\r\n anchor.target = '_blank'; // Open in new tab\r\n }\r\n else {\r\n anchor.download = vFile.name; // Download\r\n }\r\n anchor.click();\r\n }\r\n\r\n dataURItoBlob(dataURI, fileType) {\r\n const byteString = window.atob(dataURI);\r\n const arrayBuffer = new ArrayBuffer(byteString.length);\r\n const int8Array = new Uint8Array(arrayBuffer);\r\n for (let i = 0; i < byteString.length; i++) {\r\n int8Array[i] = byteString.charCodeAt(i);\r\n }\r\n const blob = new Blob([int8Array], { type: fileType });\r\n return blob;\r\n }\r\n\r\n medicineSearchSelect() {\r\n\r\n let x: string = 'abc';\r\n\r\n }\r\n\r\n onNewMedicationItem(itemMedType: string) {\r\n\r\n this.medicationForm.reset();\r\n this._medicationItem = new MedicationModel();\r\n this._medicationItem.section = itemMedType;\r\n\r\n // Set default Condition dropdown value depending on which section new medicine added\r\n if (itemMedType == 'requestedMedication' || itemMedType == 'hypertensionOnTherapyMedHist' || itemMedType == 'hyperlipOnTherapyMedHist') {\r\n this.medicationForm.get('conditionCodeM').setValue(this.conditionForm.get('conditionCode').value);\r\n }\r\n else if (itemMedType == 'asthmaComorbidMedHist') { this.medicationForm.get('conditionCodeM').setValue('ASTHMA'); }\r\n else if (itemMedType == 'diabComorbidMedHist') { this.medicationForm.get('conditionCodeM').setValue('DIAB'); }\r\n else if (itemMedType == 'hyperlipComorbidMedHist') { this.medicationForm.get('conditionCodeM').setValue('CHOL'); }\r\n else if (itemMedType == 'hypertensionComorbidMedHist') { this.medicationForm.get('conditionCodeM').setValue('HYPER'); }\r\n else if (itemMedType == 'addisComorbidMedHist') { this.medicationForm.get('conditionCodeM').setValue('ADDIS'); }\r\n else if (itemMedType == 'bipolComorbidMedHist') { this.medicationForm.get('conditionCodeM').setValue('BIPOL'); }\r\n else if (itemMedType == 'bronchComorbidMedHist') { this.medicationForm.get('conditionCodeM').setValue('BRONCH'); }\r\n else if (itemMedType == 'cardiacComorbidMedHist') { this.medicationForm.get('conditionCodeM').setValue('CARDIAC'); }\r\n else if (itemMedType == 'cardiomComorbidMedHist') { this.medicationForm.get('conditionCodeM').setValue('CARDIOM'); }\r\n else if (itemMedType == 'copdComorbidMedHist') { this.medicationForm.get('conditionCodeM').setValue('COPD'); }\r\n else if (itemMedType == 'renalComorbidMedHist') { this.medicationForm.get('conditionCodeM').setValue('RENAL'); }\r\n else if (itemMedType == 'coronarComorbidMedHist') { this.medicationForm.get('conditionCodeM').setValue('CORONAR'); }\r\n else if (itemMedType == 'crohnsComorbidMedHist') { this.medicationForm.get('conditionCodeM').setValue('CROHNS'); }\r\n else if (itemMedType == 'diabinsipComorbidMedHist') { this.medicationForm.get('conditionCodeM').setValue('DIABINSIP'); }\r\n else if (itemMedType == 'dysrhytComorbidMedHist') { this.medicationForm.get('conditionCodeM').setValue('DYSRHYT'); }\r\n else if (itemMedType == 'epilComorbidMedHist') { this.medicationForm.get('conditionCodeM').setValue('EPIL'); }\r\n else if (itemMedType == 'glaucomComorbidMedHist') { this.medicationForm.get('conditionCodeM').setValue('GLAUCOM'); }\r\n else if (itemMedType == 'haemophilComorbidMedHist') { this.medicationForm.get('conditionCodeM').setValue('HAEMOPHIL'); }\r\n else if (itemMedType == 'hypothComorbidMedHist') { this.medicationForm.get('conditionCodeM').setValue('HYPOTH'); }\r\n else if (itemMedType == 'sclerosisComorbidMedHist') { this.medicationForm.get('conditionCodeM').setValue('SCLEROSIS'); }\r\n else if (itemMedType == 'parkinsComorbidMedHist') { this.medicationForm.get('conditionCodeM').setValue('PARKINS'); }\r\n else if (itemMedType == 'rheumaComorbidMedHist') { this.medicationForm.get('conditionCodeM').setValue('RHEUMA'); }\r\n else if (itemMedType == 'schizoComorbidMedHist') { this.medicationForm.get('conditionCodeM').setValue('SCHIZO'); }\r\n else if (itemMedType == 'lupusComorbidMedHist') { this.medicationForm.get('conditionCodeM').setValue('LUPUS'); }\r\n else if (itemMedType == 'ulceraComorbidMedHist') { this.medicationForm.get('conditionCodeM').setValue('ULCERA'); }\r\n\r\n\r\n // Filter ICD10 dropdown as per Condition dropdown value\r\n //this._filteredMedicationDiags = this._medicationDiags.filter(x => x.conditionCode == this.medicationForm.get('conditionCodeM').value);\r\n this.onMedicationConditionChange();\r\n\r\n // Show form/modal\r\n this._showMedicationModal = true;\r\n }\r\n\r\n onMedicationConditionChange() {\r\n\r\n if (this.medicationForm.get('conditionCodeM').value == 'DIAB') { // Conditions DIAB1 and DIAB2 in backend is only one condition in frontend\r\n\r\n if (this.biometricForm.get('diabetesType').value == 'diabetesType1') {\r\n\r\n this._filteredMedicationDiags = this._medicationDiags.filter(x => x.conditionCode == 'DIAB1');\r\n }\r\n else if (this.biometricForm.get('diabetesType').value == 'diabetesType2') {\r\n\r\n this._filteredMedicationDiags = this._medicationDiags.filter(x => x.conditionCode == 'DIAB2');\r\n }\r\n else {\r\n\r\n this._filteredMedicationDiags = this._medicationDiags.filter(x => x.conditionCode == 'DIAB1' || x.conditionCode == 'DIAB2');\r\n\r\n // Get distinct\r\n this._filteredMedicationDiags = this._filteredMedicationDiags.filter(\r\n (thing, i, arr) => arr.findIndex(t => t.diagCode === thing.diagCode) === i\r\n );\r\n\r\n // Sort\r\n this._filteredMedicationDiags.sort((a, b) => a.diagCode.localeCompare(b.diagCode));\r\n }\r\n }\r\n else { // All other conditions\r\n\r\n this._filteredMedicationDiags = this._medicationDiags.filter(x => x.conditionCode == this.medicationForm.get('conditionCodeM').value);\r\n }\r\n\r\n // Set control to first option in list\r\n //this.medicationForm.get('icd10').setValue(this._filteredMedicationDiags[0].diagCode);\r\n\r\n // Reset control value and validation\r\n this.medicationForm.get('icd10').setValue(null);\r\n this.medicationForm.get('icd10').reset();\r\n this.medicationForm.get('icd10').updateValueAndValidity();\r\n }\r\n\r\n onEditMedicationItem(itemToEdit: MedicationModel) {\r\n\r\n this.medicationForm.reset();\r\n this._medicationItem = itemToEdit;\r\n\r\n this.medicationForm.get('conditionCodeM').setValue(itemToEdit.condCode);\r\n this.medicationForm.get('icd10').setValue(itemToEdit.icd10);\r\n this.medicationForm.get('prescriptionSvcCode').setValue(itemToEdit.prescriptionSvcCode);\r\n this.medicationForm.get('svcCodeDescr').setValue(itemToEdit.svcCodeDescr);\r\n this.medicationForm.get('strength').setValue(itemToEdit.strength);\r\n this.medicationForm.get('dosage').setValue(itemToEdit.dosage);\r\n this.medicationForm.get('qtyPerMonth').setValue(itemToEdit.qtyPerMonth);\r\n this.medicationForm.get('numRepeats').setValue(itemToEdit.numRepeats);\r\n\r\n this._showMedicationModal = true;\r\n }\r\n\r\n onSaveMedicationItem() {\r\n\r\n this.medicationForm.markAllAsTouched(); // To display error messages\r\n\r\n // Only proceed if valid\r\n if (this.medicationForm.valid) {\r\n\r\n // Check if new item or item to edit\r\n if (this._medicationItem.arrayId == undefined) { // new item\r\n\r\n // Set array id \r\n this._medicationItem.arrayId = Date.now().toString();\r\n\r\n // Fill item from form\r\n this._medicationItem.condCode = this.medicationForm.get('conditionCodeM').value.trim();\r\n this._medicationItem.icd10 = this.medicationForm.get('icd10').value.trim();\r\n this._medicationItem.prescriptionSvcCode = this.medicationForm.get('prescriptionSvcCode').value;\r\n this._medicationItem.svcCodeDescr = this.medicationForm.get('svcCodeDescr').value.trim();\r\n this._medicationItem.strength = this.medicationForm.get('strength').value.trim();\r\n this._medicationItem.dosage = this.medicationForm.get('dosage').value.trim();\r\n this._medicationItem.qtyPerMonth = this.medicationForm.get('qtyPerMonth').value.trim();\r\n this._medicationItem.numRepeats = this.medicationForm.get('numRepeats').value.trim();\r\n\r\n if (this._medicationItem.section == \"hypertensionOnTherapyMedHist\") {\r\n this._medicationItem.historyMed = true;\r\n this._medicationItem.comorbid = false;\r\n this._hypertensionMedList.push(this._medicationItem);\r\n }\r\n else if (this._medicationItem.section == \"hyperlipOnTherapyMedHist\") {\r\n this._medicationItem.historyMed = true;\r\n this._medicationItem.comorbid = false;\r\n this._hyperlipidaemiaMedList.push(this._medicationItem);\r\n }\r\n else if (this._medicationItem.section == \"requestedMedication\") {\r\n this._medicationItem.historyMed = false;\r\n this._medicationItem.comorbid = false;\r\n this._requestedMedList.push(this._medicationItem);\r\n }\r\n else if (this._medicationItem.section.includes('ComorbidMedHist')) {\r\n\r\n this._medicationItem.historyMed = false;\r\n this._medicationItem.comorbid = true;\r\n\r\n if (this._medicationItem.section == \"asthmaComorbidMedHist\") { this._asthmaComorbidMedList.push(this._medicationItem); } \r\n else if (this._medicationItem.section == \"diabComorbidMedHist\") { this._diabComorbidMedList.push(this._medicationItem); }\r\n else if (this._medicationItem.section == \"hyperlipComorbidMedHist\") { this._hyperlipComorbidMedList.push(this._medicationItem); }\r\n else if (this._medicationItem.section == \"hypertensionComorbidMedHist\") { this._hypertensionComorbidMedList.push(this._medicationItem); }\r\n else if (this._medicationItem.section == 'addisComorbidMedHist') { this._addisComorbidMedList.push(this._medicationItem); }\r\n else if (this._medicationItem.section == 'bipolComorbidMedHist') { this._bipolComorbidMedList.push(this._medicationItem); }\r\n else if (this._medicationItem.section == 'bronchComorbidMedHist') { this._bronchComorbidMedList.push(this._medicationItem); }\r\n else if (this._medicationItem.section == 'cardiacComorbidMedHist') { this._cardiacComorbidMedList.push(this._medicationItem); }\r\n else if (this._medicationItem.section == 'cardiomComorbidMedHist') { this._cardiomComorbidMedList.push(this._medicationItem); }\r\n else if (this._medicationItem.section == 'copdComorbidMedHist') { this._copdComorbidMedList.push(this._medicationItem); }\r\n else if (this._medicationItem.section == 'renalComorbidMedHist') { this._renalComorbidMedList.push(this._medicationItem); }\r\n else if (this._medicationItem.section == 'coronarComorbidMedHist') { this._coronarComorbidMedList.push(this._medicationItem); }\r\n else if (this._medicationItem.section == 'crohnsComorbidMedHist') { this._crohnsComorbidMedList.push(this._medicationItem); }\r\n else if (this._medicationItem.section == 'diabinsipComorbidMedHist') { this._diabinsipComorbidMedList.push(this._medicationItem); }\r\n else if (this._medicationItem.section == 'dysrhytComorbidMedHist') { this._dysrhytComorbidMedList.push(this._medicationItem); }\r\n else if (this._medicationItem.section == 'epilComorbidMedHist') { this._epilComorbidMedList.push(this._medicationItem); }\r\n else if (this._medicationItem.section == 'glaucomComorbidMedHist') { this._glaucomComorbidMedList.push(this._medicationItem); }\r\n else if (this._medicationItem.section == 'haemophilComorbidMedHist') { this._haemophilComorbidMedList.push(this._medicationItem); }\r\n else if (this._medicationItem.section == 'hypothComorbidMedHist') { this._hypothComorbidMedList.push(this._medicationItem); }\r\n else if (this._medicationItem.section == 'sclerosisComorbidMedHist') { this._sclerosisComorbidMedList.push(this._medicationItem); }\r\n else if (this._medicationItem.section == 'parkinsComorbidMedHist') { this._parkinsComorbidMedList.push(this._medicationItem); }\r\n else if (this._medicationItem.section == 'rheumaComorbidMedHist') { this._rheumaComorbidMedList.push(this._medicationItem); }\r\n else if (this._medicationItem.section == 'schizoComorbidMedHist') { this._schizoComorbidMedList.push(this._medicationItem); }\r\n else if (this._medicationItem.section == 'lupusComorbidMedHist') { this._lupusComorbidMedList.push(this._medicationItem); }\r\n else if (this._medicationItem.section == 'ulceraComorbidMedHist') { this._ulceraComorbidMedList.push(this._medicationItem); }\r\n }\r\n\r\n }\r\n else { //edit existing item\r\n\r\n if (this._medicationItem.section == \"hypertensionOnTherapyMedHist\") { this.saveEditedMedItem(this._hypertensionMedList) }\r\n else if (this._medicationItem.section == \"hyperlipOnTherapyMedHist\") { this.saveEditedMedItem(this._hyperlipidaemiaMedList) }\r\n else if (this._medicationItem.section == \"requestedMedication\") { this.saveEditedMedItem(this._requestedMedList) }\r\n else if (this._medicationItem.section == \"asthmaComorbidMedHist\") { this.saveEditedMedItem(this._asthmaComorbidMedList) }\r\n else if (this._medicationItem.section == \"diabComorbidMedHist\") { this.saveEditedMedItem(this._diabComorbidMedList) }\r\n else if (this._medicationItem.section == \"hyperlipComorbidMedHist\") { this.saveEditedMedItem(this._hyperlipComorbidMedList) }\r\n else if (this._medicationItem.section == \"hypertensionComorbidMedHist\") { this.saveEditedMedItem(this._hypertensionComorbidMedList) }\r\n else if (this._medicationItem.section == 'addisComorbidMedHist') { this.saveEditedMedItem(this._addisComorbidMedList) }\r\n else if (this._medicationItem.section == 'bipolComorbidMedHist') { this.saveEditedMedItem(this._bipolComorbidMedList) }\r\n else if (this._medicationItem.section == 'bronchComorbidMedHist') { this.saveEditedMedItem(this._bronchComorbidMedList) }\r\n else if (this._medicationItem.section == 'cardiacComorbidMedHist') { this.saveEditedMedItem(this._cardiacComorbidMedList) }\r\n else if (this._medicationItem.section == 'cardiomComorbidMedHist') { this.saveEditedMedItem(this._cardiomComorbidMedList) }\r\n else if (this._medicationItem.section == 'copdComorbidMedHist') { this.saveEditedMedItem(this._copdComorbidMedList) }\r\n else if (this._medicationItem.section == 'renalComorbidMedHist') { this.saveEditedMedItem(this._renalComorbidMedList) }\r\n else if (this._medicationItem.section == 'coronarComorbidMedHist') { this.saveEditedMedItem(this._coronarComorbidMedList) }\r\n else if (this._medicationItem.section == 'crohnsComorbidMedHist') { this.saveEditedMedItem(this._crohnsComorbidMedList) }\r\n else if (this._medicationItem.section == 'diabinsipComorbidMedHist') { this.saveEditedMedItem(this._diabinsipComorbidMedList) }\r\n else if (this._medicationItem.section == 'dysrhytComorbidMedHist') { this.saveEditedMedItem(this._dysrhytComorbidMedList) }\r\n else if (this._medicationItem.section == 'epilComorbidMedHist') { this.saveEditedMedItem(this._epilComorbidMedList) }\r\n else if (this._medicationItem.section == 'glaucomComorbidMedHist') { this.saveEditedMedItem(this._glaucomComorbidMedList) }\r\n else if (this._medicationItem.section == 'haemophilComorbidMedHist') { this.saveEditedMedItem(this._haemophilComorbidMedList) }\r\n else if (this._medicationItem.section == 'hypothComorbidMedHist') { this.saveEditedMedItem(this._hypothComorbidMedList) }\r\n else if (this._medicationItem.section == 'sclerosisComorbidMedHist') { this.saveEditedMedItem(this._sclerosisComorbidMedList) }\r\n else if (this._medicationItem.section == 'parkinsComorbidMedHist') { this.saveEditedMedItem(this._parkinsComorbidMedList) }\r\n else if (this._medicationItem.section == 'rheumaComorbidMedHist') { this.saveEditedMedItem(this._rheumaComorbidMedList) }\r\n else if (this._medicationItem.section == 'schizoComorbidMedHist') { this.saveEditedMedItem(this._schizoComorbidMedList) }\r\n else if (this._medicationItem.section == 'lupusComorbidMedHist') { this.saveEditedMedItem(this._lupusComorbidMedList) }\r\n else if (this._medicationItem.section == 'ulceraComorbidMedHist') { this.saveEditedMedItem(this._ulceraComorbidMedList) }\r\n\r\n // if (this._medicationItem.section == \"hypertensionOnTherapyMedHist\") {\r\n // // Get index of edited item \r\n // let foundIndex = this._hypertensionMedList.findIndex(x => x.arrayId == this._medicationItem.arrayId);\r\n\r\n // // Update item values from form\r\n // this._hypertensionMedList[foundIndex].condCode = this.medicationForm.get('conditionCodeM').value.trim();\r\n // this._hypertensionMedList[foundIndex].icd10 = this.medicationForm.get('icd10').value.trim();\r\n // this._hypertensionMedList[foundIndex].prescriptionSvcCode = this.medicationForm.get('prescriptionSvcCode').value;\r\n // this._hypertensionMedList[foundIndex].svcCodeDescr = this.medicationForm.get('svcCodeDescr').value.trim();\r\n // this._hypertensionMedList[foundIndex].strength = this.medicationForm.get('strength').value.trim();\r\n // this._hypertensionMedList[foundIndex].dosage = this.medicationForm.get('dosage').value.trim();\r\n // this._hypertensionMedList[foundIndex].qtyPerMonth = this.medicationForm.get('qtyPerMonth').value.trim();\r\n // this._hypertensionMedList[foundIndex].numRepeats = this.medicationForm.get('numRepeats').value.trim();\r\n // }\r\n // //else if (this._medicationItem.hyperlipidaemiaTherapy == true) {\r\n // else if (this._medicationItem.section == \"hyperlipOnTherapyMedHist\") {\r\n // // Get index of edited item \r\n // let foundIndex = this._hyperlipidaemiaMedList.findIndex(x => x.arrayId == this._medicationItem.arrayId);\r\n\r\n // // Update item values from form\r\n // this._hyperlipidaemiaMedList[foundIndex].condCode = this.medicationForm.get('conditionCodeM').value.trim();\r\n // this._hyperlipidaemiaMedList[foundIndex].icd10 = this.medicationForm.get('icd10').value.trim();\r\n // this._hyperlipidaemiaMedList[foundIndex].prescriptionSvcCode = this.medicationForm.get('prescriptionSvcCode').value;\r\n // this._hyperlipidaemiaMedList[foundIndex].svcCodeDescr = this.medicationForm.get('svcCodeDescr').value;\r\n // this._hyperlipidaemiaMedList[foundIndex].strength = this.medicationForm.get('strength').value.trim();\r\n // this._hyperlipidaemiaMedList[foundIndex].dosage = this.medicationForm.get('dosage').value.trim();\r\n // this._hyperlipidaemiaMedList[foundIndex].qtyPerMonth = this.medicationForm.get('qtyPerMonth').value.trim();\r\n // this._hyperlipidaemiaMedList[foundIndex].numRepeats = this.medicationForm.get('numRepeats').value.trim();\r\n // }\r\n // else if (this._medicationItem.section == \"requestedMedication\") {\r\n // // Get index of edited item \r\n // let foundIndex = this._requestedMedList.findIndex(x => x.arrayId == this._medicationItem.arrayId);\r\n\r\n // // Update item values from form\r\n // this._requestedMedList[foundIndex].condCode = this.medicationForm.get('conditionCodeM').value.trim();\r\n // this._requestedMedList[foundIndex].icd10 = this.medicationForm.get('icd10').value.trim();\r\n // this._requestedMedList[foundIndex].prescriptionSvcCode = this.medicationForm.get('prescriptionSvcCode').value;\r\n // this._requestedMedList[foundIndex].svcCodeDescr = this.medicationForm.get('svcCodeDescr').value.trim();\r\n // this._requestedMedList[foundIndex].strength = this.medicationForm.get('strength').value.trim();\r\n // this._requestedMedList[foundIndex].dosage = this.medicationForm.get('dosage').value.trim();\r\n // this._requestedMedList[foundIndex].qtyPerMonth = this.medicationForm.get('qtyPerMonth').value.trim();\r\n // this._requestedMedList[foundIndex].numRepeats = this.medicationForm.get('numRepeats').value.trim();\r\n // }\r\n // else if (this._medicationItem.section == \"asthmaComorbidMedHist\") {\r\n // // Get index of edited item \r\n // let foundIndex = this._asthmaComorbidMedList.findIndex(x => x.arrayId == this._medicationItem.arrayId);\r\n\r\n // // Update item values from form\r\n // this._asthmaComorbidMedList[foundIndex].condCode = this.medicationForm.get('conditionCodeM').value.trim();\r\n // this._asthmaComorbidMedList[foundIndex].icd10 = this.medicationForm.get('icd10').value.trim();\r\n // this._asthmaComorbidMedList[foundIndex].prescriptionSvcCode = this.medicationForm.get('prescriptionSvcCode').value;\r\n // this._asthmaComorbidMedList[foundIndex].svcCodeDescr = this.medicationForm.get('svcCodeDescr').value.trim();\r\n // this._asthmaComorbidMedList[foundIndex].strength = this.medicationForm.get('strength').value.trim();\r\n // this._asthmaComorbidMedList[foundIndex].dosage = this.medicationForm.get('dosage').value.trim();\r\n // this._asthmaComorbidMedList[foundIndex].qtyPerMonth = this.medicationForm.get('qtyPerMonth').value.trim();\r\n // this._asthmaComorbidMedList[foundIndex].numRepeats = this.medicationForm.get('numRepeats').value.trim();\r\n // }\r\n // else if (this._medicationItem.section == \"diabComorbidMedHist\") {\r\n // // Get index of edited item \r\n // let foundIndex = this._diabComorbidMedList.findIndex(x => x.arrayId == this._medicationItem.arrayId);\r\n\r\n // // Update item values from form\r\n // this._diabComorbidMedList[foundIndex].condCode = this.medicationForm.get('conditionCodeM').value.trim();\r\n // this._diabComorbidMedList[foundIndex].icd10 = this.medicationForm.get('icd10').value.trim();\r\n // this._diabComorbidMedList[foundIndex].prescriptionSvcCode = this.medicationForm.get('prescriptionSvcCode').value;\r\n // this._diabComorbidMedList[foundIndex].svcCodeDescr = this.medicationForm.get('svcCodeDescr').value.trim();\r\n // this._diabComorbidMedList[foundIndex].strength = this.medicationForm.get('strength').value.trim();\r\n // this._diabComorbidMedList[foundIndex].dosage = this.medicationForm.get('dosage').value.trim();\r\n // this._diabComorbidMedList[foundIndex].qtyPerMonth = this.medicationForm.get('qtyPerMonth').value.trim();\r\n // this._diabComorbidMedList[foundIndex].numRepeats = this.medicationForm.get('numRepeats').value.trim();\r\n // }\r\n // else if (this._medicationItem.section == \"hyperlipComorbidMedHist\") {\r\n // // Get index of edited item \r\n // let foundIndex = this._hyperlipComorbidMedList.findIndex(x => x.arrayId == this._medicationItem.arrayId);\r\n\r\n // // Update item values from form\r\n // this._hyperlipComorbidMedList[foundIndex].condCode = this.medicationForm.get('conditionCodeM').value.trim();\r\n // this._hyperlipComorbidMedList[foundIndex].icd10 = this.medicationForm.get('icd10').value.trim();\r\n // this._hyperlipComorbidMedList[foundIndex].prescriptionSvcCode = this.medicationForm.get('prescriptionSvcCode').value;\r\n // this._hyperlipComorbidMedList[foundIndex].svcCodeDescr = this.medicationForm.get('svcCodeDescr').value.trim();\r\n // this._hyperlipComorbidMedList[foundIndex].strength = this.medicationForm.get('strength').value.trim();\r\n // this._hyperlipComorbidMedList[foundIndex].dosage = this.medicationForm.get('dosage').value.trim();\r\n // this._hyperlipComorbidMedList[foundIndex].qtyPerMonth = this.medicationForm.get('qtyPerMonth').value.trim();\r\n // this._hyperlipComorbidMedList[foundIndex].numRepeats = this.medicationForm.get('numRepeats').value.trim();\r\n // }\r\n // else if (this._medicationItem.section == \"hypertensionComorbidMedHist\") {\r\n // // Get index of edited item \r\n // let foundIndex = this._hypertensionComorbidMedList.findIndex(x => x.arrayId == this._medicationItem.arrayId);\r\n\r\n // // Update item values from form\r\n // this._hypertensionComorbidMedList[foundIndex].condCode = this.medicationForm.get('conditionCodeM').value.trim();\r\n // this._hypertensionComorbidMedList[foundIndex].icd10 = this.medicationForm.get('icd10').value.trim();\r\n // this._hypertensionComorbidMedList[foundIndex].prescriptionSvcCode = this.medicationForm.get('prescriptionSvcCode').value;\r\n // this._hypertensionComorbidMedList[foundIndex].svcCodeDescr = this.medicationForm.get('svcCodeDescr').value.trim();\r\n // this._hypertensionComorbidMedList[foundIndex].strength = this.medicationForm.get('strength').value.trim();\r\n // this._hypertensionComorbidMedList[foundIndex].dosage = this.medicationForm.get('dosage').value.trim();\r\n // this._hypertensionComorbidMedList[foundIndex].qtyPerMonth = this.medicationForm.get('qtyPerMonth').value.trim();\r\n // this._hypertensionComorbidMedList[foundIndex].numRepeats = this.medicationForm.get('numRepeats').value.trim();\r\n // }\r\n }\r\n\r\n // Set form controls for validation purposes\r\n this.setMedsFormControls();\r\n\r\n // Clear item\r\n this._medicationItem = new MedicationModel();\r\n\r\n // Clear from\r\n this.medicationForm.reset();\r\n\r\n // Close modal\r\n this._showMedicationModal = false;\r\n }\r\n }\r\n\r\n saveEditedMedItem(relevantList: MedicationModel[]) {\r\n // Get index of edited item \r\n let foundIndex = relevantList.findIndex(x => x.arrayId == this._medicationItem.arrayId);\r\n\r\n // Update item values from form\r\n relevantList[foundIndex].condCode = this.medicationForm.get('conditionCodeM').value.trim();\r\n relevantList[foundIndex].icd10 = this.medicationForm.get('icd10').value.trim();\r\n relevantList[foundIndex].prescriptionSvcCode = this.medicationForm.get('prescriptionSvcCode').value;\r\n relevantList[foundIndex].svcCodeDescr = this.medicationForm.get('svcCodeDescr').value.trim();\r\n relevantList[foundIndex].strength = this.medicationForm.get('strength').value.trim();\r\n relevantList[foundIndex].dosage = this.medicationForm.get('dosage').value.trim();\r\n relevantList[foundIndex].qtyPerMonth = this.medicationForm.get('qtyPerMonth').value.trim();\r\n relevantList[foundIndex].numRepeats = this.medicationForm.get('numRepeats').value.trim();\r\n }\r\n\r\n onRemoveMedicationItem(itemToRemove: MedicationModel) {\r\n\r\n if (itemToRemove.section == \"hypertensionOnTherapyMedHist\") { this.RemoveMedItemFromRelevantList(this._hypertensionMedList, itemToRemove) }\r\n else if (itemToRemove.section == \"hyperlipOnTherapyMedHist\") { this.RemoveMedItemFromRelevantList(this._hyperlipidaemiaMedList, itemToRemove) }\r\n else if (itemToRemove.section == \"requestedMedication\") { this.RemoveMedItemFromRelevantList(this._requestedMedList, itemToRemove) }\r\n else if (itemToRemove.section == \"asthmaComorbidMedHist\") { this.RemoveMedItemFromRelevantList(this._asthmaComorbidMedList, itemToRemove) }\r\n else if (itemToRemove.section == \"diabComorbidMedHist\") { this.RemoveMedItemFromRelevantList(this._diabComorbidMedList, itemToRemove) }\r\n else if (itemToRemove.section == \"hyperlipComorbidMedHist\") { this.RemoveMedItemFromRelevantList(this._hyperlipComorbidMedList, itemToRemove) }\r\n else if (itemToRemove.section == \"hypertensionComorbidMedHist\") { this.RemoveMedItemFromRelevantList(this._hypertensionComorbidMedList, itemToRemove) }\r\n else if (itemToRemove.section == 'addisComorbidMedHist') { this.RemoveMedItemFromRelevantList(this._addisComorbidMedList, itemToRemove) }\r\n else if (itemToRemove.section == 'bipolComorbidMedHist') { this.RemoveMedItemFromRelevantList(this._bipolComorbidMedList, itemToRemove) }\r\n else if (itemToRemove.section == 'bronchComorbidMedHist') { this.RemoveMedItemFromRelevantList(this._bronchComorbidMedList, itemToRemove) }\r\n else if (itemToRemove.section == 'cardiacComorbidMedHist') { this.RemoveMedItemFromRelevantList(this._cardiacComorbidMedList, itemToRemove) }\r\n else if (itemToRemove.section == 'cardiomComorbidMedHist') { this.RemoveMedItemFromRelevantList(this._cardiomComorbidMedList, itemToRemove) }\r\n else if (itemToRemove.section == 'copdComorbidMedHist') { this.RemoveMedItemFromRelevantList(this._copdComorbidMedList, itemToRemove) }\r\n else if (itemToRemove.section == 'renalComorbidMedHist') { this.RemoveMedItemFromRelevantList(this._renalComorbidMedList, itemToRemove) }\r\n else if (itemToRemove.section == 'coronarComorbidMedHist') { this.RemoveMedItemFromRelevantList(this._coronarComorbidMedList, itemToRemove) }\r\n else if (itemToRemove.section == 'crohnsComorbidMedHist') { this.RemoveMedItemFromRelevantList(this._crohnsComorbidMedList, itemToRemove) }\r\n else if (itemToRemove.section == 'diabinsipComorbidMedHist') { this.RemoveMedItemFromRelevantList(this._diabinsipComorbidMedList, itemToRemove) }\r\n else if (itemToRemove.section == 'dysrhytComorbidMedHist') { this.RemoveMedItemFromRelevantList(this._dysrhytComorbidMedList, itemToRemove) }\r\n else if (itemToRemove.section == 'epilComorbidMedHist') { this.RemoveMedItemFromRelevantList(this._epilComorbidMedList, itemToRemove) }\r\n else if (itemToRemove.section == 'glaucomComorbidMedHist') { this.RemoveMedItemFromRelevantList(this._glaucomComorbidMedList, itemToRemove) }\r\n else if (itemToRemove.section == 'haemophilComorbidMedHist') { this.RemoveMedItemFromRelevantList(this._haemophilComorbidMedList, itemToRemove) }\r\n else if (itemToRemove.section == 'hypothComorbidMedHist') { this.RemoveMedItemFromRelevantList(this._hypothComorbidMedList, itemToRemove) }\r\n else if (itemToRemove.section == 'sclerosisComorbidMedHist') { this.RemoveMedItemFromRelevantList(this._sclerosisComorbidMedList, itemToRemove) }\r\n else if (itemToRemove.section == 'parkinsComorbidMedHist') { this.RemoveMedItemFromRelevantList(this._parkinsComorbidMedList, itemToRemove) }\r\n else if (itemToRemove.section == 'rheumaComorbidMedHist') { this.RemoveMedItemFromRelevantList(this._rheumaComorbidMedList, itemToRemove) }\r\n else if (itemToRemove.section == 'schizoComorbidMedHist') { this.RemoveMedItemFromRelevantList(this._schizoComorbidMedList, itemToRemove) }\r\n else if (itemToRemove.section == 'lupusComorbidMedHist') { this.RemoveMedItemFromRelevantList(this._lupusComorbidMedList, itemToRemove) }\r\n else if (itemToRemove.section == 'ulceraComorbidMedHist') { this.RemoveMedItemFromRelevantList(this._ulceraComorbidMedList, itemToRemove) }\r\n\r\n //if (itemToRemove.section == \"hypertensionOnTherapyMedHist\") {\r\n // // Get index of item to be removed \r\n // let foundIndex = this._hypertensionMedList.findIndex(x => x.arrayId == itemToRemove.arrayId);\r\n\r\n // // remove item\r\n // if (foundIndex !== -1) {\r\n // this._hypertensionMedList.splice(foundIndex, 1);\r\n // }\r\n //}\r\n //else if (itemToRemove.section == \"hyperlipOnTherapyMedHist\") {\r\n // // Get index of item to be removed \r\n // let foundIndex = this._hyperlipidaemiaMedList.findIndex(x => x.arrayId == itemToRemove.arrayId);\r\n\r\n // // remove item\r\n // if (foundIndex !== -1) {\r\n // this._hyperlipidaemiaMedList.splice(foundIndex, 1);\r\n // }\r\n //}\r\n //else if (itemToRemove.section == \"requestedMedication\") {\r\n // // Get index of item to be removed \r\n // let foundIndex = this._requestedMedList.findIndex(x => x.arrayId == itemToRemove.arrayId);\r\n\r\n // // remove item\r\n // if (foundIndex !== -1) {\r\n // this._requestedMedList.splice(foundIndex, 1);\r\n // }\r\n //}\r\n //else if (itemToRemove.section == \"asthmaComorbidMedHist\") {\r\n // // Get index of item to be removed \r\n // let foundIndex = this._asthmaComorbidMedList.findIndex(x => x.arrayId == itemToRemove.arrayId);\r\n\r\n // // remove item\r\n // if (foundIndex !== -1) {\r\n // this._asthmaComorbidMedList.splice(foundIndex, 1);\r\n // }\r\n //}\r\n //else if (itemToRemove.section == \"diabComorbidMedHist\") {\r\n // // Get index of item to be removed \r\n // let foundIndex = this._diabComorbidMedList.findIndex(x => x.arrayId == itemToRemove.arrayId);\r\n\r\n // // remove item\r\n // if (foundIndex !== -1) {\r\n // this._diabComorbidMedList.splice(foundIndex, 1);\r\n // }\r\n //}\r\n //else if (itemToRemove.section == \"hyperlipComorbidMedHist\") {\r\n // // Get index of item to be removed \r\n // let foundIndex = this._hyperlipComorbidMedList.findIndex(x => x.arrayId == itemToRemove.arrayId);\r\n\r\n // // remove item\r\n // if (foundIndex !== -1) {\r\n // this._hyperlipComorbidMedList.splice(foundIndex, 1);\r\n // }\r\n //}\r\n //else if (itemToRemove.section == \"hypertensionComorbidMedHist\") {\r\n // // Get index of item to be removed \r\n // let foundIndex = this._hypertensionComorbidMedList.findIndex(x => x.arrayId == itemToRemove.arrayId);\r\n\r\n // // remove item\r\n // if (foundIndex !== -1) {\r\n // this._hypertensionComorbidMedList.splice(foundIndex, 1);\r\n // }\r\n //}\r\n\r\n // Set form controls for validation purposes\r\n this.setMedsFormControls();\r\n }\r\n\r\n RemoveMedItemFromRelevantList(relevantList: MedicationModel[], itemToRemove: MedicationModel) {\r\n // Get index of item to be removed \r\n let foundIndex = relevantList.findIndex(x => x.arrayId == itemToRemove.arrayId);\r\n // remove item\r\n if (foundIndex !== -1) {\r\n relevantList.splice(foundIndex, 1);\r\n }\r\n }\r\n\r\n setMedsFormControls() {\r\n // Set form controls for validation purposes\r\n this.hyperlipidaemiaForm.get('hyperlipidaemiaMedHist').setValue(this._hyperlipidaemiaMedList[0]);\r\n this.hypertensionForm.get('hypertensionMedHist').setValue(this._hypertensionMedList[0]);\r\n this.requestedMedicationForm.get('requestedMedList').setValue(this._requestedMedList[0]);\r\n this.comorbidForm.get('asthmaCmMedHist').setValue(this._asthmaComorbidMedList[0]);\r\n this.comorbidForm.get('diabCmMedHist').setValue(this._diabComorbidMedList[0]);\r\n this.comorbidForm.get('hyperlipCmMedHist').setValue(this._hyperlipComorbidMedList[0]);\r\n this.comorbidForm.get('hypertensionCmMedHist').setValue(this._hypertensionComorbidMedList[0]);\r\n this.comorbidForm.get('addisCmMedHist').setValue(this._addisComorbidMedList[0]);\r\n this.comorbidForm.get('bipolCmMedHist').setValue(this._bipolComorbidMedList[0]);\r\n this.comorbidForm.get('bronchCmMedHist').setValue(this._bronchComorbidMedList[0]);\r\n this.comorbidForm.get('cardiacCmMedHist').setValue(this._cardiacComorbidMedList[0]);\r\n this.comorbidForm.get('cardiomCmMedHist').setValue(this._cardiomComorbidMedList[0]);\r\n this.comorbidForm.get('copdCmMedHist').setValue(this._copdComorbidMedList[0]);\r\n this.comorbidForm.get('renalCmMedHist').setValue(this._renalComorbidMedList[0]);\r\n this.comorbidForm.get('coronarCmMedHist').setValue(this._coronarComorbidMedList[0]);\r\n this.comorbidForm.get('crohnsCmMedHist').setValue(this._crohnsComorbidMedList[0]);\r\n this.comorbidForm.get('diabinsipCmMedHist').setValue(this._diabinsipComorbidMedList[0]);\r\n this.comorbidForm.get('dysrhytCmMedHist').setValue(this._dysrhytComorbidMedList[0]);\r\n this.comorbidForm.get('epilCmMedHist').setValue(this._epilComorbidMedList[0]);\r\n this.comorbidForm.get('glaucomCmMedHist').setValue(this._glaucomComorbidMedList[0]);\r\n this.comorbidForm.get('haemophilCmMedHist').setValue(this._haemophilComorbidMedList[0]);\r\n this.comorbidForm.get('hypothCmMedHist').setValue(this._hypothComorbidMedList[0]);\r\n this.comorbidForm.get('sclerosisCmMedHist').setValue(this._sclerosisComorbidMedList[0]);\r\n this.comorbidForm.get('parkinsCmMedHist').setValue(this._parkinsComorbidMedList[0]);\r\n this.comorbidForm.get('rheumaCmMedHist').setValue(this._rheumaComorbidMedList[0]);\r\n this.comorbidForm.get('schizoCmMedHist').setValue(this._schizoComorbidMedList[0]);\r\n this.comorbidForm.get('lupusCmMedHist').setValue(this._lupusComorbidMedList[0]);\r\n this.comorbidForm.get('ulceraCmMedHist').setValue(this._ulceraComorbidMedList[0]);\r\n }\r\n\r\n onCancelMedItemForm() {\r\n this._showMedicationModal = false;\r\n }\r\n\r\n clearAll() {\r\n this.doResets();\r\n this._familyList = [];\r\n this.memberForm.reset();\r\n }\r\n\r\n doResets() {\r\n\r\n // Forms\r\n this.biometricForm.reset();\r\n this.providerForm.get('referredYN').reset();\r\n this.providerForm.get('refProvSpec').reset();\r\n this.providerForm.get('refProvid').reset();\r\n this.providerForm.get('refProvSurname').reset();\r\n this.providerForm.get('refProvNotes').reset();\r\n this.riskFactorsForm.reset();\r\n this.conditionForm.reset();\r\n this.diabetesMellitusForm.reset();\r\n this.hyperlipidaemiaForm.reset();\r\n this.hypertensionForm.reset();\r\n this.asthmaForm.reset();\r\n this.medicationForm.reset();\r\n this.requestedMedicationForm.reset();\r\n this.documentsForm.reset();\r\n this.comorbidForm.reset();\r\n this.declarationForm.reset();\r\n\r\n // Medication lists\r\n this._requestedMedList = [];\r\n this._hyperlipidaemiaMedList = [];\r\n this._hypertensionMedList = [];\r\n this._asthmaComorbidMedList = [];\r\n this._diabComorbidMedList = [];\r\n this._hyperlipComorbidMedList = [];\r\n this._hypertensionComorbidMedList = [];\r\n this._addisComorbidMedList = [];\r\n this._bipolComorbidMedList = [];\r\n this._bronchComorbidMedList = [];\r\n this._cardiacComorbidMedList = [];\r\n this._cardiomComorbidMedList = [];\r\n this._copdComorbidMedList = [];\r\n this._renalComorbidMedList = [];\r\n this._coronarComorbidMedList = [];\r\n this._crohnsComorbidMedList = [];\r\n this._diabinsipComorbidMedList = [];\r\n this._dysrhytComorbidMedList = [];\r\n this._epilComorbidMedList = [];\r\n this._glaucomComorbidMedList = [];\r\n this._haemophilComorbidMedList = [];\r\n this._hypothComorbidMedList = [];\r\n this._sclerosisComorbidMedList = [];\r\n this._parkinsComorbidMedList = [];\r\n this._rheumaComorbidMedList = [];\r\n this._schizoComorbidMedList = [];\r\n this._lupusComorbidMedList = [];\r\n this._ulceraComorbidMedList = [];\r\n\r\n // Files\r\n this._referralLetterFiles = [];\r\n this._diabPathResultFiles = [];\r\n this._hyperlipPathResultFiles = [];\r\n this._asthmaPaedFiles = [];\r\n this._asthmaFlowVolFiles = [];\r\n this._medPrescriptionFiles = [];\r\n this._additionalDocsFiles = [];\r\n }\r\n\r\n ViewSubmittedApplicationApi(application: ChronicConditionApplicationModel) {\r\n let token = localStorage.getItem(\"jwt\");\r\n\r\n const headers = new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n });\r\n\r\n return this._http.post(this._baseUrl + 'api/ChronicConditions/ViewSubmittedApplication', application, { headers: headers });\r\n }\r\n\r\n ViewSubmittedApplication(application: ChronicConditionApplicationModel) {\r\n\r\n this._sumbittedApplication = application;\r\n\r\n this._busy = true;\r\n\r\n let token = localStorage.getItem(\"jwt\");\r\n this._http.post(this._baseUrl + 'api/ChronicConditions/ViewSubmittedApplication', application,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }\r\n ).subscribe(\r\n (result: ChronicConditionApplicationModel) => {\r\n\r\n if (result.success) {\r\n this._sumbittedApplication = result;\r\n this._error = false;\r\n }\r\n else {\r\n this._sumbittedApplication = null;\r\n this._error = true;\r\n this._errorMessage = result.message;\r\n }\r\n\r\n },\r\n (error: HttpErrorResponse) => {\r\n console.log(error)\r\n this._sumbittedApplication = null;\r\n this._error = true;\r\n this._errorMessageHeading = \"Unexpected error occured\";\r\n this._errorMessage = error.message;\r\n this._busy = false;\r\n },\r\n () => {\r\n this._busy = false;\r\n }\r\n )\r\n }\r\n\r\n onSubmitFormData() {\r\n\r\n this._errorArrayArr = [];\r\n let SelectedConditions = [];\r\n\r\n // to display error messages\r\n this.memberForm.markAllAsTouched();\r\n this.providerForm.markAllAsTouched();\r\n this.biometricForm.markAllAsTouched();\r\n this.riskFactorsForm.markAllAsTouched();\r\n this.conditionForm.markAllAsTouched();\r\n this.requestedMedicationForm.markAllAsTouched();\r\n this.documentsForm.markAllAsTouched();\r\n this.comorbidForm.markAllAsTouched();\r\n this.declarationForm.markAllAsTouched();\r\n\r\n // Always validate these forms\r\n if (!this.memberForm.valid) {\r\n this._errorArrayArr.push(\"Patient\");\r\n }\r\n //if (this.providerForm.get(\"provEmail\").value.trim() == \"\") {\r\n // // Do this to display error message on control\r\n // this.providerForm.get('provEmail').setValue(null);\r\n // this.providerForm.get('provEmail').updateValueAndValidity();\r\n //}\r\n if (!this.providerForm.valid) {\r\n this._errorArrayArr.push(\"Medical Practitioner\");\r\n }\r\n if (!this.biometricForm.valid) {\r\n this._errorArrayArr.push(\"Base Biometric\");\r\n }\r\n if (!this.riskFactorsForm.valid) {\r\n this._errorArrayArr.push(\"Risk Factors\");\r\n }\r\n if (!this.conditionForm.valid) {\r\n this._errorArrayArr.push(\"Condition\");\r\n }\r\n\r\n // Only validate these forms if they are selected\r\n if (this.conditionForm.get('conditionCode').value == 'DIAB') {\r\n\r\n this.diabetesMellitusForm.markAllAsTouched();\r\n\r\n SelectedConditions.push(\"DIAB\");\r\n\r\n if (!this.diabetesMellitusForm.valid) {\r\n this._errorArrayArr.push(\"Diabetes Mellitus\");\r\n }\r\n }\r\n\r\n if (this.conditionForm.get('conditionCode').value == 'CHOL') {\r\n\r\n this.hyperlipidaemiaForm.markAllAsTouched();\r\n\r\n SelectedConditions.push(\"CHOL\");\r\n\r\n if (!this.hyperlipidaemiaForm.valid) {\r\n this._errorArrayArr.push(\"Hyperlipidaemia\");\r\n }\r\n }\r\n\r\n if (this.conditionForm.get('conditionCode').value == 'HYPER') {\r\n\r\n this.hypertensionForm.markAllAsTouched();\r\n\r\n SelectedConditions.push(\"HYPER\");\r\n\r\n if (!this.hypertensionForm.valid) {\r\n this._errorArrayArr.push(\"Hypertension\");\r\n }\r\n }\r\n\r\n if (this.conditionForm.get('conditionCode').value == 'ASTHMA') {\r\n\r\n this.asthmaForm.markAllAsTouched();\r\n\r\n SelectedConditions.push(\"ASTHMA\");\r\n\r\n if (!this.asthmaForm.valid) {\r\n this._errorArrayArr.push(\"Asthma\");\r\n }\r\n }\r\n\r\n if (!this.requestedMedicationForm.valid) {\r\n this._errorArrayArr.push(\"Requested Medications\");\r\n }\r\n if (!this.documentsForm.valid) {\r\n this._errorArrayArr.push(\"Additional Documents\");\r\n }\r\n if (!this.comorbidForm.valid) {\r\n this._errorArrayArr.push(\"Comorbid Conditions\");\r\n }\r\n if (!this.declarationForm.valid) {\r\n this._errorArrayArr.push(\"Declaration\");\r\n }\r\n\r\n if (this._errorArrayArr.length > 0) {\r\n this._errorArrayModal = true;\r\n this._errorArrayHeading = \"Invalid or missing data\";\r\n this._errorArrayMessage = \"The following sections have invalid or missing data:\";\r\n }\r\n else {\r\n this.prepareApiData(SelectedConditions);\r\n //alert(\"Validation Successful\");\r\n }\r\n }\r\n\r\n prepareApiData(SelectedConditions: string[]) {\r\n\r\n let formData: ChronicConditionApplicationModel = new ChronicConditionApplicationModel();\r\n\r\n // New application or info Update\r\n formData.currentPage = this._currentPage;\r\n\r\n // Applicable to all conditions\r\n formData.conditionApplicationNumber = null;\r\n formData.membId = this.FamilyList.filter(x => x.dependant == this.memberForm.get('dependant').value)[0].membid;\r\n formData.membEmail = this.memberForm.get('membEmail').value;;\r\n formData.provId = this.providerForm.get('provid').value;\r\n formData.provEmail = this.providerForm.get('provEmail').value;\r\n formData.referredYN = this.providerForm.get('referredYN').value;\r\n formData.refProvSpec = this.providerForm.get('refProvSpec').value;\r\n formData.refProvid = this.providerForm.get('refProvid').value;\r\n formData.refProvSurname = this.providerForm.get('refProvSurname').value;\r\n formData.refProvNotes = this.providerForm.get('refProvNotes').value;\r\n formData.referralLetterFiles = this._referralLetterFiles;\r\n formData.applicationDate = \"\";\r\n //formData.status = \"P\";\r\n\r\n // Base Biometric\r\n formData.weight = this.biometricForm.get('weight').value;\r\n formData.height = this.biometricForm.get('height').value;\r\n formData.bmi = this.biometricForm.get('bmi').value;\r\n formData.bloodPresSystolic = this.biometricForm.get('bloodPresSystolic').value;\r\n formData.bloodPresDiastolic = this.biometricForm.get('bloodPresDiastolic').value;\r\n formData.cholesterolHDL = this.biometricForm.get('cholesterolHDL').value;\r\n formData.cholesterolLDL = this.biometricForm.get('cholesterolLDL').value;\r\n formData.cholesterolTRI = this.biometricForm.get('cholesterolTRI').value;\r\n formData.cholesterolTotal = this.biometricForm.get('cholesterolTotal').value;\r\n formData.cholesterolLdlHdlRatio = this.biometricForm.get('cholesterolLdlHdlRatio').value;\r\n formData.diabetesYN = this.biometricForm.get('diabetesYN').value;\r\n formData.diabetesType = this.biometricForm.get('diabetesType').value;\r\n formData.hba1c = this.biometricForm.get('HbA1c').value;\r\n formData.ogttResult = this.biometricForm.get('ogttResult').value;\r\n formData.fastingGlucoseResult = this.biometricForm.get('fastingGlucoseResult').value;\r\n formData.randomGlucoseResult = this.biometricForm.get('randomGlucoseResult').value;\r\n formData.diabTestDate = this.biometricForm.get('diabTestDate').value;\r\n\r\n // Risk Factors \r\n formData.predisposingRiskFactors = null;\r\n formData.alcohol = this.riskFactorsForm.get('alcoholYN').value;\r\n formData.obesity = this.riskFactorsForm.get('obesityYN').value;\r\n formData.smoker = this.riskFactorsForm.get('smokerYN').value;\r\n formData.smokeInPast = this.riskFactorsForm.get('patientSmokeInPast').value;\r\n formData.cessationDate = this.riskFactorsForm.get('cessationDate').value;\r\n formData.preExistingComplications = null;\r\n formData.ischaemicHeartDisease = this.riskFactorsForm.get('heartDiseaseYN').value;\r\n formData.peripheralVascularDisease = this.riskFactorsForm.get('vascularDiseaseYN').value;\r\n formData.strokeAttacks = this.riskFactorsForm.get('strokeYN').value;\r\n\r\n // Condition Applied For\r\n formData.selectedConditions = SelectedConditions;\r\n\r\n // Diabetes Melutis\r\n formData.diabetesIcd10 = this.diabetesMellitusForm.get('diabIcd10').value;\r\n formData.diabPathResultFiles = this._diabPathResultFiles;\r\n\r\n // Hyperlipidemia\r\n formData.hyperlipidaemiaIcd10 = this.hyperlipidaemiaForm.get('hyperlipIcd10').value;\r\n formData.hyperlipidaemiatherapyYN = this.hyperlipidaemiaForm.get('hyperlipTherapyYN').value;\r\n formData.hyperlipidaemiaTherapyDuration = this.hyperlipidaemiaForm.get('therapyDuration').value;\r\n formData.hyperlipidaemiaMedHist = this._hyperlipidaemiaMedList;\r\n formData.hyperlipidaemiaAtheroscleroticYN = this.hyperlipidaemiaForm.get('atheroscleroticYN').value;\r\n formData.hyperlipPathResultFiles = this._hyperlipPathResultFiles;\r\n formData.hyperlipidaemiaHypertensionTreatmentYN = this.hyperlipidaemiaForm.get('hypertensionTreatmentYN').value;\r\n formData.hyperlipidaemiaGeneticHyperlipidaemiaYN = this.hyperlipidaemiaForm.get('geneticHyperlipidaemiaYN').value;\r\n formData.hyperlipidaemiaMaleBloodRelativeYN = this.hyperlipidaemiaForm.get('maleBloodRelativeYN').value;\r\n formData.hyperlipidaemiaFemaleBloodRelativeYN = this.hyperlipidaemiaForm.get('femaleBloodRelativeYN').value;\r\n formData.hyperlipidaemiaTendonXanthomaYN = this.hyperlipidaemiaForm.get('tendonXanthomaYN').value;\r\n\r\n // Hypertension\r\n formData.hypertensionIcd10 = this.hypertensionForm.get('hypertIcd10').value;\r\n formData.hypertensionSeverity = this.hypertensionForm.get('severity').value;\r\n formData.hypertensionTherapyYN = this.hypertensionForm.get('hypertTherapyYN').value;\r\n formData.hypertensionMedHist = this._hypertensionMedList;\r\n\r\n // Asthma\r\n formData.asthmaIcd10 = this.asthmaForm.get('asthmaIcd10').value;\r\n formData.asthmaPleakFlow = this.asthmaForm.get('asthmaPleakFlow').value;\r\n formData.asthmaYounger3YN = this.asthmaForm.get('asthmaYounger3YN').value;\r\n formData.asthmaPaedFiles = this._asthmaPaedFiles;\r\n formData.asthmaFlowVolFiles = this._asthmaFlowVolFiles;\r\n\r\n // Requested Medication\r\n formData.requestedMeds = this._requestedMedList;\r\n formData.medPrescriptionFiles = this._medPrescriptionFiles;\r\n\r\n // Additional Documents\r\n formData.additionalDocsFiles = this._additionalDocsFiles;\r\n\r\n // Comorbid\r\n formData.asthmaCmICD10 = this.comorbidForm.get('asthmaCmICD10').value;\r\n formData.asthmaCmMedList = this._asthmaComorbidMedList;\r\n formData.diabCmICD10 = this.comorbidForm.get('diabCmICD10').value;\r\n formData.diabCmMedList = this._diabComorbidMedList;\r\n formData.hyperlipCmICD10 = this.comorbidForm.get('hyperlipCmICD10').value;\r\n formData.hyperlipCmMedList = this._hyperlipComorbidMedList;\r\n formData.hypertensionCmICD10 = this.comorbidForm.get('hypertensionCmICD10').value;\r\n formData.hypertensionCmMedList = this._hypertensionComorbidMedList;\r\n formData.addisCmICD10 = this.comorbidForm.get('addisCmICD10').value;\r\n formData.addisCmMedList = this._addisComorbidMedList;\r\n formData.bipolCmICD10 = this.comorbidForm.get('bipolCmICD10').value;\r\n formData.bipolCmMedList = this._bipolComorbidMedList;\r\n formData.bronchCmICD10 = this.comorbidForm.get('bronchCmICD10').value;\r\n formData.bronchCmMedList = this._bronchComorbidMedList;\r\n formData.cardiacCmICD10 = this.comorbidForm.get('cardiacCmICD10').value;\r\n formData.cardiacCmMedList = this._cardiacComorbidMedList;\r\n formData.cardiomCmICD10 = this.comorbidForm.get('cardiomCmICD10').value;\r\n formData.cardiomCmMedList = this._cardiomComorbidMedList;\r\n formData.copdCmICD10 = this.comorbidForm.get('copdCmICD10').value;\r\n formData.copdCmMedList = this._copdComorbidMedList;\r\n formData.renalCmICD10 = this.comorbidForm.get('renalCmICD10').value;\r\n formData.renalCmMedList = this._renalComorbidMedList;\r\n formData.coronarCmICD10 = this.comorbidForm.get('coronarCmICD10').value;\r\n formData.coronarCmMedList = this._coronarComorbidMedList;\r\n formData.crohnsCmICD10 = this.comorbidForm.get('crohnsCmICD10').value;\r\n formData.crohnsCmMedList = this._crohnsComorbidMedList;\r\n formData.diabinsipCmICD10 = this.comorbidForm.get('diabinsipCmICD10').value;\r\n formData.diabinsipCmMedList = this._diabinsipComorbidMedList;\r\n formData.dysrhytCmICD10 = this.comorbidForm.get('dysrhytCmICD10').value;\r\n formData.dysrhytCmMedList = this._dysrhytComorbidMedList;\r\n formData.epilCmICD10 = this.comorbidForm.get('epilCmICD10').value;\r\n formData.epilCmMedList = this._epilComorbidMedList;\r\n formData.glaucomCmICD10 = this.comorbidForm.get('glaucomCmICD10').value;\r\n formData.glaucomCmMedList = this._glaucomComorbidMedList;\r\n formData.haemophilCmICD10 = this.comorbidForm.get('haemophilCmICD10').value;\r\n formData.haemophilCmMedList = this._haemophilComorbidMedList;\r\n formData.hypothCmICD10 = this.comorbidForm.get('hypothCmICD10').value;\r\n formData.hypothCmMedList = this._hypothComorbidMedList;\r\n formData.sclerosisCmICD10 = this.comorbidForm.get('sclerosisCmICD10').value;\r\n formData.sclerosisCmMedList = this._sclerosisComorbidMedList;\r\n formData.parkinsCmICD10 = this.comorbidForm.get('parkinsCmICD10').value;\r\n formData.parkinsCmMedList = this._parkinsComorbidMedList;\r\n formData.rheumaCmICD10 = this.comorbidForm.get('rheumaCmICD10').value;\r\n formData.rheumaCmMedList = this._rheumaComorbidMedList;\r\n formData.schizoCmICD10 = this.comorbidForm.get('schizoCmICD10').value;\r\n formData.schizoCmMedList = this._schizoComorbidMedList;\r\n formData.lupusCmICD10 = this.comorbidForm.get('lupusCmICD10').value;\r\n formData.lupusCmMedList = this._lupusComorbidMedList;\r\n formData.ulceraCmICD10 = this.comorbidForm.get('ulceraCmICD10').value;\r\n formData.ulceraCmMedList = this._ulceraComorbidMedList;\r\n\r\n this.submitToApi(formData); \r\n }\r\n\r\n submitToApi(formData: ChronicConditionApplicationModel) {\r\n\r\n this._busy = true;\r\n\r\n this._http.post(this._baseUrl + 'api/ChronicConditions/SubmitApplicationOrUpdate', formData,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this._loginService.token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n })\r\n }).subscribe(\r\n (result: ChronicConditionApplicationModel) => {\r\n if (result.success) {\r\n\r\n this._success = true;\r\n this._successMessageHeading = \"Submission Success\";\r\n\r\n if (formData.currentPage == \"ChronicCondApp\") {\r\n\r\n this._successMessage = \"Chronic condition application submitted sucessfully. You will be informed of the approval/rejection via email address \";\r\n this._successMessageBoldPart = result.provEmail;\r\n\r\n } else if (formData.currentPage == \"ChronicCondUpdate\") {\r\n\r\n this._successMessage = \"Biometric updated sucessfully.\";\r\n }\r\n\r\n //this.clearAll(); jaco\r\n }\r\n else {\r\n this._error = true;\r\n this._errorMessageHeading = \"Submission Failed\";\r\n this._errorMessage = result.message;\r\n }\r\n },\r\n (error: HttpErrorResponse) => {\r\n console.log(error)\r\n this._error = true;\r\n this._errorMessageHeading = \"Submission Failed\";\r\n this._errorMessage = error.message;\r\n this._busy = false;\r\n },\r\n () => {\r\n this._busy = false;\r\n }\r\n )\r\n }\r\n\r\n //SubmitApplication(formData: ChronicConditionApplicationModel) {\r\n // let token = localStorage.getItem(\"jwt\");\r\n\r\n // const headers = new HttpHeaders({\r\n // \"Authorization\": \"Bearer \" + token,\r\n // \"Content-Type\": \"application/json\",\r\n // \"Cache-Control\": \"no-store\",\r\n // \"Pragma\": \"no-cache\"\r\n // });\r\n\r\n // return this._http.post(this._baseUrl + 'api/ChronicConditions/SubmitApplication', formData, { headers: headers });\r\n //}\r\n\r\n GetSubmissionHistory(submissionHistory: ChronicConditionApplicationModel) {\r\n let token = localStorage.getItem(\"jwt\");\r\n\r\n const headers = new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n });\r\n\r\n return this._http.post(this._baseUrl + 'api/ChronicConditions/GetSubmissionHistory', submissionHistory, { headers: headers });\r\n }\r\n\r\n GetConditionDiags(userName: ChronicConditionDiagsModel) {\r\n let token = localStorage.getItem(\"jwt\");\r\n\r\n const headers = new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n });\r\n\r\n return this._http.post(this._baseUrl + 'api/ChronicConditions/GetConditionDiags', userName, { headers: headers });\r\n }\r\n\r\n //GetMedicationDiags(userName: ChronicConditionDiagsModel) {\r\n // let token = localStorage.getItem(\"jwt\");\r\n\r\n // const headers = new HttpHeaders({\r\n // \"Authorization\": \"Bearer \" + token,\r\n // \"Content-Type\": \"application/json\",\r\n // \"Cache-Control\": \"no-store\",\r\n // \"Pragma\": \"no-cache\"\r\n // });\r\n\r\n // return this._http.post(this._baseUrl + 'api/ChronicConditions/GetMedicationDiags', userName, { headers: headers });\r\n //}\r\n\r\n closeErrorMessage() {\r\n this._error = false;\r\n this._errorMessageHeading = \"\";\r\n this._errorMessage = \"\";\r\n }\r\n\r\n closeErrorArrayModal() {\r\n this._errorArrayModal = false;\r\n this._errorArrayHeading = \"\";\r\n this._errorArrayMessage = \"\";\r\n this._errorArrayArr = [];\r\n }\r\n\r\n closeSuccessMessage() {\r\n this._success = false;\r\n this._successMessageHeading = \"\";\r\n this._successMessage = \"\";\r\n this._successMessageBoldPart = \"\";\r\n }\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { DatePipe } from '@angular/common';\r\nimport { SecurityService } from './security.service';\r\nimport { Router } from '@angular/router';\r\nimport { HttpClient, HttpHeaders, HttpErrorResponse, HttpParams } from '@angular/common/http';\r\nimport { Recordtype1Model } from '../models/Recordtype1Model';\r\nimport { PlaceOfServiceModel } from '../models/PlaceOfServiceModel';\r\nimport { HealthplanModel } from '../models/HealthplanModel';\r\nimport { VendoridsModel } from '../models/VendoridsModel';\r\nimport { Recordtype2Model } from '../models/Recordtype2Model';\r\nimport { ServicetypesModel } from '../models/ServicetypesModel';\r\nimport { ModifierModel } from '../models/ModifierModel';\r\nimport { ToothNumbersModel } from '../models/ToothNumbersModel';\r\nimport { Recordtype5Model } from '../models/Recordtype5Model';\r\nimport { AdjustcodesModel } from '../models/AdjustcodesModel';\r\nimport { Recordtype8Model } from '../models/Recordtype8Model';\r\nimport { Recordtype4Model } from '../models/Recordtype4Model';\r\n//import { TestClaimHeaderModel } from '../models/TestClaimHeaderModel';\r\n//import { HealthplanComponent } from '../../admin/healthplan/healthplan.component';\r\nimport { Observable, from } from 'rxjs';\r\nimport { RejectionCodesModel } from '../models/RejectionCodesModel';\r\nimport { ValidationResultsModel } from '../models/ValidationResultsModel';\r\nimport { ClaimReport } from '../models/ClaimReport';\r\nimport { tryParse } from 'selenium-webdriver/http';\r\nimport { BankingDetailModel } from '../models/BankingDetailModel';\r\nimport { Objectlog } from '../models/objectlog';\r\nimport { LoginService } from './login.service';\r\nimport { FormBuilder, FormGroup, FormControl, FormArray, Validators, ValidationErrors, ValidatorFn, AbstractControl } from '@angular/forms';\r\nimport { JoyrideService } from 'ngx-joyride';\r\nimport { ClaimMasterModel } from '../models/ClaimMasterModel';\r\nimport { ClaimDetailModel } from '../models/ClaimDetailModel';\r\nimport { ProviderInfoModel } from '../models/ProviderInfoModel';\r\nimport { ProviderAndVendorInfoModel } from '../models/ProviderAndVendorInfoModel';\r\nimport { MembershipService } from './membership.service';\r\nimport { MemberEligibilityModel } from '../models/MemberEligibilityModel';\r\nimport { ValidationService } from './validation.service';\r\nimport { Diagcodes } from '../models/diagcodes';\r\nimport { ProcCodeModel } from '../models/ProcCodeModel';\r\nimport { ModifierCodeModel } from '../models/ModifierCodeModel';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ClaimCaptureService {\r\n\r\n public auditMsg: ValidationResultsModel = new ValidationResultsModel();\r\n public _disableBack: boolean = false;\r\n private _wizardOpen: boolean = false;\r\n public _errorFound: boolean = false;\r\n\r\n // Declarations for ClaimHeader\r\n public errorMsgFound: string = \"\";\r\n public currentClaimHeader: Recordtype1Model = new Recordtype1Model();\r\n public plcSvcList: PlaceOfServiceModel[] = [];\r\n //public HpCodesList: HealthplanModel[] = new HealthplanModel();\r\n public vendorIds: VendoridsModel[] = [];\r\n public dataBaseMessageProv: string;\r\n public dataBaseMessageMemb: string;\r\n public dataBaseMessageDepMemb: string;\r\n public dataBaseMessageRefProv: string;\r\n public dataBaseMessageVend: string;\r\n public dataBaseMessageAuth: string;\r\n public phSelect: string[] = ['PROFESSIONAL', 'HOSPITAL'];\r\n public ctSelect: string[] = ['PROVIDER', 'MEMBER'];\r\n public btnClick = true;\r\n public vedorFieldVissible: boolean = true;\r\n public memberNumPrefix: string;\r\n //public tempMesgHolder: any; //Jaco comment out 2024-01-05\r\n public msgFamily: string = 'Searching';\r\n public msgDependent: string = 'Searching';\r\n public displayClinicalCodes: boolean = false;\r\n public toothNumString: string;\r\n public _busy: boolean = false;\r\n public _staleDateModel: boolean = false;\r\n public _stalePeriod: number;\r\n\r\n public _bankingPrompt: boolean = false;\r\n public _openBanking: boolean = false;\r\n public _load: boolean = false;\r\n public _incorrect: boolean = false;\r\n public _incorrectProc: boolean = false;\r\n public _success: boolean = false;\r\n public fileid: number;\r\n public rec1Id: number;\r\n public _disableCancel: boolean = false;\r\n\r\n //Declarations for ClaimDetail\r\n public currentClaimDetail: Recordtype2Model = new Recordtype2Model();\r\n public claimDetailList: Recordtype2Model[] = [];\r\n public billedAmount: number = 0;\r\n public dataBaseMessageProccode: string;\r\n public listOfServiceTypes: ServicetypesModel[] = [];\r\n public btnClaimDetailDone: boolean = false;\r\n public DefaultDate: any;\r\n public showModCode: boolean = false;\r\n public showToothNum: boolean = false;\r\n public showReject: boolean = false;\r\n public dataBaseMsgMod1: string;\r\n public dataBaseMsgMod2: string;\r\n public dataBaseMsgMod3: string;\r\n public dataBaseMsgMod4: string;\r\n public modCode: ModifierModel = new ModifierModel();\r\n public toothNum: ToothNumbersModel = new ToothNumbersModel();\r\n public dataBaseMessageTooth1: string;\r\n public dataBaseMessageTooth2: string;\r\n public dataBaseMessageTooth3: string;\r\n public dataBaseMessageTooth4: string;\r\n public dataBaseMessageTooth5: string;\r\n public dataBaseMessageTooth6: string;\r\n public dataBaseMessageTooth7: string;\r\n public dataBaseMessageTooth8: string;\r\n public showNotes: boolean = false;\r\n public newBankingDetails: BankingDetailModel = new BankingDetailModel();\r\n\r\n //Declarations for DiagCodes\r\n public diagnosticCodes: Recordtype5Model = new Recordtype5Model();\r\n public findSameDiagCode: boolean = false;\r\n public findSameDiagRef: boolean = false;\r\n public diagnosticCodesList: Recordtype5Model[] = [];\r\n public dataBaseMessageDiagC1: string;\r\n public dataBaseMessageDiagC2: string;\r\n public dataBaseMessageDiagC3: string;\r\n public dataBaseMessageDiagC4: string = \"\";\r\n public returnMsg: any;\r\n\r\n //Declarations for CaptureWizard\r\n public wizardOpen: boolean = false;\r\n public enableWizardNext: boolean;\r\n public pageCount: number = 1;\r\n //private _token: string;\r\n\r\n //Declarations for Service\r\n public _webApiUnavalable: boolean = false;\r\n public SavedIdRec1: number;\r\n public SavedIdRec2: number;\r\n public fileCreated: boolean = false;\r\n public messageSaved: string;\r\n public buttonShow: boolean = true;\r\n\r\n //Declaration for Rejection codes\r\n public defualtCodesList: AdjustcodesModel[] = [];\r\n public codeLine: AdjustcodesModel = new AdjustcodesModel();\r\n public adjustmentCode: Recordtype8Model = new Recordtype8Model();\r\n public RejectList: Recordtype8Model[] = [];\r\n public rejectCode: Recordtype8Model = new Recordtype8Model();\r\n public tempIdOnEdit: number;\r\n public lobCode: RejectionCodesModel = new RejectionCodesModel();\r\n public rejectionReasons: RejectionCodesModel[] = [];\r\n\r\n //Declaration for Notes\r\n public claimNotes: Recordtype4Model = new Recordtype4Model();\r\n public notesLists: Recordtype4Model[] = [];\r\n\r\n //View Captured claims\r\n private curPage: number = 1;\r\n public claimReportTotalPages: number = 0;\r\n public _ReportList: ClaimReport[] = [];\r\n //public _ReportListTemp: ClaimReport[] = [];\r\n public _ReportListDisplay: ClaimReport[];\r\n public _showCapturedClaimsSearchForm: boolean = false;\r\n public filterCountDetails: number = 0;\r\n public filterCountNet: number = 0;\r\n //public earliestdate: string = \"\";\r\n //public latestDate: string = \"\";\r\n private capturedClaimsForm: FormGroup;\r\n\r\n // Claim Capture\r\n private _claimMasterForm: FormGroup;\r\n public get ClaimMasterForm(): FormGroup { return this._claimMasterForm; }\r\n\r\n private _claimDetailForm: FormGroup;\r\n public get ClaimDetailForm(): FormGroup { return this._claimDetailForm; }\r\n\r\n private _validationForm: FormGroup;\r\n public get ValidationForm(): FormGroup { return this._validationForm; }\r\n\r\n public _claimDetailModal: boolean = false;\r\n\r\n private _listOfServiceTypesFiltered: ServicetypesModel[] = [];\r\n public get ListOfServiceTypesFiltered(): ServicetypesModel[] { return this._listOfServiceTypesFiltered; }\r\n\r\n\r\n public _busyLoading: boolean = false;\r\n public _errorModal: boolean = false;\r\n public _errorMessage: string = \"\";\r\n public _errorMessageHeading: string = \"\";\r\n\r\n public _successModal: boolean = false;\r\n public _successMessage: string = \"\";\r\n public _successMessageHeading: string = \"\";\r\n\r\n //public _openAndDisableToothPanel: boolean = false;\r\n //public get OpenAndDisableToothPanel(): boolean { return this._openAndDisableToothPanel; }\r\n\r\n private _bankingDetailsForm: FormGroup;\r\n public get BankingDetailsForm(): FormGroup { return this._bankingDetailsForm; }\r\n\r\n public _bankingPromptModal: boolean = false;\r\n public _bankingEditModal: boolean = false;\r\n public _bankingEditWarningModal: boolean = false;\r\n private _accTypeSelect = [\"CHEQUE\", \"SAVINGS\", \"CREDIT CARD\", \"TRANSMISSION\", \"OTHER\"];\r\n public get AccTypeSelect() { return this._accTypeSelect; }\r\n\r\n public _cancelDetailModal: boolean = false;\r\n public _clearClaimModal: boolean = false;\r\n public _confirmationModal: boolean = false;\r\n\r\n private _currentClaim: ClaimMasterModel = new ClaimMasterModel();\r\n public get CurrentClaim(): ClaimMasterModel { return this._currentClaim; }\r\n\r\n private _currentClaimDetail: ClaimDetailModel = new ClaimDetailModel();\r\n public get CurrentClaimDetail(): ClaimDetailModel { return this._currentClaimDetail; }\r\n\r\n private _vendorList: VendoridsModel[] = [];\r\n public get VendorList(): VendoridsModel[] { return this._vendorList; }\r\n\r\n public HpCodesList: HealthplanModel[] = [];\r\n\r\n private _diagCodesList: Diagcodes[] = [];\r\n public get DiagCodesList(): Diagcodes[] { return this._diagCodesList; }\r\n\r\n private _toothNumberList: ToothNumbersModel[] = [];\r\n public get ToothNumberList(): ToothNumbersModel[] { return this._toothNumberList; }\r\n\r\n private _rejectionCodeList: RejectionCodesModel[] = [];\r\n public get RejectionCodeList(): RejectionCodesModel[] { return this._rejectionCodeList; }\r\n\r\n private _rejectionCodeListFiltered: RejectionCodesModel[] = [];\r\n public get RejectionCodeListFiltered(): RejectionCodesModel[] { return this._rejectionCodeListFiltered; }\r\n\r\n private _modifierCodesList: ModifierCodeModel[] = [];\r\n public get ModifierCodesList(): ModifierCodeModel[] { return this._modifierCodesList; }\r\n\r\n private _familyList: MemberEligibilityModel[] = [];\r\n public get FamilyList(): MemberEligibilityModel[] { return this._familyList; }\r\n\r\n //private _familyOpt: string = '';\r\n //public get FamilyOpt(): string { return this._familyOpt; }\r\n\r\n //private _depOpthruDt: string = '';\r\n //public get DepOpthruDt(): string { return this._depOpthruDt; }\r\n\r\n private _claimTypeSelect = [[\"P\", \"PROVIDER\"], [\"M\", \"MEMBER\"]];\r\n public get ClaimtypeSelect() { return this._claimTypeSelect; }\r\n\r\n private _profHospSelect = [[\"P\", \"PROFESSIONAL\"], [\"H\", \"HOSPITAL\"]];\r\n public get ProfHospSelect() { return this._profHospSelect; }\r\n\r\n constructor(private _router: Router, private _http: HttpClient, @Inject('BASE_URL') public _baseUrl: string, private _securityService: SecurityService, private _loginService: LoginService, private _fb: FormBuilder, private readonly joyrideService: JoyrideService, private _membershipService: MembershipService, private _validationService: ValidationService, private _datePipe: DatePipe) {\r\n \r\n this.capturedClaimsForm = this._fb.group({\r\n 'createdFrom': [null, Validators.required],\r\n 'createdTo': [null, Validators.required],\r\n 'capturedBy': [null, Validators.required]\r\n });\r\n\r\n this.ClaimMasterFormInit(); // Wrap the form creation in a method, because when we reset the form later, the values are set to null instead of '', so then we can call the method for initial values.\r\n this.BankingDetailsFormInit(); // Wrap the form creation in a method, because when we reset the form later, the values are set to null instead of '', so then we can call the method for initial values.\r\n this.ClaimDetailFormInit(); // Wrap the form creation in a method, because when we reset the form later, the values are set to null instead of '', so then we can call the method for initial values.\r\n this.ValidationFormInit(); // Wrap the form creation in a method, because when we reset the form later, the values are set to null instead of '', so then we can call the method for initial values. \r\n }\r\n\r\n ClaimMasterFormInit() {\r\n this._claimMasterForm = this._fb.group({\r\n 'hpCode': ['', Validators.required],\r\n 'profHosp': ['', Validators.required],\r\n 'provId': ['', [Validators.required, Validators.pattern(\"^[0-9]*$\"), Validators.minLength(7), Validators.maxLength(7)]],\r\n 'vendor': ['', Validators.required],\r\n 'refProvId': ['', [Validators.pattern(\"^[0-9]*$\"), /*Validators.minLength(7),*/ Validators.maxLength(7)]],\r\n 'provClaim': ['', [Validators.required, Validators.maxLength(20)]],\r\n 'policyNo': ['', Validators.required],\r\n 'dependant': ['', Validators.required],\r\n 'dateReceived': ['', [Validators.required, this._validationService.dateValidatorMaxDateToday(new Date(this.GetMinDateStr()))]],\r\n 'claimType': ['', Validators.required],\r\n 'authNo': ['', Validators.maxLength(16)],\r\n 'diag1': ['', [Validators.required, Validators.maxLength(10)]],\r\n 'diag2': ['', Validators.maxLength(10)],\r\n 'diag3': ['', Validators.maxLength(10)],\r\n 'diag4': ['', Validators.maxLength(10)],\r\n });\r\n\r\n if (this._profHospSelect.length == 1) {\r\n this._claimMasterForm.get('profHosp').setValue(this._profHospSelect[0][0]);\r\n this._claimMasterForm.get('profHosp').markAsTouched();\r\n }\r\n \r\n if (this.HpCodesList.length == 1) {\r\n this._claimMasterForm.get('hpCode').setValue(this.HpCodesList[0].code);\r\n this._claimMasterForm.get('hpCode').markAsTouched();\r\n //this.LoadServiceTypes(); move to memb search to get option\r\n }\r\n }\r\n\r\n ClaimDetailFormInit() {\r\n this._claimDetailForm = this._fb.group({\r\n 'procCode': ['', [Validators.required, Validators.maxLength(20)]],\r\n 'phCode': ['', Validators.required],\r\n 'svcDateFrom': ['', [Validators.required, this._validationService.dateValidatorMaxDateToday(new Date(this.GetMinDateStr()))]],\r\n 'svcDateTo': ['', [Validators.required, this._validationService.dateValidatorMaxDateToday(new Date(this.GetMinDateStr()))]],\r\n 'billed': ['', [Validators.required, Validators.max(99999999.99), this._validationService.decimalOrIntCustomValidator.bind(this)]], // SQL decimal(10,2)\r\n 'qty': ['', [Validators.required, Validators.max(9999.99), this._validationService.decimalOrIntCustomValidator.bind(this)]], // SQL decimal(6,2)\r\n 'rejCode': ['', Validators.maxLength(10)],\r\n 'diag': ['', Validators.required],\r\n 'tooth1': ['', Validators.maxLength(2)],\r\n 'tooth2': ['', Validators.maxLength(2)],\r\n 'tooth3': ['', Validators.maxLength(2)],\r\n 'tooth4': ['', Validators.maxLength(2)],\r\n 'tooth5': ['', Validators.maxLength(2)],\r\n 'tooth6': ['', Validators.maxLength(2)],\r\n 'tooth7': ['', Validators.maxLength(2)],\r\n 'tooth8': ['', Validators.maxLength(2)],\r\n 'modifier1': ['', Validators.maxLength(7)],\r\n 'modifier2': ['', Validators.maxLength(7)],\r\n 'modifier3': ['', Validators.maxLength(7)],\r\n 'modifier4': ['', Validators.maxLength(7)],\r\n 'note': ['', Validators.maxLength(40)],\r\n });\r\n }\r\n\r\n ValidationFormInit() {\r\n this._validationForm = this._fb.group({\r\n 'checked': [null, Validators.required],\r\n });\r\n }\r\n\r\n BankingDetailsFormInit() {\r\n this._bankingDetailsForm = this._fb.group({\r\n 'bankName': ['', [Validators.required, Validators.maxLength(30)]],\r\n 'branchCode': ['', [Validators.required, Validators.maxLength(10)]],\r\n 'accountNo': ['', [Validators.required, Validators.maxLength(20)]],\r\n 'accountType': ['', [Validators.required, Validators.maxLength(20)]]\r\n });\r\n }\r\n\r\n GetMinDateStr(): string {\r\n //locale = navigator.language; can't trust this, the browser locale is almost always en-US even though the OS is something else and even though the html date input uses the OS locale for input formatting\r\n //return new Date().toISOString().split('T')[0]; do NOT use toISOString, it uses UTC timezone (off by 8 hours or so)\r\n //return new Date(\"2000-01-01\").toLocaleDateString(); this will use the current locale, which in edge uses the OS locale, and in chrome uses the browser locale (which is almost always en-US even though the OS is something else)\r\n //return new Date(2000, 0, 1).toLocaleDateString('fr-CA'); can also pass integers to Date constructor but then remember that months start with 0 for Jan, 1 for Feb etc.\r\n //return new Date(\"2000-01-01\").toLocaleDateString('en-ZA'); problem with using en-ZA is that it returns yyyy/MM/dd. The html date input min and max attributes requires yyyy-MM-dd (dashes not slashes!)\r\n //console.log(\"getMinDate() = \" + new Date(\"2000-01-01\").toLocaleDateString('fr-CA'));\r\n let currYearMin5: number = (new Date()).getFullYear() - 5;\r\n return new Date(currYearMin5.toString() + \"-01-01\").toLocaleDateString('fr-CA')\r\n }\r\n\r\n GetTodayStr(): string {\r\n //console.log(\"getToday() = \" + new Date().toLocaleDateString('fr-CA'));\r\n return new Date().toLocaleDateString('fr-CA');\r\n }\r\n\r\n async LoadClaimCaptureSetup() {\r\n \r\n if (this.HpCodesList.length < 1) {\r\n await this.HpCodes();\r\n }\r\n\r\n if (this._diagCodesList.length < 1) {\r\n this.LoadAllDiagCodes();\r\n }\r\n\r\n if (this._toothNumberList.length < 1) {\r\n this.LoadAllToothNumbers();\r\n }\r\n\r\n if (this._rejectionCodeList.length < 1) {\r\n this.LoadRejectionCodesByLobCode();\r\n }\r\n\r\n if (this._modifierCodesList.length < 1) {\r\n this.LoadAllModifierCodes();\r\n }\r\n\r\n // Jaco 2024-09-10 Hardcode for Africa Assist\r\n let lobCode: string = this._loginService.CurrentLoggedInUser.lobcode.replace(\" \", \"\");\r\n if (lobCode.indexOf(\"J\") > -1 && lobCode.indexOf(\"AU\") > -1 && lobCode.indexOf(\"LOA\") > -1) {\r\n this._profHospSelect = [[\"H\", \"HOSPITAL\"]]; // Only HOSPITAL claim capture - not PROFESSIONAL\r\n this.HpCodesList = this.HpCodesList.filter(x => x.lobcode != \"J\"); // Only AUL and LION claim capture - not ESSE and SANLAM\r\n \r\n this.ClaimMasterFormInit();\r\n }\r\n\r\n }\r\n\r\n LoadAllModifierCodes() {\r\n\r\n this._http.get(this._baseUrl + 'api/ClaimCapture/LoadAllModifierCodes',\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n })\r\n }).\r\n subscribe((returnedList: [ModifierCodeModel]) => {\r\n this._modifierCodesList = returnedList;\r\n if (this._modifierCodesList.length < 1) {\r\n this._errorModal = true;\r\n this._errorMessageHeading = \"Failed to load setup, claims will not be captured correctly. Please refresh your browser and log in again.\";\r\n this._errorMessage = \"0 Modifier Codes loaded\";\r\n }\r\n },\r\n (error: HttpErrorResponse) => {\r\n console.log(error);\r\n this._errorModal = true;\r\n this._errorMessageHeading = \"Failed to load setup, claims will not be captured correctly. Please refresh your browser and log in again.\";\r\n this._errorMessage = error.message;\r\n },\r\n () => { });\r\n }\r\n\r\n LoadRejectionCodesByLobCode() {\r\n const params = new HttpParams().append('lobCode', this._loginService.CurrentLoggedInUser.lobcode);\r\n this._http.get(this._baseUrl + 'api/ClaimCapture/GetRejectionCodesByLobCode',\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n }),\r\n params\r\n }).\r\n subscribe((returnedList: [RejectionCodesModel]) => {\r\n this._rejectionCodeList = returnedList;\r\n if (this._rejectionCodeList.length < 1) {\r\n this._errorModal = true;\r\n this._errorMessageHeading = \"Invalid setup, claims will not be captured correctly.\";\r\n this._errorMessage = \"No rejection reason codes or LOBCODE configured for this user.\";\r\n }\r\n },\r\n (error: HttpErrorResponse) => {\r\n console.log(error);\r\n this._errorModal = true;\r\n this._errorMessageHeading = \"Failed to load setup, claims will not be captured correctly. Please refresh your browser and log in again.\";\r\n this._errorMessage = error.message;\r\n },\r\n () => { });\r\n }\r\n\r\n LoadAllDiagCodes() {\r\n\r\n this._http.get(this._baseUrl + 'api/ClaimCapture/LoadAllDiagCodes',\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n })\r\n }).\r\n subscribe((returnedList: [Diagcodes]) => {\r\n this._diagCodesList = returnedList;\r\n if (this._diagCodesList.length < 1) {\r\n this._errorModal = true;\r\n this._errorMessageHeading = \"Failed to load setup, claims will not be captured correctly. Please refresh your browser and log in again.\";\r\n this._errorMessage = \"0 Diagnosis Codes loaded\";\r\n }\r\n },\r\n (error: HttpErrorResponse) => {\r\n console.log(error);\r\n this._errorModal = true;\r\n this._errorMessageHeading = \"Failed to load setup, claims will not be captured correctly. Please refresh your browser and log in again.\";\r\n this._errorMessage = error.message;\r\n },\r\n () => { });\r\n }\r\n\r\n LoadAllToothNumbers() {\r\n this._http.get(this._baseUrl + 'api/ClaimCapture/LoadAllToothNumbers',\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n })\r\n }).\r\n subscribe((returnedList: [ToothNumbersModel]) => {\r\n this._toothNumberList = returnedList;\r\n if (this._toothNumberList.length < 1) {\r\n this._errorModal = true;\r\n this._errorMessageHeading = \"Failed to load setup, claims will not be captured correctly. Please refresh your browser and log in again.\";\r\n this._errorMessage = \"0 Tooth numbers loaded\";\r\n }\r\n },\r\n (error: HttpErrorResponse) => {\r\n console.log(error);\r\n this._errorModal = true;\r\n this._errorMessageHeading = \"Failed to load setup, claims will not be captured correctly. Please refresh your browser and log in again.\";\r\n this._errorMessage = error.message;\r\n },\r\n () => { });\r\n }\r\n\r\n TrimClaimMasterValue(inputValue: string) {\r\n this._claimMasterForm.get(inputValue).setValue(this._claimMasterForm.get(inputValue).value.trim());\r\n }\r\n\r\n ValidateDiagCode(controlName: string) {\r\n this._claimMasterForm.get(controlName).setValue(this._claimMasterForm.get(controlName).value.trim());\r\n\r\n let diagCodes: Diagcodes[] = this._diagCodesList.filter(x => x.code.toUpperCase() == this._claimMasterForm.get(controlName).value.toUpperCase());\r\n\r\n if (diagCodes.length > 0) {\r\n\r\n if (controlName == 'diag1') {\r\n this._claimMasterForm.get(controlName).setValue(diagCodes[0].code);\r\n this._currentClaim.diag1 = diagCodes[0].code;\r\n this._currentClaim.diag1desc = diagCodes[0].desc;\r\n } else if (controlName == 'diag2') {\r\n this._claimMasterForm.get(controlName).setValue(diagCodes[0].code);\r\n this._currentClaim.diag2 = diagCodes[0].code;\r\n this._currentClaim.diag2desc = diagCodes[0].desc;\r\n } else if (controlName == 'diag3') {\r\n this._claimMasterForm.get(controlName).setValue(diagCodes[0].code);\r\n this._currentClaim.diag3 = diagCodes[0].code;\r\n this._currentClaim.diag3desc = diagCodes[0].desc;\r\n } else if (controlName == 'diag4') {\r\n this._claimMasterForm.get(controlName).setValue(diagCodes[0].code);\r\n this._currentClaim.diag4 = diagCodes[0].code;\r\n this._currentClaim.diag4desc = diagCodes[0].desc;\r\n } //else if (controlName == 'diag5') {\r\n // this._claimMasterForm.get(controlName).setValue(diagCodes[0].code);\r\n // this._currentClaim.diag5 = diagCodes[0].code;\r\n // this._currentClaim.diag5desc = diagCodes[0].description;\r\n //}\r\n } else {\r\n if (controlName == 'diag1') {\r\n this._currentClaim.diag1 = \"\";\r\n this._currentClaim.diag1desc = \"\";\r\n this._claimMasterForm.get(controlName).setErrors({ 'incorrect': true });\r\n } else if (controlName == 'diag2') {\r\n this._currentClaim.diag2 = \"\";\r\n this._currentClaim.diag2desc = \"\";\r\n if (this._claimMasterForm.get(controlName).value != '') {\r\n this._claimMasterForm.get(controlName).setErrors({ 'incorrect': true });\r\n }\r\n } else if (controlName == 'diag3') {\r\n this._currentClaim.diag3 = \"\";\r\n this._currentClaim.diag3desc = \"\";\r\n if (this._claimMasterForm.get(controlName).value != '') {\r\n this._claimMasterForm.get(controlName).setErrors({ 'incorrect': true });\r\n }\r\n } else if (controlName == 'diag4') {\r\n this._currentClaim.diag4 = \"\";\r\n this._currentClaim.diag4desc = \"\";\r\n if (this._claimMasterForm.get(controlName).value != '') {\r\n this._claimMasterForm.get(controlName).setErrors({ 'incorrect': true });\r\n }\r\n } //else if (controlName == 'diag5') {\r\n // this._currentClaim.diag5 = \"\";\r\n // this._currentClaim.diag5desc = \"\";\r\n // if (this._claimMasterForm.get(controlName).value != '') {\r\n // this._claimMasterForm.get(controlName).setErrors({ 'incorrect': true });\r\n // }\r\n //}\r\n }\r\n }\r\n\r\n ValidateToothNo(controlName: string) {\r\n\r\n this._claimDetailForm.get(controlName).setValue(this._claimDetailForm.get(controlName).value.trim()); //trim\r\n\r\n let toothNumbers: ToothNumbersModel[] = this._toothNumberList.filter(x => x.toothNum == this._claimDetailForm.get(controlName).value); //search list\r\n\r\n if (toothNumbers.length > 0) {\r\n\r\n if (controlName == 'tooth1') {\r\n this._currentClaimDetail.tooth1 = toothNumbers[0].toothNum;\r\n this._currentClaimDetail.tooth1Desc = toothNumbers[0].toothNumDesc;\r\n } else if (controlName == 'tooth2') {\r\n this._currentClaimDetail.tooth2 = toothNumbers[0].toothNum;\r\n this._currentClaimDetail.tooth2Desc = toothNumbers[0].toothNumDesc;\r\n } else if (controlName == 'tooth3') {\r\n this._currentClaimDetail.tooth3 = toothNumbers[0].toothNum;\r\n this._currentClaimDetail.tooth3Desc = toothNumbers[0].toothNumDesc;\r\n } else if (controlName == 'tooth4') {\r\n this._currentClaimDetail.tooth4 = toothNumbers[0].toothNum;\r\n this._currentClaimDetail.tooth4Desc = toothNumbers[0].toothNumDesc;\r\n } else if (controlName == 'tooth5') {\r\n this._currentClaimDetail.tooth5 = toothNumbers[0].toothNum;\r\n this._currentClaimDetail.tooth5Desc = toothNumbers[0].toothNumDesc;\r\n } else if (controlName == 'tooth6') {\r\n this._currentClaimDetail.tooth6 = toothNumbers[0].toothNum;\r\n this._currentClaimDetail.tooth6Desc = toothNumbers[0].toothNumDesc;\r\n } else if (controlName == 'tooth7') {\r\n this._currentClaimDetail.tooth7 = toothNumbers[0].toothNum;\r\n this._currentClaimDetail.tooth7Desc = toothNumbers[0].toothNumDesc;\r\n } else if (controlName == 'tooth8') {\r\n this._currentClaimDetail.tooth8 = toothNumbers[0].toothNum;\r\n this._currentClaimDetail.tooth8Desc = toothNumbers[0].toothNumDesc;\r\n }\r\n } else {\r\n if (controlName == 'tooth1') {\r\n this._currentClaimDetail.tooth1 = \"\";\r\n this._currentClaimDetail.tooth1Desc = \"\";\r\n } else if (controlName == 'tooth2') {\r\n this._currentClaimDetail.tooth2 = \"\";\r\n this._currentClaimDetail.tooth2Desc = \"\";\r\n } else if (controlName == 'tooth3') {\r\n this._currentClaimDetail.tooth3 = \"\";\r\n this._currentClaimDetail.tooth3Desc = \"\";\r\n } else if (controlName == 'tooth4') {\r\n this._currentClaimDetail.tooth4 = \"\";\r\n this._currentClaimDetail.tooth4Desc = \"\";\r\n } else if (controlName == 'tooth5') {\r\n this._currentClaimDetail.tooth5 = \"\";\r\n this._currentClaimDetail.tooth5Desc = \"\";\r\n } else if (controlName == 'tooth6') {\r\n this._currentClaimDetail.tooth6 = \"\";\r\n this._currentClaimDetail.tooth6Desc = \"\";\r\n } else if (controlName == 'tooth7') {\r\n this._currentClaimDetail.tooth7 = \"\";\r\n this._currentClaimDetail.tooth7Desc = \"\";\r\n } else if (controlName == 'tooth8') {\r\n this._currentClaimDetail.tooth8 = \"\";\r\n this._currentClaimDetail.tooth8Desc = \"\";\r\n }\r\n\r\n if (this._claimDetailForm.get(controlName).value != '') {\r\n this._claimDetailForm.get(controlName).setErrors({ 'incorrect': true });\r\n }\r\n }\r\n\r\n }\r\n\r\n GetRefProvSpecAndName() {\r\n\r\n this.ClearRefProvHelpers();\r\n\r\n this._claimMasterForm.get(\"refProvId\").setValue(this._claimMasterForm.get(\"refProvId\").value.trim());\r\n\r\n if (this._claimMasterForm.get(\"refProvId\").valid) {\r\n // We know now field is blank OR length is not more than 7 and it is a number, but we have to manually valuate the min length (if min length is handled in form declaration, then error message is displayed while user is typing)\r\n if (this._claimMasterForm.get(\"refProvId\").value.length > 0 && this._claimMasterForm.get(\"refProvId\").value.length < 7)\r\n this._claimMasterForm.get('refProvId').setErrors({ 'incorrect': true });\r\n }\r\n\r\n if (this._claimMasterForm.get(\"refProvId\").valid && this._claimMasterForm.get(\"refProvId\").value != \"\") {\r\n\r\n this._busyLoading = true;\r\n\r\n const params = new HttpParams().append('provid', this._claimMasterForm.get(\"refProvId\").value);\r\n this._http.get(this._baseUrl + 'api/ClaimCapture/GetRefProvSpecAndName',\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n }),\r\n params\r\n }\r\n ).subscribe(\r\n (provInfo: ProviderInfoModel) => {\r\n if (provInfo.provid != null && provInfo.provid != \"\") {\r\n this._currentClaim.refProvName = provInfo.lastName;\r\n this._currentClaim.refProvSpec = provInfo.specCode;\r\n this._currentClaim.refProvSpecDescr = provInfo.specCodeDescr;\r\n } else {\r\n this._currentClaim.refProvName = this._claimMasterForm.get(\"refProvId\").value;\r\n this._currentClaim.refProvSpec = \"\";\r\n this._currentClaim.refProvSpecDescr = \"\";\r\n }\r\n },\r\n (error: HttpErrorResponse) => {\r\n console.log(error);\r\n this._busyLoading = false;\r\n this._errorModal = true;\r\n this._errorMessageHeading = \"Referring Provider validation failed\";\r\n this._errorMessage = error.message;\r\n },\r\n () => {\r\n this._busyLoading = false;\r\n });\r\n }\r\n }\r\n\r\n ClearRefProvHelpers() {\r\n this._currentClaim.refProvName = \"\";\r\n this._currentClaim.refProvSpec = \"\";\r\n this._currentClaim.refProvSpecDescr = \"\";\r\n }\r\n\r\n GetProvSpecAndNameAndVendors() {\r\n\r\n this._claimMasterForm.get(\"provId\").setValue(this._claimMasterForm.get(\"provId\").value.trim());\r\n\r\n this.ClearTreatingProvHelpers();\r\n this._vendorList = [];\r\n this._claimMasterForm.get(\"vendor\").reset();\r\n\r\n if (this._claimMasterForm.get(\"provId\").valid) {\r\n\r\n this._busyLoading = true;\r\n\r\n const params = new HttpParams().append('provid', this._claimMasterForm.get(\"provId\").value);\r\n this._http.get(this._baseUrl + 'api/ClaimCapture/GetProvSpecAndNameAndVendors',\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n }),\r\n params\r\n }\r\n ).subscribe(\r\n (provInfo: ProviderAndVendorInfoModel) => {\r\n\r\n if (provInfo.provid != null && provInfo.provid != \"\") {\r\n\r\n this._currentClaim.provName = provInfo.lastName;\r\n this._currentClaim.provSpec = provInfo.specCode;\r\n this._currentClaim.provSpecDescr = provInfo.specCodeDescr;\r\n this._vendorList = provInfo.vendors;\r\n\r\n if (this._vendorList.length == 1) {\r\n this._claimMasterForm.get('vendor').setValue(this._vendorList[0].vendor);\r\n }\r\n else if (this._vendorList.length < 1) {\r\n let vend: VendoridsModel = new VendoridsModel();\r\n vend.vendor = this._claimMasterForm.get(\"provId\").value;\r\n vend.displayItem = this._claimMasterForm.get(\"provId\").value;\r\n this._vendorList.push(vend);\r\n this._claimMasterForm.get('vendor').setValue(this._vendorList[0].vendor);\r\n }\r\n\r\n }\r\n else {\r\n this._currentClaim.provName = this._claimMasterForm.get(\"provId\").value;\r\n let vend: VendoridsModel = new VendoridsModel();\r\n vend.vendor = this._claimMasterForm.get(\"provId\").value;\r\n vend.displayItem = this._claimMasterForm.get(\"provId\").value;\r\n this._vendorList.push(vend);\r\n this._claimMasterForm.get('vendor').setValue(this._vendorList[0].vendor);\r\n }\r\n //this._claimMasterForm.get('vendor').markAsTouched();\r\n },\r\n (error: HttpErrorResponse) => {\r\n console.log(error);\r\n this._busyLoading = false;\r\n this._errorModal = true;\r\n this._errorMessageHeading = \"Provider validation failed\";\r\n this._errorMessage = error.message;\r\n },\r\n () => {\r\n this._busyLoading = false;\r\n });\r\n }\r\n }\r\n\r\n ClearTreatingProvHelpers() {\r\n this._currentClaim.provName = \"\";\r\n this._currentClaim.provSpec = \"\";\r\n this._currentClaim.provSpecDescr = \"\";\r\n }\r\n\r\n ValidatePolicyNumber() {\r\n\r\n this._claimMasterForm.get(\"policyNo\").setValue(this._claimMasterForm.get(\"policyNo\").value.trim());\r\n\r\n this._currentClaim.familyOpt = \"\";\r\n this._familyList = [];\r\n this._currentClaim.depOpthruDt = \"\";\r\n this._claimMasterForm.get(\"dependant\").reset();\r\n\r\n if (this._claimMasterForm.get(\"policyNo\").valid) {\r\n\r\n this._busyLoading = true;\r\n\r\n this._membershipService.SearchEligibleMemberApi(this._claimMasterForm.get(\"policyNo\").value, '', '', \"1900/01/01\", this._claimMasterForm.get(\"hpCode\").value)\r\n .subscribe(\r\n (results: MemberEligibilityModel[]) => {\r\n\r\n results.forEach((el) => {\r\n if (el.hpcode == this._claimMasterForm.get(\"hpCode\").value) { // to not include DRUM members (or any old hpcodes)\r\n this._familyList.push(el);\r\n }\r\n })\r\n\r\n if (this._familyList.length > 0 /*&& this._familyList[0].hpcode == this._appService.ClaimCaptureService.currentClaimHeader.hpCode*/) {\r\n\r\n this._currentClaim.familyOpt = this._familyList[0].opt;\r\n this.LoadServiceTypes();\r\n this._claimMasterForm.get('policyNo').setErrors(null);\r\n\r\n if (this._familyList.length == 1) {\r\n this._claimMasterForm.get('dependant').setValue(this._familyList[0].dependant);\r\n this._claimMasterForm.get('dependant').markAsTouched();\r\n this.CheckDependantThruDate();\r\n }\r\n\r\n }\r\n else {\r\n this._claimMasterForm.get('policyNo').setErrors({ 'incorrect': true });\r\n }\r\n\r\n },\r\n (error: HttpErrorResponse) => {\r\n console.log(error)\r\n this._claimMasterForm.get('policyNo').setErrors({ 'incorrect': true });\r\n this._busyLoading = false;\r\n this._errorModal = true;\r\n this._errorMessageHeading = \"Policy number validation failed\";\r\n this._errorMessage = \"Please retype the policy number and click away to re-validate. \" + error.message;\r\n },\r\n () => {\r\n this._busyLoading = false;\r\n }\r\n )\r\n }\r\n }\r\n\r\n CheckDependantThruDate() {\r\n if (this._familyList.length > 0 && this._claimMasterForm.get('dependant').value != null) {\r\n if (this._familyList.filter(x => x.dependant == this._claimMasterForm.get('dependant').value)[0].opthrudt != \"N/A\") {\r\n this._currentClaim.depOpthruDt = \"Termination Date: \" + this._familyList.filter(x => x.dependant == this._claimMasterForm.get('dependant').value)[0].opthrudt;\r\n }\r\n }\r\n }\r\n\r\n ClaimTypeChanged() {\r\n\r\n this._claimMasterForm.get('claimType').markAsTouched(); // To prevent error in console\r\n\r\n if (this._claimMasterForm.get('claimType').value == 'P' && !this._claimMasterForm.get('vendor').valid) {\r\n this._errorModal = true;\r\n this._errorMessageHeading = \"Invalid\";\r\n this._errorMessage = \"Please select a valid Group/Payment Practice first.\"\r\n this._claimMasterForm.get('claimType').reset();\r\n\r\n } else if (this._claimMasterForm.get('claimType').value == 'M' && !this._claimMasterForm.get('policyNo').valid) {\r\n this._errorModal = true;\r\n this._errorMessageHeading = \"Invalid\";\r\n this._errorMessage = \"Please enter a valid Policy Number first.\"\r\n this._claimMasterForm.get('claimType').reset();\r\n\r\n } else if (this._claimMasterForm.get('claimType').value == 'P' || this._claimMasterForm.get('claimType').value == 'M') {\r\n\r\n this._bankingPromptModal = true;\r\n }\r\n }\r\n\r\n TrimBankingDetailsValue(inputValue: string) {\r\n this._bankingDetailsForm.get(inputValue).setValue(this._bankingDetailsForm.get(inputValue).value.trim());\r\n }\r\n\r\n UpdateBankingDetailsNew() {\r\n\r\n this._bankingEditWarningModal = false;\r\n this._busyLoading = true;\r\n\r\n this.newBankingDetails.user = this._loginService.CurrentLoggedInUser.username;\r\n this.newBankingDetails.hpcode = this._claimMasterForm.get('hpCode').value;\r\n this.newBankingDetails.claimType = this._claimMasterForm.get('claimType').value;\r\n this.newBankingDetails.bankName = this._bankingDetailsForm.get('bankName').value;\r\n this.newBankingDetails.branchCode = this._bankingDetailsForm.get('branchCode').value;\r\n this.newBankingDetails.accountNo = this._bankingDetailsForm.get('accountNo').value;\r\n this.newBankingDetails.accType = this._bankingDetailsForm.get('accountType').value;\r\n\r\n if (this._claimMasterForm.get('claimType').value == 'M') {\r\n this.newBankingDetails.mainPolicyNo = this._claimMasterForm.get('policyNo').value;\r\n }\r\n else if (this._claimMasterForm.get('claimType').value == 'P') {\r\n this.newBankingDetails.provId = this._claimMasterForm.get('vendor').value;\r\n }\r\n\r\n this._http.post(this._baseUrl + 'api/ClaimCapture/UpdateBankingDetails', this.newBankingDetails, {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n })\r\n }).subscribe((result: ValidationResultsModel) => {\r\n\r\n if (result.valid == true) {\r\n this._successModal = true;\r\n this._successMessageHeading = \"Success\";\r\n if (this._claimMasterForm.get('claimType').value == 'M') {\r\n this._successMessage = \"Member banking details updated successfully.\";\r\n }\r\n else {\r\n this._successMessage = \"A request has been sent to update the provider's banking details.\";\r\n }\r\n } else {\r\n this._errorModal = true;\r\n this._errorMessageHeading = \"Error\";\r\n this._errorMessage = \"Banking details update failed: \" + result.message;\r\n }\r\n\r\n },\r\n (error: HttpErrorResponse) => {\r\n console.log(error);\r\n this._busyLoading = false;\r\n this._errorModal = true;\r\n this._errorMessageHeading = \"Error\";\r\n this._errorMessage = \"Banking details update failed: \" + error.message;\r\n },\r\n () => {\r\n this._busyLoading = false;\r\n });\r\n }\r\n\r\n ClearClaim() {\r\n this._vendorList = [];\r\n this._familyList = [];\r\n this._currentClaim = new ClaimMasterModel();\r\n this._currentClaimDetail = new ClaimDetailModel();\r\n this.DisableUsedDiagFields(); // Do before initializing the form, otherwise enable doesnt work. Todo: check why disabled controls are not enabled when the form is re-intialized\r\n this._claimMasterForm.reset();\r\n this.ClaimMasterFormInit();\r\n this.ValidationFormInit(); \r\n \r\n //// Set hpcode if there is only one - moved this to ClaimMasterFormInit()\r\n //if (this.HpCodesList.length == 1) {\r\n // this._claimMasterForm.get('hpCode').setValue(this.HpCodesList[0].code);\r\n // this._claimMasterForm.get('hpCode').markAsTouched();\r\n // this.LoadServiceTypes(); // load ServiceTypes for this hpcode\r\n //}\r\n this._clearClaimModal = false; \r\n }\r\n\r\n LoadServiceTypes() {\r\n \r\n const params = new HttpParams()\r\n .set('hpCode', this._claimMasterForm.get(\"hpCode\").value)\r\n .set('opt', this._currentClaim.familyOpt);\r\n\r\n this._http.get(this._baseUrl + 'api/ClaimCapture/GetPhCodesByHpCodeAndOpt',\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n }),\r\n params\r\n }).\r\n subscribe((returnedList: [ServicetypesModel]) => {\r\n this.listOfServiceTypes = returnedList;\r\n if (this.listOfServiceTypes.length < 1) {\r\n this._errorModal = true;\r\n this._errorMessageHeading = \"Missing setup - no Service Types configured for this Fund.\";\r\n this._errorMessage = \"0 Service Types loaded\";\r\n }\r\n },\r\n (error: HttpErrorResponse) => {\r\n console.log(error);\r\n this._errorModal = true;\r\n this._errorMessageHeading = \"Failed to load setup, claims will not be captured correctly. Please refresh your browser and log in again.\";\r\n this._errorMessage = Object.keys(error.error.errors)[0] + \": \" + error.error.errors[Object.keys(error.error.errors)[0]];\r\n },\r\n () => { });\r\n }\r\n\r\n NewEditClaimDetailLine(claimLine: ClaimDetailModel) {\r\n\r\n if (!this._claimMasterForm.valid) {\r\n\r\n //console.log(this._claimMasterForm);\r\n this._claimMasterForm.markAllAsTouched(); // to display error messages\r\n this._errorModal = true;\r\n this._errorMessageHeading = \"Incomplete Claim Header\";\r\n this._errorMessage = \"Please ensure that all non-optional Claim Header fields contains valid data.\";\r\n\r\n } else {\r\n\r\n // Initialise for new and edit\r\n this._claimDetailForm.reset();\r\n this.ClaimDetailFormInit();\r\n\r\n // Prevent the accordion's error on the clrAccordionPanelOpen directive\r\n this._claimDetailForm.get('rejCode').markAsTouched(); \r\n this._claimDetailForm.get('tooth1').markAsTouched();\r\n this._claimDetailForm.get('tooth2').markAsTouched();\r\n this._claimDetailForm.get('tooth3').markAsTouched();\r\n this._claimDetailForm.get('tooth4').markAsTouched();\r\n this._claimDetailForm.get('tooth5').markAsTouched();\r\n this._claimDetailForm.get('tooth6').markAsTouched();\r\n this._claimDetailForm.get('tooth7').markAsTouched();\r\n this._claimDetailForm.get('tooth8').markAsTouched();\r\n this._claimDetailForm.get('modifier1').markAsTouched();\r\n this._claimDetailForm.get('modifier2').markAsTouched();\r\n this._claimDetailForm.get('modifier3').markAsTouched();\r\n this._claimDetailForm.get('modifier4').markAsTouched();\r\n this._claimDetailForm.get('note').markAsTouched();\r\n\r\n // Filter list of service types based on HPCODE and PROF/HOSP \r\n this._listOfServiceTypesFiltered = this.listOfServiceTypes.filter(x => x.type == this._claimMasterForm.get('profHosp').value || x.type == \"A\");\r\n\r\n // Filter list of rejection codes based on HPCODE selected\r\n let claimLobCode = this.HpCodesList.filter(x => x.code == this._claimMasterForm.get('hpCode').value);\r\n this._rejectionCodeListFiltered = this._rejectionCodeList.filter(x => x.lobCode.trim() == claimLobCode[0].lobcode);\r\n\r\n\r\n if (claimLine == undefined || claimLine == null) { // New line\r\n\r\n // Initialise\r\n this._currentClaimDetail = new ClaimDetailModel();\r\n \r\n }\r\n else { // Existing line\r\n \r\n this._currentClaimDetail = Object.assign({}, claimLine); //Pass by value (not by reference) so that we don't change the original detail line if the user cancel the edit\r\n \r\n setTimeout(() => { // Timeout to prevent accordion dirty check console error\r\n this._claimDetailForm.get('procCode').setValue(this._currentClaimDetail.procCode);\r\n this._claimDetailForm.get('phCode').setValue(this._currentClaimDetail.phCode);\r\n this._claimDetailForm.get('svcDateFrom').setValue(this._currentClaimDetail.svcDateFrom);\r\n this._claimDetailForm.get('svcDateTo').setValue(this._currentClaimDetail.svcDateTo);\r\n this._claimDetailForm.get('billed').setValue(this._currentClaimDetail.billed);\r\n this._claimDetailForm.get('qty').setValue(this._currentClaimDetail.qty);\r\n this._claimDetailForm.get('diag').setValue(this._currentClaimDetail.diag);\r\n this._claimDetailForm.get('rejCode').setValue(this._currentClaimDetail.rejCode);\r\n this._claimDetailForm.get('tooth1').setValue(this._currentClaimDetail.tooth1);\r\n this._claimDetailForm.get('tooth2').setValue(this._currentClaimDetail.tooth2);\r\n this._claimDetailForm.get('tooth3').setValue(this._currentClaimDetail.tooth3);\r\n this._claimDetailForm.get('tooth4').setValue(this._currentClaimDetail.tooth4);\r\n this._claimDetailForm.get('tooth5').setValue(this._currentClaimDetail.tooth5);\r\n this._claimDetailForm.get('tooth6').setValue(this._currentClaimDetail.tooth6);\r\n this._claimDetailForm.get('tooth7').setValue(this._currentClaimDetail.tooth7);\r\n this._claimDetailForm.get('tooth8').setValue(this._currentClaimDetail.tooth8);\r\n this._claimDetailForm.get('modifier1').setValue(this._currentClaimDetail.modifier1);\r\n this._claimDetailForm.get('modifier2').setValue(this._currentClaimDetail.modifier2);\r\n this._claimDetailForm.get('modifier3').setValue(this._currentClaimDetail.modifier3);\r\n this._claimDetailForm.get('modifier4').setValue(this._currentClaimDetail.modifier4);\r\n this._claimDetailForm.get('note').setValue(this._currentClaimDetail.note);\r\n }, 0); \r\n\r\n this._claimDetailForm.markAllAsTouched(); \r\n }\r\n\r\n // Show form\r\n this._claimDetailModal = true;\r\n }\r\n }\r\n\r\n CancelDetailModal() {\r\n\r\n this._currentClaimDetail = new ClaimDetailModel(); // clear\r\n this._cancelDetailModal = false;\r\n this._claimDetailModal = false;\r\n\r\n }\r\n\r\n SaveClaimDetailLine() {\r\n\r\n this._claimDetailForm.markAllAsTouched(); // to display error messages\r\n\r\n if (!this._claimDetailForm.valid) {\r\n\r\n this._errorModal = true;\r\n this._errorMessageHeading = \"Incomplete Claim Details\";\r\n this._errorMessage = \"Please ensure that all non-optional Claim Detail fields contains valid data.\";\r\n\r\n } else\r\n if (this._claimDetailForm.get('svcDateFrom').value > this._claimDetailForm.get('svcDateTo').value) {\r\n \r\n this._errorModal = true;\r\n this._errorMessageHeading = \"Incorrect Claim Details\";\r\n this._errorMessage = \"Service From Date cannot be after service Service To Date\";\r\n\r\n } else {\r\n\r\n this._currentClaimDetail.procCode = this._claimDetailForm.get('procCode').value;\r\n //this._currentClaimDetail.procCodeDesc = this._currentClaimDetail.procCodeDesc;\r\n this._currentClaimDetail.phCode = this._claimDetailForm.get('phCode').value;\r\n this._currentClaimDetail.phCodeDesc = this.ListOfServiceTypesFiltered.filter(x => x.phCode == this._claimDetailForm.get('phCode').value)[0].phDesc;\r\n this._currentClaimDetail.svcDateFrom = this._claimDetailForm.get('svcDateFrom').value;\r\n this._currentClaimDetail.svcDateTo = this._claimDetailForm.get('svcDateTo').value;\r\n this._currentClaimDetail.billed = this._claimDetailForm.get('billed').value;\r\n this._currentClaimDetail.qty = this._claimDetailForm.get('qty').value;\r\n this._currentClaimDetail.diag = this._claimDetailForm.get('diag').value;\r\n\r\n if (this._claimDetailForm.get('diag').value == this._currentClaim.diag1 && this._currentClaim.diag1 != \"\") { this._currentClaimDetail.diagDesc = this._currentClaim.diag1desc; }\r\n else if (this._claimDetailForm.get('diag').value == this._currentClaim.diag2 && this._currentClaim.diag2 != \"\") { this._currentClaimDetail.diagDesc = this._currentClaim.diag2desc; }\r\n else if (this._claimDetailForm.get('diag').value == this._currentClaim.diag3 && this._currentClaim.diag3 != \"\") { this._currentClaimDetail.diagDesc = this._currentClaim.diag3desc; }\r\n else if (this._claimDetailForm.get('diag').value == this._currentClaim.diag4 && this._currentClaim.diag4 != \"\") { this._currentClaimDetail.diagDesc = this._currentClaim.diag4desc; }\r\n //else if (this._claimDetailForm.get('diag').value == this._currentClaim.diag5 && this._currentClaim.diag5 != \"\") { this._currentClaimDetail.diagDesc = this._currentClaim.diag5desc; }\r\n\r\n this._currentClaimDetail.rejCode = this._claimDetailForm.get('rejCode').value;\r\n if (this._currentClaimDetail.rejCode.trim() != \"\") {\r\n this._currentClaimDetail.rejCodeDesc = this.RejectionCodeList.filter(x => x.code == this._claimDetailForm.get('rejCode').value)[0].reason;\r\n }\r\n this._currentClaimDetail.tooth1 = this._claimDetailForm.get('tooth1').value.trim();\r\n //this._currentClaimDetail.tooth1Desc = this._currentClaimDetail.tooth1Desc;\r\n this._currentClaimDetail.tooth2 = this._claimDetailForm.get('tooth2').value.trim();\r\n //this._currentClaimDetail.tooth2Desc = this._currentClaimDetail.tooth2Desc ;\r\n this._currentClaimDetail.tooth3 = this._claimDetailForm.get('tooth3').value.trim();\r\n //this._currentClaimDetail.tooth3Desc = this._currentClaimDetail.tooth3Desc;\r\n this._currentClaimDetail.tooth4 = this._claimDetailForm.get('tooth4').value.trim();\r\n //this._currentClaimDetail.tooth4Desc = this._currentClaimDetail.tooth4Desc;\r\n this._currentClaimDetail.tooth5 = this._claimDetailForm.get('tooth5').value.trim();\r\n //this._currentClaimDetail.tooth5Desc = this._currentClaimDetail.tooth5Desc;\r\n this._currentClaimDetail.tooth6 = this._claimDetailForm.get('tooth6').value.trim();\r\n //this._currentClaimDetail.tooth6Desc = this._currentClaimDetail.tooth6Desc ;\r\n this._currentClaimDetail.tooth7 = this._claimDetailForm.get('tooth7').value.trim();\r\n //this._currentClaimDetail.tooth7Desc = this._currentClaimDetail.tooth7Desc;\r\n this._currentClaimDetail.tooth8 = this._claimDetailForm.get('tooth8').value.trim();\r\n //this._currentClaimDetail.tooth8Desc = this._currentClaimDetail.tooth8Desc;\r\n this._currentClaimDetail.modifier1 = this._claimDetailForm.get('modifier1').value.trim();\r\n //this._currentClaimDetail.modifier1Desc = this._currentClaimDetail.modifier1Desc;\r\n this._currentClaimDetail.modifier2 = this._claimDetailForm.get('modifier2').value.trim();\r\n //this._currentClaimDetail.modifier2Desc = this._currentClaimDetail.modifier2Desc;\r\n this._currentClaimDetail.modifier3 = this._claimDetailForm.get('modifier3').value.trim();\r\n //this._currentClaimDetail.modifier3Desc = this._currentClaimDetail.modifier3Desc;\r\n this._currentClaimDetail.modifier4 = this._claimDetailForm.get('modifier4').value.trim();\r\n //this._currentClaimDetail.modifier4Desc = this._currentClaimDetail.modifier4Desc;\r\n this._currentClaimDetail.note = this._claimDetailForm.get('note').value.trim();\r\n\r\n // Create toothNumString \r\n this._currentClaimDetail.toothNumString = \"\";\r\n if (this._currentClaimDetail.tooth1 != \"\") { this._currentClaimDetail.toothNumString += this._currentClaimDetail.tooth1 + \", \"; }\r\n if (this._currentClaimDetail.tooth2 != \"\") { this._currentClaimDetail.toothNumString += this._currentClaimDetail.tooth2 + \", \"; }\r\n if (this._currentClaimDetail.tooth3 != \"\") { this._currentClaimDetail.toothNumString += this._currentClaimDetail.tooth3 + \", \"; }\r\n if (this._currentClaimDetail.tooth4 != \"\") { this._currentClaimDetail.toothNumString += this._currentClaimDetail.tooth4 + \", \"; }\r\n if (this._currentClaimDetail.tooth5 != \"\") { this._currentClaimDetail.toothNumString += this._currentClaimDetail.tooth5 + \", \"; }\r\n if (this._currentClaimDetail.tooth6 != \"\") { this._currentClaimDetail.toothNumString += this._currentClaimDetail.tooth6 + \", \"; }\r\n if (this._currentClaimDetail.tooth7 != \"\") { this._currentClaimDetail.toothNumString += this._currentClaimDetail.tooth7 + \", \"; }\r\n if (this._currentClaimDetail.tooth8 != \"\") { this._currentClaimDetail.toothNumString += this._currentClaimDetail.tooth8 + \", \"; }\r\n // Check if last character is a comma then remove the last comma\r\n if (this._currentClaimDetail.toothNumString.substring(this._currentClaimDetail.toothNumString.length - 2, this._currentClaimDetail.toothNumString.length) == \", \") {\r\n this._currentClaimDetail.toothNumString = this._currentClaimDetail.toothNumString.substring(0, this._currentClaimDetail.toothNumString.length - 2)\r\n }\r\n\r\n // Create modCodesString\r\n this._currentClaimDetail.modCodesString = \"\";\r\n if (this._currentClaimDetail.modifier1 != \"\") { this._currentClaimDetail.modCodesString += this._currentClaimDetail.modifier1 + \", \"; }\r\n if (this._currentClaimDetail.modifier2 != \"\") { this._currentClaimDetail.modCodesString += this._currentClaimDetail.modifier2 + \", \"; }\r\n if (this._currentClaimDetail.modifier3 != \"\") { this._currentClaimDetail.modCodesString += this._currentClaimDetail.modifier3 + \", \"; }\r\n if (this._currentClaimDetail.modifier4 != \"\") { this._currentClaimDetail.modCodesString += this._currentClaimDetail.modifier4 + \", \"; }\r\n // Check if last character is a comma then remove the last comma\r\n if (this._currentClaimDetail.modCodesString.substring(this._currentClaimDetail.modCodesString.length - 2, this._currentClaimDetail.modCodesString.length) == \", \") {\r\n this._currentClaimDetail.modCodesString = this._currentClaimDetail.modCodesString.substring(0, this._currentClaimDetail.modCodesString.length - 2)\r\n }\r\n \r\n if (this._currentClaimDetail.arrayId == '') {\r\n\r\n // Add detail to master if it is a new line\r\n this._currentClaimDetail.arrayId = Date.now().toString();\r\n this._currentClaim.claimDetails.push(this._currentClaimDetail);\r\n\r\n } else {\r\n\r\n // Replace detail line in _currentClaim.claimDetails with _currentClaimDetail \r\n let indexToUpdate = this._currentClaim.claimDetails.findIndex(item => item.arrayId === this._currentClaimDetail.arrayId);\r\n this._currentClaim.claimDetails[indexToUpdate] = this._currentClaimDetail;\r\n\r\n // some angular libraries require breaking the array reference\r\n // to pick up the update in the array and trigger change detection.\r\n // In that case, you can do following\r\n this._currentClaim.claimDetails = Object.assign([], this._currentClaim.claimDetails); // Break reference to _currentClaimDetail (just to be safe)\r\n\r\n this._currentClaimDetail = new ClaimDetailModel(); // clear \r\n }\r\n\r\n // Sort by arrayId (date created) and do line numbers\r\n this._currentClaim.claimDetails.sort((a, b) => a.arrayId.localeCompare(b.arrayId));\r\n let lineCounter: number = 1\r\n this._currentClaim.claimDetails.forEach((el: ClaimDetailModel) => {\r\n el.lineNo = lineCounter;\r\n lineCounter++;\r\n })\r\n\r\n this.DisableUsedDiagFields();\r\n\r\n // Close detail form\r\n this._claimDetailModal = false;\r\n }\r\n }\r\n\r\n RemoveClaimDetailLine(claimLine: ClaimDetailModel) {\r\n\r\n // Remove line from claim details array\r\n let index = this._currentClaim.claimDetails.findIndex((element) => element[\"arrayId\"] == claimLine.arrayId);\r\n this._currentClaim.claimDetails.splice(index, 1);\r\n\r\n // Sort by arrayId (date created) and do line numbers\r\n this._currentClaim.claimDetails.sort((a, b) => a.arrayId.localeCompare(b.arrayId));\r\n let lineCounter: number = 1\r\n this._currentClaim.claimDetails.forEach((el: ClaimDetailModel) => {\r\n el.lineNo = lineCounter;\r\n lineCounter++;\r\n })\r\n\r\n this.DisableUsedDiagFields();\r\n }\r\n\r\n DisableUsedDiagFields() {\r\n\r\n // First Enable All\r\n this._claimMasterForm.get('diag1').enable();\r\n this._claimMasterForm.get('diag2').enable();\r\n this._claimMasterForm.get('diag3').enable();\r\n this._claimMasterForm.get('diag4').enable();\r\n //this._claimMasterForm.get('diag5').enable();\r\n\r\n // Loop through detail lines and disable diags on ClaimMaster form if they are used on a detail line\r\n this._currentClaim.claimDetails.forEach((el: ClaimDetailModel) => {\r\n if (this._claimMasterForm.get('diag1').value == el.diag) { this._claimMasterForm.get('diag1').disable() }\r\n if (this._claimMasterForm.get('diag2').value == el.diag) { this._claimMasterForm.get('diag2').disable() }\r\n if (this._claimMasterForm.get('diag3').value == el.diag) { this._claimMasterForm.get('diag3').disable() }\r\n if (this._claimMasterForm.get('diag4').value == el.diag) { this._claimMasterForm.get('diag4').disable() }\r\n //if (this._claimMasterForm.get('diag5').value == el.diag) { this._claimMasterForm.get('diag5').disable() }\r\n })\r\n }\r\n\r\n ValidateProcCode() {\r\n\r\n this._claimDetailForm.get(\"procCode\").setValue(this._claimDetailForm.get(\"procCode\").value.trim());\r\n\r\n if (this._claimDetailForm.get(\"procCode\").valid) {\r\n\r\n this._busyLoading = true;\r\n\r\n const params = new HttpParams().append('procCode', this._claimDetailForm.get(\"procCode\").value);\r\n this._http.get(this._baseUrl + 'api/ClaimCapture/ValidateTarrifCode',\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n }),\r\n params\r\n }\r\n ).subscribe(\r\n (result: ProcCodeModel) => {\r\n if (result.procCodeDesc == null || result.procCodeDesc == \"\") {\r\n this._currentClaimDetail.procCodeDesc = \"Unknown code\";\r\n this._currentClaimDetail.procCodePadded = this._claimDetailForm.get(\"procCode\").value;\r\n } else { \r\n this._currentClaimDetail.procCodeDesc = result.procCodeDesc;\r\n this._currentClaimDetail.procCodePadded = result.procCode;\r\n }\r\n },\r\n (error: HttpErrorResponse) => {\r\n console.log(error);\r\n this._busyLoading = false;\r\n this._errorModal = true;\r\n this._errorMessageHeading = \"Failed get tarrif code description.\";\r\n this._errorMessage = Object.keys(error.error.errors)[0] + \": \" + error.error.errors[Object.keys(error.error.errors)[0]];\r\n },\r\n () => { this._busyLoading = false; });\r\n }\r\n }\r\n\r\n SetServiceToDate() {\r\n\r\n if (this._claimDetailForm.get(\"svcDateFrom\").valid) {\r\n\r\n if (this._claimDetailForm.get(\"svcDateTo\").value == \"\") {\r\n this._claimDetailForm.get(\"svcDateTo\").setValue(this._claimDetailForm.get(\"svcDateFrom\").value);\r\n this._claimDetailForm.get(\"svcDateTo\").markAsTouched();\r\n }\r\n\r\n }\r\n }\r\n\r\n ClearRejection() {\r\n this._claimDetailForm.get(\"rejCode\").reset();\r\n this._claimDetailForm.get(\"rejCode\").setValue(\"\");\r\n }\r\n\r\n GetModifierCodeDescription(controlName: string) {\r\n\r\n this._claimDetailForm.get(controlName).setValue(this._claimDetailForm.get(controlName).value.trim());\r\n\r\n if (this._claimDetailForm.get(controlName).valid) {\r\n\r\n let modCodes: ModifierCodeModel[] = this._modifierCodesList.filter(x => x.modCode == this._claimDetailForm.get(controlName).value);\r\n\r\n if (modCodes.length > 0) {\r\n\r\n if (controlName == 'modifier1') {\r\n this._currentClaimDetail.modifier1 = modCodes[0].modCode;\r\n this._currentClaimDetail.modifier1Desc = modCodes[0].modCodeDesc;\r\n } else if (controlName == 'modifier2') {\r\n this._currentClaimDetail.modifier2 = modCodes[0].modCode;\r\n this._currentClaimDetail.modifier2Desc = modCodes[0].modCodeDesc;\r\n } else if (controlName == 'modifier3') {\r\n this._currentClaimDetail.modifier3 = modCodes[0].modCode;\r\n this._currentClaimDetail.modifier3Desc = modCodes[0].modCodeDesc;\r\n } else if (controlName == 'modifier4') {\r\n this._currentClaimDetail.modifier4 = modCodes[0].modCode;\r\n this._currentClaimDetail.modifier4Desc = modCodes[0].modCodeDesc;\r\n }\r\n } else {\r\n if (controlName == 'modifier1') {\r\n this._currentClaimDetail.modifier1 = this._claimDetailForm.get(controlName).value;\r\n this._currentClaimDetail.modifier1Desc = this._claimDetailForm.get(controlName).value;\r\n } else if (controlName == 'modifier2') {\r\n this._currentClaimDetail.modifier2 = this._claimDetailForm.get(controlName).value;\r\n this._currentClaimDetail.modifier2Desc = this._claimDetailForm.get(controlName).value;\r\n } else if (controlName == 'modifier3') {\r\n this._currentClaimDetail.modifier3 = this._claimDetailForm.get(controlName).value;\r\n this._currentClaimDetail.modifier3Desc = this._claimDetailForm.get(controlName).value;\r\n } else if (controlName == 'modifier4') {\r\n this._currentClaimDetail.modifier4 = this._claimDetailForm.get(controlName).value;\r\n this._currentClaimDetail.modifier4Desc = this._claimDetailForm.get(controlName).value;\r\n }\r\n }\r\n\r\n }\r\n }\r\n\r\n PrepareClaimSubmission() {\r\n\r\n this._claimMasterForm.markAllAsTouched(); // to display error messages\r\n\r\n this._currentClaim.dateReceived = this._claimMasterForm.get('dateReceived').value; // Need to do this now for dates validation check\r\n\r\n if (!this._claimMasterForm.valid) {\r\n\r\n this._errorModal = true;\r\n this._errorMessageHeading = \"Incomplete Claim Header\";\r\n this._errorMessage = \"Please ensure that all non-optional Claim Header fields contains valid data.\";\r\n\r\n } else if (this._currentClaim.claimDetails.length < 1) { // check that there are detail lines\r\n\r\n this._errorModal = true;\r\n this._errorMessageHeading = \"Incomplete Claim\";\r\n this._errorMessage = \"There are no detail lines captured for this claim. At least one is required.\";\r\n\r\n } else if (this._currentClaim.CheckValidDates().length > 0) { // check that service dates on detail lines is before claim receive date\r\n\r\n this._errorModal = true;\r\n this._errorMessageHeading = \"Invalid dates\";\r\n this._errorMessage = \"Claim detail line(s) \" + this._currentClaim.CheckValidDates() + \" contains a service date(s) that is after the Date Received on the claim header.\";\r\n\r\n } else {\r\n\r\n this._currentClaim.hpCode = this._claimMasterForm.get('hpCode').value;\r\n this._currentClaim.hpCodeDesc = this.HpCodesList.filter(x => x.code == this._currentClaim.hpCode)[0].name;\r\n this._currentClaim.provHosp = this._claimMasterForm.get('profHosp').value;\r\n this._currentClaim.provHospDesc = this._profHospSelect.filter(x => x[0] == this._currentClaim.provHosp)[0][1];\r\n this._currentClaim.provId = this._claimMasterForm.get('provId').value;\r\n this._currentClaim.vendor = this._claimMasterForm.get('vendor').value;\r\n this._currentClaim.vendorName = this._vendorList.filter(x => x.vendor == this._currentClaim.vendor)[0].displayItem;\r\n this._currentClaim.refProvId = this._claimMasterForm.get('refProvId').value;\r\n this._currentClaim.provClaim = this._claimMasterForm.get('provClaim').value;\r\n this._currentClaim.policyNo = this._claimMasterForm.get('policyNo').value;\r\n this._currentClaim.dependant = this._claimMasterForm.get('dependant').value;\r\n this._currentClaim.membId = this._familyList.filter(x => x.dependant == this._currentClaim.dependant)[0].membid;\r\n this._currentClaim.dependantFirstnm = this._familyList.filter(x => x.dependant == this._currentClaim.dependant)[0].firstnm;\r\n this._currentClaim.dependantLastnm = this._familyList.filter(x => x.dependant == this._currentClaim.dependant)[0].lastnm;\r\n this._currentClaim.dateReceived = this._claimMasterForm.get('dateReceived').value;\r\n this._currentClaim.claimType = this._claimMasterForm.get('claimType').value;\r\n this._currentClaim.claimTypeDesc = this._claimTypeSelect.filter(x => x[0] == this._currentClaim.claimType)[0][1];\r\n this._currentClaim.authNo = this._claimMasterForm.get('authNo').value;\r\n this._confirmationModal = true;\r\n }\r\n\r\n }\r\n\r\n SubmitClaim() {\r\n\r\n this._currentClaim.userName = this._loginService.CurrentLoggedInUser.username;\r\n\r\n if (!this._validationForm.get('checked').valid) {\r\n\r\n this._validationForm.markAllAsTouched(); // to display error message\r\n this._errorModal = true;\r\n this._errorMessageHeading = \"Incomplete Validation\";\r\n this._errorMessage = \"Please check the box to confirm that the details captured are correct.\";\r\n\r\n }\r\n else {\r\n\r\n this._currentClaim.clientCreateDate = this._datePipe.transform(new Date(), 'yyyy/MM/dd HH:mm:ss');\r\n this._busyLoading = true;\r\n\r\n this._http.post(this._baseUrl + 'api/ClaimCapture/SubmitClaim', this._currentClaim,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n })\r\n }\r\n ).subscribe(\r\n (result: ClaimMasterModel) => { \r\n this._successMessageHeading = \"Claim submitted successfully\";\r\n this._successMessage = \"Claim submission reference number: \" + result.rec1Id;\r\n this._successModal = true;\r\n this._confirmationModal = false;\r\n this.ClearClaim();\r\n },\r\n (error: HttpErrorResponse) => {\r\n console.log(error);\r\n this._busyLoading = false;\r\n this._errorModal = true;\r\n this._errorMessageHeading = \"Failed to create claim.\"; \r\n this._errorMessage = Object.keys(error.error.errors)[0] + \": \" + error.error.errors[Object.keys(error.error.errors)[0]][0];\r\n this._currentClaim.exception = Object.keys(error.error.errors)[0] + \": \" + error.error.errors[Object.keys(error.error.errors)[0]][0] + \" \" + error.error.errors[Object.keys(error.error.errors)[0]][1];\r\n },\r\n () => { this._busyLoading = false; });\r\n }\r\n }\r\n\r\n //Exposing of variables\r\n get OpenWizard() {\r\n return this._wizardOpen;\r\n }\r\n set OpenWizard(isValid) {\r\n this._wizardOpen = isValid;\r\n }\r\n public get token(): string {\r\n return localStorage.getItem(\"jwt\");\r\n }\r\n public set token(value: string) {\r\n localStorage.setItem(\"jwt\", value);\r\n }\r\n\r\n PopulateDefualtAdjCodes() {\r\n\r\n this.rejectionReasons.forEach((el) => {\r\n this.codeLine = new AdjustcodesModel();\r\n this.codeLine.code = el.code;\r\n this.codeLine.desc = el.reason;\r\n this.codeLine.notes = el.code.trim() + '-' + el.reason;\r\n this.defualtCodesList.push(this.codeLine);\r\n });\r\n\r\n }\r\n\r\n AddDiagCode() {\r\n this.findSameDiagCode = false;\r\n let p = this;\r\n p.diagnosticCodesList.forEach((el) => {\r\n if (el.DIAG === p.diagnosticCodes.DIAG) {\r\n p.findSameDiagCode = true;\r\n if (el.DIAGREF === p.diagnosticCodes.DIAGREF) {\r\n this.findSameDiagCode = false;\r\n }\r\n }\r\n });\r\n if (p.findSameDiagCode === false) {\r\n for (var i = 0; i < p.diagnosticCodesList.length; i++) {\r\n if (p.diagnosticCodesList[i].DIAGREF === p.diagnosticCodes.DIAGREF) {\r\n p.diagnosticCodesList[i].DIAG = p.diagnosticCodes.DIAG;\r\n p.diagnosticCodesList[i].DIAGREF = p.diagnosticCodes.DIAGREF;\r\n p.findSameDiagRef = true;\r\n break;\r\n } else {\r\n p.findSameDiagRef = false;\r\n }\r\n }\r\n if ((p.diagnosticCodesList.length === 0) || (p.findSameDiagRef === false)) {\r\n p.diagnosticCodesList.push(this.diagnosticCodes);\r\n }\r\n p.diagnosticCodes = new Recordtype5Model();\r\n }\r\n }\r\n\r\n NewClaimMaster() {\r\n this.currentClaimHeader = new Recordtype1Model();\r\n this.FindDefaultPlaceOfService();\r\n this.PHCodeSelection();\r\n this.ClaimTypeSelect()\r\n this.btnClick = true;\r\n this.enableWizardNext = false;\r\n this.FindDeFaultHPCode();\r\n }\r\n\r\n // Main main menu links are calling this method, see app.component.html - BE CAREFUL!\r\n ValidateWizard() {\r\n this.currentClaimHeader.lobCode = this._loginService.CurrentLoggedInUser.lobcode;\r\n this.currentClaimDetail.hpCode = this._loginService.CurrentLoggedInUser.firstname;\r\n this.PlacesOfService();\r\n this.GetRejectionReasons();\r\n }\r\n\r\n CancelClaimMaster() {\r\n this.btnClick = false;\r\n }\r\n\r\n SaveClaimMaster() {\r\n this.btnClick = false;\r\n this.enableWizardNext = true;\r\n }\r\n\r\n PlacesOfService() {\r\n const webApiPlaceOfService: Observable = this._http.get(\r\n this._baseUrl + 'api/ClaimCapture/GetPlacesOfService',\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }\r\n );\r\n webApiPlaceOfService.subscribe(\r\n (returnedPlcSvc: [PlaceOfServiceModel]) => {\r\n this.plcSvcList = returnedPlcSvc;\r\n },\r\n (error) => {\r\n if (error.status == '401') {\r\n this._router.navigateByUrl('/login');\r\n }\r\n },\r\n () => {\r\n this.FindDefaultPlaceOfService();\r\n this.HpCodes();\r\n }\r\n );\r\n }\r\n\r\n async HpCodes() { // Don't change, used by old claim capture as well\r\n let x: RejectionCodesModel;\r\n x = new RejectionCodesModel();\r\n x.username = this._loginService.CurrentLoggedInUser.username;\r\n x.userType = this._loginService.CurrentLoggedInUser.userType;\r\n await\r\n this._http.post(this._baseUrl + 'api/ClaimCapture/GetHpCodes', x,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }).toPromise()\r\n .then((returnedList: [HealthplanModel]) => {\r\n this.HpCodesList = returnedList; \r\n\r\n //if (this.HpCodesList.length == 1) { mover this to ClaimMasterFormInit()\r\n // this._claimMasterForm.get('hpCode').setValue(this.HpCodesList[0].code);\r\n // this._claimMasterForm.get('hpCode').markAsTouched();\r\n // this.LoadServiceTypes();\r\n //}\r\n\r\n this.ClaimMasterFormInit();\r\n },\r\n (error) => {\r\n console.log(error);\r\n //if (error.status == '401') {\r\n // this._router.navigateByUrl('/login');}\r\n }//,\r\n //() => { });\r\n );\r\n }\r\n\r\n FindDefaultPlaceOfService() {\r\n this.plcSvcList.forEach(\r\n (el) => {\r\n if (el.default_YN === true) {\r\n this.currentClaimHeader.PLACE = el.code;\r\n }\r\n });\r\n }\r\n\r\n FindDeFaultHPCode() {\r\n this.currentClaimHeader.hpCode = this.HpCodesList[0].code;\r\n this.currentClaimDetail.hpCode = this.HpCodesList[0].code;\r\n }\r\n\r\n PHCodeSelection() {\r\n this.currentClaimHeader.PHCODE = this.phSelect[0].charAt(0);\r\n }\r\n\r\n ClaimTypeSelect() {\r\n this.currentClaimHeader.CLAIMTYPE = this.ctSelect[0].charAt(0);\r\n }\r\n\r\n //DataBaseCheckEzcapProv(): string { // Jaco comment out 2024-03-04\r\n // this._busy = true;\r\n // this._http.post(this._baseUrl +\r\n // 'api/ClaimCapture/ValidateEzcapProv', this.currentClaimHeader,\r\n // {\r\n // headers: new HttpHeaders({\r\n // \"Authorization\": \"Bearer \" + this.token,\r\n // \"Content-Type\": \"application/json\",\r\n // \"Cache-Control\": \"no-store\",\r\n // \"Pragma\": \"no-cache\"\r\n\r\n // })\r\n // }\r\n // ).subscribe((returnedValid) => {\r\n\r\n // let v: any;\r\n // v = returnedValid;\r\n // this.dataBaseMessageProv = v.message;\r\n // },\r\n // (error) => {\r\n // console.log(error);\r\n // //if (error.status == '401') {\r\n // // this._router.navigateByUrl('/login');\r\n // //}\r\n // },\r\n // () => {\r\n // this._busy = false;\r\n // this.LoadVendorIds();\r\n // }\r\n // );\r\n // return this.dataBaseMessageProv;\r\n //}\r\n\r\n DataBaseCheckEzcapProv() { //Jaco 2024-03-04\r\n\r\n return this._http.post(this._baseUrl +\r\n 'api/ClaimCapture/ValidateEzcapProv', this.currentClaimHeader,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }\r\n )\r\n }\r\n\r\n LoadVendorIds() {\r\n this._busy = true;\r\n this._http.post(this._baseUrl +\r\n 'api/ClaimCapture/GetVendorIDs', this.currentClaimHeader,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }\r\n ).subscribe((returneVendorIds: [VendoridsModel]) => {\r\n this.vendorIds = returneVendorIds;\r\n },\r\n (error) => {\r\n console.log(error);\r\n //if (error.status == '401') {\r\n // this._router.navigateByUrl('/login');\r\n //}\r\n },\r\n () => {\r\n\r\n this._busy = false;\r\n });\r\n }\r\n\r\n //DataBaseCheckEzcapMemb(): string { //Jaco comment out 2024-01-05\r\n // this._busy = true;\r\n\r\n // let x: TestClaimHeaderModel = new TestClaimHeaderModel();\r\n // x.membNum = this.currentClaimHeader.EZCAPMEMB;\r\n // x.hpCode = this.currentClaimHeader.hpCode;\r\n // this._http.post(this._baseUrl +\r\n // 'api/ClaimCapture/ValidateEzcapMemb', x,\r\n // {\r\n // headers: new HttpHeaders({\r\n // \"Authorization\": \"Bearer \" + this.token,\r\n // \"Content-Type\": \"application/json\",\r\n // \"Cache-Control\": \"no-store\",\r\n // \"Pragma\": \"no-cache\"\r\n\r\n // })\r\n // }\r\n // ).subscribe((returnedValid) => {\r\n // this.dataBaseMessageMemb = '';\r\n // this.dataBaseMessageMemb = 'Searching...';\r\n // this.tempMesgHolder = returnedValid;\r\n // this.dataBaseMessageMemb = this.tempMesgHolder.message;\r\n // },\r\n // (error) => {\r\n // console.log(error);\r\n // //if (error.status == '401') {\r\n // // this._router.navigateByUrl('/login');\r\n // //}\r\n // },\r\n // () => {\r\n // this._busy = false;\r\n // });\r\n // return this.dataBaseMessageMemb;\r\n //}\r\n\r\n //DataBaseCheckEzcapDepMemb(): string { //Jaco comment out 2024-01-05\r\n // this._busy = true;\r\n // let x: TestClaimHeaderModel = new TestClaimHeaderModel();\r\n // x.membNum = this.currentClaimHeader.EZCAPMEMB;\r\n // x.hpCode = this.currentClaimHeader.hpCode;\r\n // this._http.post(this._baseUrl +\r\n // 'api/ClaimCapture/ValidateEzcapDepCode', x,\r\n // {\r\n // headers: new HttpHeaders({\r\n // \"Authorization\": \"Bearer \" + this.token,\r\n // \"Content-Type\": \"application/json\",\r\n // \"Cache-Control\": \"no-store\",\r\n // \"Pragma\": \"no-cache\"\r\n\r\n // })\r\n // }\r\n // ).subscribe((returnedValid) => {\r\n // this.dataBaseMessageDepMemb = '';\r\n // let v: any;\r\n // v = returnedValid;\r\n // this.dataBaseMessageDepMemb = v.message;\r\n // },\r\n // (error) => {\r\n // console.log(error);\r\n // //if (error.status == '401') {\r\n // // this._router.navigateByUrl('/login');\r\n // //}\r\n // },\r\n // () => {\r\n // this._busy = false;\r\n // });\r\n // return this.dataBaseMessageDepMemb;\r\n //}\r\n\r\n DataBaseCheckRefProv() {\r\n this._busy = true;\r\n this._http.post(this._baseUrl +\r\n 'api/ClaimCapture/ValidateRefPRov', this.currentClaimHeader,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }\r\n ).subscribe((returnedValid) => {\r\n let v: any;\r\n v = returnedValid;\r\n this.dataBaseMessageRefProv = v.message;\r\n },\r\n (error) => {\r\n console.log(error);\r\n //if (error.status == '401') {\r\n // this._router.navigateByUrl('/login');\r\n //}\r\n },\r\n () => {\r\n this._busy = false;\r\n });\r\n return this.dataBaseMessageRefProv;\r\n }\r\n\r\n DataBaseChecEzcapAuth(): string {\r\n this._busy = true;\r\n this._http.post(this._baseUrl +\r\n 'api/ClaimCapture/ValidateEzcapAuth', this.currentClaimHeader,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }\r\n ).subscribe((returnedValid) => {\r\n let v: any;\r\n v = returnedValid;\r\n this.dataBaseMessageAuth = v.message;\r\n },\r\n (error) => {\r\n console.log(error);\r\n //if (error.status == '401') {\r\n // this._router.navigateByUrl('/login');\r\n //}\r\n },\r\n () => { this._busy = false; });\r\n return this.dataBaseMessageAuth;\r\n }\r\n\r\n DataBaseCheckProccode() {\r\n this._busy = true;\r\n this.currentClaimDetail.DIAGREF = 1;\r\n this._http.post(this._baseUrl +\r\n 'api/ClaimCapture/ValidateProccode',\r\n this.currentClaimDetail,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }\r\n ).subscribe(\r\n (RecievedMessage) => {\r\n let v: any;\r\n v = RecievedMessage;\r\n this.currentClaimDetail.PROCCODE_DESC = v.message;\r\n },\r\n (error) => {\r\n //if (error.status == '401') {\r\n // this._router.navigateByUrl('/login');\r\n //}\r\n console.log(error);\r\n },\r\n () => { this._busy = false; });\r\n }\r\n\r\n ClickClaimDetailDone() {\r\n this.enableWizardNext = true;\r\n }\r\n\r\n FindDefualtPHCODE() {\r\n this.listOfServiceTypes.forEach(\r\n (el) => {\r\n if (el.phCode === 'P') {\r\n this.currentClaimDetail.PHCODE = el.phCode;\r\n }\r\n });\r\n }\r\n\r\n LoadPhCodes() {\r\n const webApiServiceType: Observable =\r\n this._http.post(this._baseUrl +\r\n 'api/ClaimCapture/GetPhCodes', this.currentClaimHeader,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n });\r\n webApiServiceType.subscribe(\r\n (recievedPhCodes: [ServicetypesModel]) => {\r\n this.listOfServiceTypes = recievedPhCodes;\r\n //console.log(this.listOfServiceTypes)\r\n });\r\n }\r\n\r\n DataBaseCheckModCode1() {\r\n this._busy = true;\r\n this._http.post(this._baseUrl +\r\n 'api/ClaimCapture/ValidateModCodes',\r\n this.modCode,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }\r\n ).subscribe(\r\n (RecievedMessage) => {\r\n let v: any;\r\n v = RecievedMessage;\r\n this.dataBaseMsgMod1 = v.message\r\n },\r\n (error) => {\r\n console.log(error);\r\n //if (error.status == '401') {\r\n // this._router.navigateByUrl('/login');\r\n //}\r\n },\r\n () => { this._busy = false; }\r\n );\r\n return this.dataBaseMsgMod1\r\n }\r\n\r\n DataBaseCheckModCode2() {\r\n this._busy = true;\r\n this._http.post(this._baseUrl +\r\n 'api/ClaimCapture/ValidateModCodes',\r\n this.modCode,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }\r\n ).subscribe(\r\n (RecievedMessage) => {\r\n let v: any;\r\n v = RecievedMessage;\r\n this.dataBaseMsgMod2 = v.message\r\n },\r\n (error) => {\r\n console.log(error);\r\n //if (error.status == '401') {\r\n // this._router.navigateByUrl('/login');\r\n //}\r\n },\r\n () => { this._busy = false; }\r\n );\r\n return this.dataBaseMsgMod2;\r\n }\r\n\r\n DataBaseCheckModCode3() {\r\n this._busy = true;\r\n this._http.post(this._baseUrl +\r\n 'api/ClaimCapture/ValidateModCodes',\r\n this.modCode,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }\r\n ).subscribe(\r\n (RecievedMessage) => {\r\n let v: any;\r\n v = RecievedMessage;\r\n this.dataBaseMsgMod3 = v.message;\r\n },\r\n (error) => {\r\n console.log(error);\r\n //if (error.status == '401') {\r\n // this._router.navigateByUrl('/login');\r\n //}\r\n },\r\n () => { this._busy = false; }\r\n );\r\n return this.dataBaseMsgMod3;\r\n }\r\n\r\n DataBaseCheckModCode4() {\r\n this._busy = true;\r\n this._http.post(this._baseUrl +\r\n 'api/ClaimCapture/ValidateModCodes',\r\n this.modCode,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }\r\n ).subscribe(\r\n (RecievedMessage) => {\r\n let v: any;\r\n v = RecievedMessage;\r\n this.dataBaseMsgMod4 = v.message\r\n },\r\n (error) => {\r\n console.log(error); if (error.status == '401') {\r\n this._router.navigateByUrl('/login');\r\n }\r\n },\r\n () => { this._busy = false; }\r\n );\r\n return this.dataBaseMsgMod4;\r\n }\r\n\r\n DataBaseCheckTooth1() {\r\n this._busy = true;\r\n this._http.post(this._baseUrl +\r\n 'api/ClaimCapture/ValidateToothNum',\r\n this.toothNum,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }\r\n ).subscribe(\r\n (RecievedMessage) => {\r\n let v: any;\r\n v = RecievedMessage;\r\n this.dataBaseMessageTooth1 = v.message;\r\n },\r\n (error) => {\r\n console.log(error);\r\n //if (error.status == '401') {\r\n // this._router.navigateByUrl('/login');\r\n //}\r\n },\r\n () => { this._busy = false; });\r\n return this.dataBaseMessageTooth1;\r\n }\r\n\r\n DataBaseCheckTooth2() {\r\n this._busy = true;\r\n this._http.post(this._baseUrl +\r\n 'api/ClaimCapture/ValidateToothNum',\r\n this.toothNum,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }\r\n ).subscribe(\r\n (RecievedMessage) => {\r\n let v: any;\r\n v = RecievedMessage;\r\n this.dataBaseMessageTooth2 = v.message;\r\n },\r\n (error) => {\r\n console.log(error);\r\n //if (error.status == '401') {\r\n // this._router.navigateByUrl('/login');\r\n //}\r\n },\r\n () => { this._busy = false; });\r\n return this.dataBaseMessageTooth2;\r\n }\r\n\r\n DataBaseCheckTooth3() {\r\n this._busy = true;\r\n this._http.post(this._baseUrl +\r\n 'api/ClaimCapture/ValidateToothNum',\r\n this.toothNum,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }\r\n ).subscribe(\r\n (RecievedMessage) => {\r\n let v: any;\r\n v = RecievedMessage;\r\n this.dataBaseMessageTooth3 = v.message;\r\n },\r\n (error) => {\r\n console.log(error);\r\n //if (error.status == '401') {\r\n // this._router.navigateByUrl('/login');\r\n //}\r\n },\r\n () => { this._busy = false; });\r\n return this.dataBaseMessageTooth3\r\n }\r\n\r\n DataBaseCheckTooth4() {\r\n this._busy = true;\r\n this._http.post(this._baseUrl +\r\n 'api/ClaimCapture/ValidateToothNum',\r\n this.toothNum,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }\r\n ).subscribe(\r\n (RecievedMessage) => {\r\n let v: any;\r\n v = RecievedMessage;\r\n this.dataBaseMessageTooth4 = v.message;\r\n },\r\n (error) => {\r\n console.log(error);\r\n //if (error.status == '401') {\r\n // this._router.navigateByUrl('/login');\r\n //}\r\n },\r\n () => { this._busy = false; });\r\n return this.dataBaseMessageTooth4;\r\n }\r\n\r\n DataBaseCheckTooth5() {\r\n this._busy = true;\r\n this._http.post(this._baseUrl +\r\n 'api/ClaimCapture/ValidateToothNum',\r\n this.toothNum,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }\r\n ).subscribe(\r\n (RecievedMessage) => {\r\n let v: any;\r\n v = RecievedMessage;\r\n this.dataBaseMessageTooth5 = v.message;\r\n },\r\n (error) => {\r\n console.log(error);\r\n //if (error.status == '401') {\r\n // this._router.navigateByUrl('/login');\r\n //}\r\n },\r\n () => { this._busy = false; });\r\n return this.dataBaseMessageTooth5;\r\n }\r\n\r\n DataBaseCheckTooth6() {\r\n this._busy = true;\r\n this._http.post(this._baseUrl +\r\n 'api/ClaimCapture/ValidateToothNum',\r\n this.toothNum,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }\r\n ).subscribe(\r\n (RecievedMessage) => {\r\n let v: any;\r\n v = RecievedMessage;\r\n this.dataBaseMessageTooth6 = v.message;\r\n },\r\n (error) => {\r\n console.log(error);\r\n //if (error.status == '401') {\r\n // this._router.navigateByUrl('/login');\r\n //}\r\n },\r\n () => { this._busy = false; });\r\n return this.dataBaseMessageTooth6;\r\n }\r\n\r\n DataBaseCheckTooth7() {\r\n this._busy = true;\r\n this._http.post(this._baseUrl +\r\n 'api/ClaimCapture/ValidateToothNum',\r\n this.toothNum,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }\r\n ).subscribe(\r\n (RecievedMessage) => {\r\n let v: any;\r\n v = RecievedMessage;\r\n this.dataBaseMessageTooth7 = v.message;\r\n },\r\n (error) => {\r\n console.log(error);\r\n //if (error.status == '401') {\r\n // this._router.navigateByUrl('/login');\r\n //}\r\n },\r\n () => { this._busy = false; });\r\n return this.dataBaseMessageTooth7;\r\n }\r\n\r\n DataBaseCheckTooth8() {\r\n this._http.post(this._baseUrl +\r\n 'api/ClaimCapture/ValidateToothNum',\r\n this.toothNum,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }\r\n ).subscribe(\r\n (RecievedMessage) => {\r\n let v: any;\r\n v = RecievedMessage;\r\n this.dataBaseMessageTooth8 = v.message;\r\n },\r\n (error) => {\r\n console.log(error);\r\n //if (error.status == '401') {\r\n // this._router.navigateByUrl('/login');\r\n //}\r\n },\r\n () => { this._busy = false; });\r\n return this.dataBaseMessageTooth8;\r\n }\r\n\r\n CalculateBilledAmount() {\r\n this.billedAmount = 0;\r\n this.claimDetailList.forEach((el) => {\r\n this.billedAmount = this.billedAmount + parseFloat(el.BILLED);\r\n });\r\n this.billedAmount = parseFloat(this.billedAmount.toFixed(2));\r\n }\r\n\r\n StoreClaimDetail(action: string) {\r\n if (action === \"new\") {\r\n this.currentClaimDetail.Rec2IDArr = this.claimDetailList.length + 1;\r\n this.claimDetailList.push(this.currentClaimDetail);\r\n this.CalculateBilledAmount();\r\n this.currentClaimDetail = new Recordtype2Model();\r\n } else {\r\n this.claimDetailList.forEach((el) => {\r\n if (this.currentClaimDetail.Rec2IDArr === el.Rec2IDArr) {\r\n el.PHCODE = this.currentClaimDetail.PHCODE;\r\n el.PROCCODE = this.currentClaimDetail.PROCCODE;\r\n el.FROMDATE = this.currentClaimDetail.FROMDATE;\r\n el.TODATE = this.currentClaimDetail.TODATE;\r\n el.BILLED = this.currentClaimDetail.BILLED;\r\n el.QTY = this.currentClaimDetail.QTY;\r\n el.DIAGREF = this.currentClaimDetail.DIAGREF;\r\n el.MODCODE = this.currentClaimDetail.MODCODE;\r\n el.MODCODE2 = this.currentClaimDetail.MODCODE2;\r\n el.MODCODE3 = this.currentClaimDetail.MODCODE3;\r\n el.MODCODE4 = this.currentClaimDetail.MODCODE4;\r\n el.CLINICALCODE1 = this.currentClaimDetail.CLINICALCODE1;\r\n el.CLINICALCODE2 = this.currentClaimDetail.CLINICALCODE2;\r\n el.CLINICALCODE3 = this.currentClaimDetail.CLINICALCODE3;\r\n el.CLINICALCODE4 = this.currentClaimDetail.CLINICALCODE4;\r\n el.CLINICALCODE5 = this.currentClaimDetail.CLINICALCODE5;\r\n el.CLINICALCODE6 = this.currentClaimDetail.CLINICALCODE6;\r\n el.CLINICALCODE7 = this.currentClaimDetail.CLINICALCODE7;\r\n el.CLINICALCODE8 = this.currentClaimDetail.CLINICALCODE8;\r\n el.toothNumString = this.currentClaimDetail.toothNumString;\r\n el.ModCodesString = this.currentClaimDetail.ModCodesString;\r\n this.CalculateBilledAmount();\r\n }\r\n });\r\n }\r\n }\r\n\r\n CancelCLaimDetail() {\r\n this.btnClick = false;\r\n }\r\n\r\n NewClaimDetail() {\r\n this.currentClaimDetail = new Recordtype2Model();\r\n }\r\n\r\n DataBaseDiagCode1Check(): string {\r\n this._busy = true;\r\n this._http.post(this._baseUrl +\r\n 'api/ClaimCapture/ValidateDiagref',\r\n this.diagnosticCodes,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }\r\n ).subscribe(\r\n (RecievedMessage) => {\r\n let v: any;\r\n v = RecievedMessage;\r\n this.dataBaseMessageDiagC1 = v.message\r\n },\r\n (error) => {\r\n console.log(error);\r\n //if (error.status == '401') {\r\n // this._router.navigateByUrl('/login');\r\n //}\r\n },\r\n () => {\r\n this._busy = false;\r\n });\r\n return this.dataBaseMessageDiagC1\r\n }\r\n\r\n DataBaseDiagCode2Check(): string {\r\n this._busy = true;\r\n this._http.post(this._baseUrl +\r\n 'api/ClaimCapture/ValidateDiagref',\r\n this.diagnosticCodes,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }\r\n ).subscribe(\r\n (RecievedMessage) => {\r\n let v: any;\r\n v = RecievedMessage;\r\n this.dataBaseMessageDiagC2 = v.message\r\n },\r\n (error) => {\r\n console.log(error);\r\n //if (error.status == '401') {\r\n // this._router.navigateByUrl('/login');\r\n //}\r\n },\r\n () => { this._busy = false; }\r\n );\r\n return this.dataBaseMessageDiagC2\r\n }\r\n\r\n DataBaseDiagCode3Check(): string {\r\n this._busy = true;\r\n this._http.post(this._baseUrl +\r\n 'api/ClaimCapture/ValidateDiagref', this.diagnosticCodes,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }\r\n ).subscribe(\r\n (RecievedMessage) => {\r\n let v: any;\r\n v = RecievedMessage;\r\n this.dataBaseMessageDiagC3 = v.message\r\n },\r\n (error) => {\r\n console.log(error);\r\n //if (error.status == '401') {\r\n // this._router.navigateByUrl('/login');\r\n //}\r\n },\r\n () => { this._busy = false; }\r\n );\r\n return this.dataBaseMessageDiagC3\r\n }\r\n\r\n DataBaseDiagCode4Check(): string {\r\n this._busy = true;\r\n this._http.post(this._baseUrl +\r\n 'api/ClaimCapture/ValidateDiagref',\r\n this.diagnosticCodes,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }\r\n ).subscribe(\r\n (RecievedMessage) => {\r\n let v: any;\r\n v = RecievedMessage;\r\n this.dataBaseMessageDiagC4 = v.message\r\n },\r\n (error) => {\r\n console.log(error);\r\n //if (error.status == '401') {\r\n // this._router.navigateByUrl('/login');\r\n //}\r\n },\r\n () => { this._busy = false; }\r\n );\r\n return this.dataBaseMessageDiagC4\r\n }\r\n\r\n WizardIncPageCount() {\r\n this.pageCount++;\r\n if (this.pageCount === 2) {\r\n this.GetStalePeriod();\r\n }\r\n if (this.pageCount === 3) {\r\n if (this.diagnosticCodesList.length > 0) {\r\n this.enableWizardNext = true;\r\n } else {\r\n this.enableWizardNext = false;\r\n }\r\n }\r\n if (this.pageCount === 4) {\r\n this.enableWizardNext = false;\r\n }\r\n if (this.pageCount === 5) {\r\n this.enableWizardNext = false;\r\n }\r\n if (this.pageCount === 6) {\r\n if (this.fileCreated === true) {\r\n this.currentClaimHeader.Rec0ID = this.SavedIdRec1;\r\n this.LogObject();\r\n this.SaveHeader();\r\n } else {\r\n //this.fileCreated = true;\r\n this.SaveRec0();\r\n this._disableCancel = true;\r\n }\r\n }\r\n }\r\n\r\n WizardDecPageCount() {\r\n this.pageCount--;\r\n if (this.pageCount === 3) {\r\n this.enableWizardNext = true;\r\n }\r\n if (this.pageCount === 2) {\r\n this.enableWizardNext = true;\r\n }\r\n if (this.pageCount === 4) {\r\n if (this.claimDetailList.length > 0) {\r\n this.enableWizardNext = true;\r\n } else {\r\n this.enableWizardNext = false;\r\n }\r\n }\r\n if (this.pageCount === 5) {\r\n this.enableWizardNext = false;\r\n console.log(\"CLAIM DETAIL\", this.claimDetailList);\r\n }\r\n }\r\n\r\n\r\n SaveRec0() {\r\n this.LogObject();\r\n this._busy = true;\r\n let data = { claimHeader: this.currentClaimHeader, claimDetail: this.claimDetailList };\r\n this._http.get(this._baseUrl +\r\n 'api/ClaimCapture/SaveRecords',\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }\r\n ).subscribe(\r\n (RecievedMessage: number) => {\r\n let v: any;\r\n v = RecievedMessage;\r\n this.SavedIdRec1 = v;\r\n this.fileid = this.SavedIdRec1;\r\n this.currentClaimHeader.Rec0ID = this.SavedIdRec1;\r\n\r\n },\r\n (error) => {\r\n console.log(error);\r\n this.errorMsgFound = \"CODE: \" + error.status + \" Message \" + error.message;\r\n this._errorFound = true;\r\n },\r\n () => {\r\n\r\n this._busy = false;\r\n this.SaveHeader();\r\n }\r\n );\r\n }\r\n\r\n SaveDetail() {\r\n this._busy = true;\r\n this.DetailDataCheck();\r\n this._http.post(this._baseUrl +\r\n 'api/ClaimCapture/SaveFinalDetail', this.claimDetailList,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }\r\n ).subscribe(\r\n (RecievedMessage: Recordtype2Model[]) => {\r\n let v: Recordtype2Model[] = [];\r\n v = RecievedMessage;\r\n this.claimDetailList = v;\r\n let count: number = 0;\r\n this.claimDetailList.forEach((el) => {\r\n count++;\r\n el.rec2IDArr = count;\r\n });\r\n this.claimDetailList.forEach((el) => {\r\n this.RejectList.forEach((re) => {\r\n if (el.rec2IDArr === re.Rec2IDArr) {\r\n re.Rec2IDdb = el.rec2IDDb;\r\n }\r\n });\r\n this.notesLists.forEach((le) => {\r\n if (el.rec2IDArr === le.Rec2ArrID) {\r\n le.Rec2ID = el.rec2IDDb;\r\n }\r\n });\r\n });\r\n },\r\n (error) => {\r\n console.log(error);\r\n this.errorMsgFound = \"CODE: \" + error.status + \" Message \" + error.message;\r\n this._errorFound = true;\r\n },\r\n () => {\r\n this._busy = false;\r\n this.SaveRecord5();\r\n }\r\n );\r\n }\r\n\r\n SaveHeader() {\r\n this._busy = true;\r\n this.HeaderDataCheck();\r\n\r\n this._http.post(this._baseUrl +\r\n 'api/ClaimCapture/SaveFinalHeader', this.currentClaimHeader,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }\r\n ).subscribe(\r\n (RecievedMessage) => {\r\n let v: any;\r\n v = RecievedMessage;\r\n this.SavedIdRec2 = v.message;\r\n this.rec1Id = this.SavedIdRec2;\r\n this.claimDetailList.forEach((el) => {\r\n el.Rec1ID = parseInt(this.SavedIdRec2.toString());\r\n });\r\n this.diagnosticCodesList.forEach((el) => {\r\n el.FieldID = parseInt(this.SavedIdRec2.toString());\r\n });\r\n\r\n },\r\n (error) => {\r\n console.log(error);\r\n this.errorMsgFound = \"CODE: \" + error.status + \" Message \" + error.message;\r\n this._errorFound = true;\r\n },\r\n () => {\r\n this.SaveDetail();\r\n this._busy = false;\r\n });\r\n }\r\n\r\n HeaderDataCheck() {\r\n this.currentClaimHeader.createBy = this._loginService.CurrentLoggedInUser.username;\r\n this.currentClaimHeader.TYPE = 1;\r\n if (this.currentClaimHeader.PHCODE == \"\" || this.currentClaimHeader.PHCODE == null || this.currentClaimHeader.PHCODE == undefined) {\r\n this.currentClaimHeader.PHCODE = \"\";\r\n } else {\r\n this.currentClaimHeader.PHCODE = this.currentClaimHeader.PHCODE.toString();\r\n }\r\n if (this.currentClaimHeader.PROVCLAIM == \"\" || this.currentClaimHeader.PROVCLAIM == null || this.currentClaimHeader.PROVCLAIM == undefined) {\r\n this.currentClaimHeader.PROVCLAIM = \"\";\r\n } else {\r\n this.currentClaimHeader.PROVCLAIM = this.currentClaimHeader.PROVCLAIM.toString();\r\n }\r\n if (this.currentClaimHeader.EZCAPAUTH == \"\" || this.currentClaimHeader.EZCAPAUTH == null || this.currentClaimHeader.EZCAPAUTH == undefined) {\r\n this.currentClaimHeader.EZCAPAUTH = \"\";\r\n } else {\r\n this.currentClaimHeader.EZCAPAUTH = this.currentClaimHeader.EZCAPAUTH.toString();\r\n }\r\n if (this.currentClaimHeader.EZCAPPROV == \"\" || this.currentClaimHeader.EZCAPPROV == null || this.currentClaimHeader.EZCAPPROV == undefined) {\r\n this.currentClaimHeader.EZCAPPROV = \"\";\r\n } else {\r\n this.currentClaimHeader.EZCAPPROV = this.currentClaimHeader.EZCAPPROV.toString();\r\n }\r\n if (this.currentClaimHeader.EZCAPMEMB == \"\" || this.currentClaimHeader.EZCAPMEMB == null || this.currentClaimHeader.EZCAPMEMB == undefined) {\r\n this.currentClaimHeader.EZCAPMEMB = \"\";\r\n } else {\r\n this.currentClaimHeader.EZCAPMEMB = this.currentClaimHeader.EZCAPMEMB.toString();\r\n }\r\n if (this.currentClaimHeader.PLACE == \"\" || this.currentClaimHeader.PLACE == null || this.currentClaimHeader.PLACE == undefined) {\r\n this.currentClaimHeader.PLACE = \"11\";\r\n } else {\r\n this.currentClaimHeader.PLACE = this.currentClaimHeader.PLACE.toString();\r\n }\r\n if (this.currentClaimHeader.OUTCOME == \"\" || this.currentClaimHeader.OUTCOME == null || this.currentClaimHeader.OUTCOME == undefined) {\r\n this.currentClaimHeader.OUTCOME = \"\";\r\n } else {\r\n this.currentClaimHeader.OUTCOME = this.currentClaimHeader.OUTCOME.toString();\r\n }\r\n if (this.currentClaimHeader.EDIREF == \"\" || this.currentClaimHeader.EDIREF == null || this.currentClaimHeader.EDIREF == undefined) {\r\n this.currentClaimHeader.EDIREF = \"\";\r\n } else {\r\n this.currentClaimHeader.EDIREF = this.currentClaimHeader.EDIREF.toString();\r\n }\r\n if (this.currentClaimHeader.CASENUM == \"\" || this.currentClaimHeader.CASENUM == null || this.currentClaimHeader.CASENUM == undefined) {\r\n this.currentClaimHeader.CASENUM = \"\";\r\n } else {\r\n this.currentClaimHeader.CASENUM = this.currentClaimHeader.CASENUM.toString();\r\n }\r\n if (this.currentClaimHeader.UNITS == null || this.currentClaimHeader.UNITS == undefined) {\r\n this.currentClaimHeader.UNITS = 1;\r\n } else {\r\n this.currentClaimHeader.UNITS = parseInt(this.currentClaimHeader.UNITS.toString());\r\n }\r\n if (this.currentClaimHeader.CLAIMTYPE == \"\" || this.currentClaimHeader.CLAIMTYPE == null || this.currentClaimHeader.CLAIMTYPE == undefined) {\r\n this.currentClaimHeader.CLAIMTYPE = \"\";\r\n } else {\r\n this.currentClaimHeader.CLAIMTYPE = this.currentClaimHeader.CLAIMTYPE.toString();\r\n }\r\n if (this.currentClaimHeader.REFPROVID == \"\" || this.currentClaimHeader.REFPROVID == null || this.currentClaimHeader.REFPROVID == undefined) {\r\n this.currentClaimHeader.REFPROVID = \"\";\r\n } else {\r\n this.currentClaimHeader.REFPROVID = this.currentClaimHeader.REFPROVID.toString();\r\n }\r\n if (this.currentClaimHeader.VENDORID == \"\" || this.currentClaimHeader.VENDORID == null || this.currentClaimHeader.VENDORID == undefined) {\r\n this.currentClaimHeader.VENDORID = \"\";\r\n } else {\r\n this.currentClaimHeader.VENDORID = this.currentClaimHeader.VENDORID.toString();\r\n }\r\n if (this.currentClaimHeader.DATERECD == \"\" || this.currentClaimHeader.DATERECD == null || this.currentClaimHeader.DATERECD == undefined) {\r\n this.currentClaimHeader.DATERECD = \"\";\r\n } else {\r\n this.currentClaimHeader.DATERECD = this.currentClaimHeader.DATERECD.toString();\r\n }\r\n if (this.currentClaimHeader.BATCH_NO == \"\" || this.currentClaimHeader.BATCH_NO == null || this.currentClaimHeader.BATCH_NO == undefined) {\r\n this.currentClaimHeader.BATCH_NO = \"\";\r\n } else {\r\n this.currentClaimHeader.BATCH_NO = this.currentClaimHeader.BATCH_NO.toString();\r\n }\r\n if (this.currentClaimHeader.hpCode == \"\" || this.currentClaimHeader.hpCode == null || this.currentClaimHeader.hpCode == undefined) {\r\n this.currentClaimHeader.hpCode = \"\";\r\n } else {\r\n this.currentClaimHeader.hpCode = this.currentClaimHeader.hpCode.toString();\r\n }\r\n if (this.currentClaimHeader.Rec0ID == null || this.currentClaimHeader.Rec0ID == undefined) {\r\n this.currentClaimHeader.Rec0ID = 0;\r\n } else {\r\n this.currentClaimHeader.Rec0ID = parseInt(this.currentClaimHeader.Rec0ID.toString());\r\n }\r\n if (this.currentClaimHeader.Rec1ID == null || this.currentClaimHeader.Rec1ID == undefined) {\r\n this.currentClaimHeader.Rec1ID = 0;\r\n } else {\r\n this.currentClaimHeader.Rec1ID = parseInt(this.currentClaimHeader.Rec1ID.toString());\r\n }\r\n if (this.currentClaimHeader.lobCode == \"\" || this.currentClaimHeader.lobCode == null || this.currentClaimHeader.lobCode == undefined) {\r\n this.currentClaimHeader.lobCode = \"\";\r\n } else {\r\n this.currentClaimHeader.lobCode = this.currentClaimHeader.lobCode.toString();\r\n }\r\n if (this.currentClaimHeader.membDepCode == \"\" || this.currentClaimHeader.membDepCode == null || this.currentClaimHeader.membDepCode == undefined) {\r\n this.currentClaimHeader.membDepCode = \"\";\r\n } else {\r\n this.currentClaimHeader.membDepCode = this.currentClaimHeader.membDepCode.toString();\r\n }\r\n }\r\n\r\n DetailDataCheck() {\r\n let test = 1;\r\n this.claimDetailList.forEach((el) => {\r\n if (el.ModCodesString == \"\" || el.ModCodesString == null || el.ModCodesString == undefined) {\r\n el.ModCodesString = \"\";\r\n } else {\r\n el.ModCodesString = el.ModCodesString.toString();\r\n }\r\n\r\n if (el.toothNumString == \"\" || el.toothNumString == null || el.toothNumString == undefined) {\r\n el.toothNumString = \"\";\r\n } else {\r\n el.toothNumString = el.toothNumString.toString();\r\n }\r\n if (el.rec2IDArr == null || el.rec2IDArr == undefined) {\r\n el.rec2IDArr = 0;\r\n } else {\r\n el.rec2IDArr = parseInt(el.rec2IDArr.toString());\r\n }\r\n if (el.rec2IDDb == null || el.rec2IDDb == undefined) {\r\n el.rec2IDDb = 0;\r\n } else {\r\n el.rec2IDDb = parseInt(el.rec2IDDb.toString());\r\n }\r\n\r\n el.TYPE = 2;\r\n\r\n el.PHCODE = el.PHCODE.toString();\r\n el.FROMDATE = el.FROMDATE.toString();\r\n el.TODATE = el.TODATE.toString();\r\n el.PROCCODE = el.PROCCODE.toString();\r\n if (el.CURR_MODCODE == \"\" || el.CURR_MODCODE == null || el.CURR_MODCODE == undefined) {\r\n el.CURR_MODCODE = \"\";\r\n } else {\r\n el.CURR_MODCODE = el.CURR_MODCODE.toString();\r\n }\r\n if (el.CURR_MODAMOUNT == \"\" || el.CURR_MODAMOUNT == null || el.CURR_MODAMOUNT == undefined) {\r\n el.CURR_MODAMOUNT = \"\";\r\n } else {\r\n el.CURR_MODAMOUNT = el.CURR_MODAMOUNT.toString();\r\n }\r\n if (el.MODCODE == \"\" || el.MODCODE == null || el.MODCODE == undefined) {\r\n el.MODCODE = \"\";\r\n } else {\r\n el.MODCODE = el.MODCODE.toString();\r\n }\r\n if (el.MODCODE2 == \"\" || el.MODCODE2 == null || el.MODCODE2 == undefined) {\r\n el.MODCODE2 = \"\";\r\n } else {\r\n el.MODCODE2 = el.MODCODE2.toString();\r\n }\r\n\r\n if (el.MODCODE3 == \"\" || el.MODCODE3 == null || el.MODCODE3 == undefined) {\r\n el.MODCODE3 = \"\";\r\n } else {\r\n el.MODCODE3 = el.MODCODE3.toString();\r\n }\r\n if (el.MODCODE4 == \"\" || el.MODCODE4 == null || el.MODCODE4 == undefined) {\r\n el.MODCODE4 = \"\";\r\n } else {\r\n el.MODCODE4 = el.MODCODE4.toString();\r\n }\r\n if (el.MODAMOUNT == \"\" || el.MODAMOUNT == null || el.MODAMOUNT == undefined) {\r\n el.MODAMOUNT = \"\";\r\n } else {\r\n el.MODAMOUNT = el.MODAMOUNT.toString();\r\n }\r\n if (el.MODAMOUNT2 == \"\" || el.MODAMOUNT2 == null || el.MODAMOUNT2 == undefined) {\r\n el.MODAMOUNT2 = \"\";\r\n } else {\r\n el.MODAMOUNT2 = el.MODAMOUNT2.toString();\r\n }\r\n if (el.MODAMOUNT3 == \"\" || el.MODAMOUNT3 == null || el.MODAMOUNT3 == undefined) {\r\n el.MODAMOUNT3 = \"\";\r\n } else {\r\n el.MODAMOUNT3 = el.MODAMOUNT3.toString();\r\n }\r\n if (el.MODAMOUNT4 == \"\" || el.MODAMOUNT4 == null || el.MODAMOUNT4 == undefined) {\r\n el.MODAMOUNT4 = \"\";\r\n } else {\r\n el.MODAMOUNT4 = el.MODAMOUNT4.toString();\r\n }\r\n if (el.QTY == \"\" || el.QTY == null || el.QTY == undefined) {\r\n el.QTY = \"1\";\r\n } else {\r\n el.QTY = el.QTY.toString();\r\n }\r\n if (el.BILLED == \"\" || el.BILLED == null || el.BILLED == undefined) {\r\n el.BILLED = \"1\";\r\n } else {\r\n el.BILLED = el.BILLED.toString();\r\n }\r\n if (el.DIAGREF == null || el.DIAGREF == undefined) {\r\n el.DIAGREF = 0;\r\n } else {\r\n el.DIAGREF = parseInt(el.DIAGREF.toString());\r\n }\r\n if (el.BUNDLER == \"\" || el.BUNDLER == null || el.BUNDLER == undefined) {\r\n el.BUNDLER = \"\";\r\n } else {\r\n el.BUNDLER = el.BUNDLER.toString();\r\n }\r\n if (el.BUNDLERTYP == \"\" || el.BUNDLERTYP == null || el.BUNDLERTYP == undefined) {\r\n el.BUNDLERTYP = \"\";\r\n } else {\r\n el.BUNDLERTYP = el.BUNDLERTYP.toString();\r\n }\r\n if (el.COPAY == \"\" || el.COPAY == null || el.COPAY == undefined) {\r\n el.COPAY = \"\";\r\n } else {\r\n el.COPAY = el.COPAY.toString();\r\n }\r\n if (el.MANDISCOUNT == \"\" || el.MANDISCOUNT == null || el.MANDISCOUNT == undefined) {\r\n el.MANDISCOUNT = \"\";\r\n } else {\r\n el.MANDISCOUNT = el.MANDISCOUNT.toString();\r\n }\r\n if (el.TRANSACT_NO == \"\" || el.TRANSACT_NO == null || el.TRANSACT_NO == undefined) {\r\n el.TRANSACT_NO = \"\";\r\n } else {\r\n el.TRANSACT_NO = el.TRANSACT_NO.toString();\r\n }\r\n if (el.PROCCODE_DESC == \"\" || el.PROCCODE_DESC == null || el.PROCCODE_DESC == undefined) {\r\n el.PROCCODE_DESC = \"\";\r\n } else {\r\n el.PROCCODE_DESC = el.PROCCODE_DESC.toString();\r\n }\r\n if (el.CLINICALCODE1 == \"\" || el.CLINICALCODE1 == null || el.CLINICALCODE1 == undefined) {\r\n el.CLINICALCODE1 = \"\";\r\n } else {\r\n el.CLINICALCODE1 = el.CLINICALCODE1.toString();\r\n }\r\n if (el.CLINICALCODE2 == \"\" || el.CLINICALCODE2 == null || el.CLINICALCODE2 == undefined) {\r\n el.CLINICALCODE2 = \"\";\r\n } else {\r\n el.CLINICALCODE2 = el.CLINICALCODE2.toString();\r\n }\r\n if (el.CLINICALCODE3 == \"\" || el.CLINICALCODE3 == null || el.CLINICALCODE3 == undefined) {\r\n el.CLINICALCODE3 = \"\";\r\n } else {\r\n el.CLINICALCODE3 = el.CLINICALCODE3.toString();\r\n }\r\n if (el.CLINICALCODE4 == \"\" || el.CLINICALCODE4 == null || el.CLINICALCODE4 == undefined) {\r\n el.CLINICALCODE4 = \"\";\r\n } else {\r\n el.CLINICALCODE4 = el.CLINICALCODE4.toString();\r\n }\r\n if (el.CLINICALCODE5 == \"\" || el.CLINICALCODE5 == null || el.CLINICALCODE5 == undefined) {\r\n el.CLINICALCODE5 = \"\";\r\n } else {\r\n el.CLINICALCODE5 = el.CLINICALCODE5.toString();\r\n }\r\n if (el.CLINICALCODE6 == \"\" || el.CLINICALCODE6 == null || el.CLINICALCODE6 == undefined) {\r\n el.CLINICALCODE6 = \"\";\r\n } else {\r\n el.CLINICALCODE6 = el.CLINICALCODE6.toString();\r\n }\r\n if (el.CLINICALCODE7 == \"\" || el.CLINICALCODE7 == null || el.CLINICALCODE7 == undefined) {\r\n el.CLINICALCODE7 = \"\";\r\n } else {\r\n el.CLINICALCODE7 = el.CLINICALCODE7.toString();\r\n }\r\n if (el.CLINICALCODE8 == \"\" || el.CLINICALCODE8 == null || el.CLINICALCODE8 == undefined) {\r\n el.CLINICALCODE8 = \"\";\r\n } else {\r\n el.CLINICALCODE8 = el.CLINICALCODE8.toString();\r\n }\r\n if (el.MEMO1 == \"\" || el.MEMO1 == null || el.MEMO1 == undefined) {\r\n el.MEMO1 = \"\";\r\n } else {\r\n el.MEMO1 = el.MEMO1.toString();\r\n }\r\n if (el.MEMO10 == \"\" || el.MEMO10 == null || el.MEMO10 == undefined) {\r\n el.MEMO10 = \"\";\r\n } else {\r\n el.MEMO10 = el.MEMO10.toString();\r\n }\r\n if (el.MEMO2 == \"\" || el.MEMO2 == null || el.MEMO2 == undefined) {\r\n el.MEMO2 = \"\";\r\n } else {\r\n el.MEMO2 = el.MEMO2.toString();\r\n }\r\n if (el.MEMO3 == \"\" || el.MEMO3 == null || el.MEMO3 == undefined) {\r\n el.MEMO3 = \"\";\r\n } else {\r\n el.MEMO3 = el.MEMO3.toString();\r\n }\r\n if (el.MEMO4 == \"\" || el.MEMO4 == null || el.MEMO4 == undefined) {\r\n el.MEMO4 = \"\";\r\n } else {\r\n el.MEMO4 = el.MEMO4.toString();\r\n }\r\n if (el.MEMO5 == \"\" || el.MEMO5 == null || el.MEMO5 == undefined) {\r\n el.MEMO5 = \"\";\r\n } else {\r\n el.MEMO5 = el.MEMO5.toString();\r\n }\r\n if (el.MEMO6 == \"\" || el.MEMO6 == null || el.MEMO6 == undefined) {\r\n el.MEMO6 = \"\";\r\n } else {\r\n el.MEMO6 = el.MEMO6.toString();\r\n }\r\n if (el.MEMO7 == \"\" || el.MEMO7 == null || el.MEMO7 == undefined) {\r\n el.MEMO7 = \"\";\r\n } else {\r\n el.MEMO7 = el.MEMO7.toString();\r\n }\r\n if (el.MEMO8 == \"\" || el.MEMO8 == null || el.MEMO8 == undefined) {\r\n el.MEMO8 = \"\";\r\n } else {\r\n el.MEMO8 = el.MEMO8.toString();\r\n }\r\n if (el.MEMO9 == \"\" || el.MEMO9 == null || el.MEMO9 == undefined) {\r\n el.MEMO9 = \"\";\r\n } else {\r\n el.MEMO9 = el.MEMO9.toString();\r\n }\r\n\r\n\r\n\r\n\r\n })\r\n }\r\n\r\n SaveRecord5() {\r\n this._busy = true;\r\n this.DiagCodesDataCheck();\r\n this._http.post(this._baseUrl +\r\n 'api/ClaimCapture/SaveFinalDiagCodes', this.diagnosticCodesList,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }\r\n ).subscribe((RecievedMessage) => {\r\n let v: any;\r\n v = RecievedMessage;\r\n this.messageSaved = v;\r\n },\r\n (error) => {\r\n console.log(error);\r\n this.errorMsgFound = \"CODE: \" + error.status + \" Message \" + error.message;\r\n this._errorFound = true;\r\n },\r\n () => {\r\n this._busy = false;\r\n this.SaveRecord8();\r\n }\r\n );\r\n }\r\n\r\n DiagCodesDataCheck() {\r\n let test = 1;\r\n this.diagnosticCodesList.forEach((el) => {\r\n\r\n el.TYPE = 5;\r\n if (el.DIAGREF == null || el.DIAGREF == undefined) {\r\n el.DIAGREF = 0;\r\n } else {\r\n el.DIAGREF = parseInt(el.DIAGREF.toString());\r\n }\r\n el.DIAG = el.DIAG.toString();\r\n if (el.FieldID == null || el.FieldID == undefined) {\r\n el.FieldID = 0;\r\n } else {\r\n el.FieldID = parseInt(el.FieldID.toString());\r\n }\r\n\r\n\r\n })\r\n }\r\n\r\n SaveRecord8() {\r\n this._busy = true;\r\n this.RejectionCodesDataCheck();\r\n this._http.post(this._baseUrl +\r\n 'api/ClaimCapture/SaveFinalRejectCodes', this.RejectList,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }\r\n ).subscribe((RecievedMessage) => {\r\n let v: any;\r\n v = RecievedMessage;\r\n this.messageSaved = v;\r\n\r\n },\r\n (error) => {\r\n console.log(error);\r\n this.errorMsgFound = \"CODE: \" + error.status + \" Message \" + error.message;\r\n this._errorFound = true;\r\n },\r\n () => {\r\n this._busy = false;\r\n this.SaveRecord4();\r\n }\r\n );\r\n }\r\n\r\n RejectionCodesDataCheck() {\r\n let test = 1;\r\n this.RejectList.forEach((el) => {\r\n el.TYPE = \"8\";\r\n if (el.LINE == \"\" || el.LINE == null || el.LINE == undefined) {\r\n el.LINE = \"\";\r\n } else {\r\n el.LINE = el.LINE.toString();\r\n }\r\n if (el.ADJCODE == \"\" || el.ADJCODE == null || el.ADJCODE == undefined) {\r\n el.ADJCODE = \"\";\r\n } else {\r\n el.ADJCODE = el.ADJCODE.toString();\r\n }\r\n if (el.ADJUST == \"\" || el.ADJUST == null || el.ADJUST == undefined) {\r\n el.ADJUST = \"\";\r\n } else {\r\n el.ADJUST = el.ADJUST.toString();\r\n }\r\n if (el.COMMENT == \"\" || el.COMMENT == null || el.COMMENT == undefined) {\r\n el.COMMENT = \"\";\r\n } else {\r\n el.COMMENT = el.COMMENT.toString();\r\n }\r\n if (el.Rec2IDArr == null || el.Rec2IDArr == undefined) {\r\n el.Rec2IDArr = 0;\r\n } else {\r\n el.Rec2IDArr = parseInt(el.Rec2IDArr.toString());\r\n }\r\n if (el.Rec2IDdb == null || el.Rec2IDdb == undefined) {\r\n el.Rec2IDdb = 0;\r\n } else {\r\n el.Rec2IDdb = parseInt(el.Rec2IDdb.toString());\r\n }\r\n })\r\n }\r\n\r\n SaveRecord4() {\r\n this.ClaimNotesDataCheck();\r\n this._busy = true;\r\n this._http.post(this._baseUrl +\r\n 'api/ClaimCapture/SaveFinalNotes', this.notesLists,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }\r\n ).subscribe((RecievedMessage) => {\r\n let v: any;\r\n v = RecievedMessage;\r\n this.messageSaved = v;\r\n },\r\n (error) => {\r\n console.log(error);\r\n this.errorMsgFound = \"CODE: \" + error.status + \" Message \" + error.message;\r\n this._errorFound = true;\r\n },\r\n () => {\r\n this._busy = false;\r\n this._success = true;\r\n this._disableBack = true;\r\n this.DoAuditOnClaimsSaved();\r\n }\r\n );\r\n }\r\n\r\n ClaimNotesDataCheck() {\r\n let test = 1;\r\n this.notesLists.forEach((el) => {\r\n el.TYPE = 4;\r\n if (el.NOTE == \"\" || el.NOTE == null || el.NOTE == undefined) {\r\n el.NOTE = \"\";\r\n } else {\r\n el.NOTE = el.NOTE.toString();\r\n }\r\n if (el.LINE == null || el.LINE == undefined) {\r\n el.LINE = 0;\r\n } else {\r\n el.LINE = parseInt(el.LINE.toString());\r\n }\r\n if (el.Rec2ID == null || el.Rec2ID == undefined) {\r\n el.Rec2ID = 0;\r\n } else {\r\n el.Rec2ID = parseInt(el.Rec2ID.toString());\r\n }\r\n if (el.Rec2ArrID == null || el.Rec2ArrID == undefined) {\r\n el.Rec2ArrID = 0;\r\n } else {\r\n el.Rec2ArrID = parseInt(el.Rec2ArrID.toString());\r\n }\r\n })\r\n }\r\n\r\n GetRejectionReasons() {\r\n this._busy = true;\r\n this.lobCode = new RejectionCodesModel();\r\n this.lobCode.username = this._loginService.CurrentLoggedInUser.username;\r\n this._http.post(this._baseUrl + \"api/ClaimCapture/GetRejectionCodes\", this.lobCode,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }\r\n ).subscribe((recievedList: [RejectionCodesModel]) => {\r\n this.rejectionReasons = [];\r\n this.rejectionReasons = recievedList;\r\n\r\n },\r\n (error) => {\r\n console.log(error);\r\n //if (error.status == '401') {\r\n // this._router.navigateByUrl('/login');\r\n //}\r\n },\r\n () => {\r\n this.PopulateDefualtAdjCodes();\r\n this._busy = false;\r\n });\r\n\r\n }\r\n\r\n GetStalePeriod() {\r\n\r\n // api/ClaimCapture/GetStalePeriod must get passed a different model containing HPCODE and OPT selected in claim capture in order to allow providers to capture claims\r\n //let x: RejectionCodesModel = new RejectionCodesModel(); // Jaco 2023-04-20\r\n //x.username = this._loginService.CurrentLoggedInUser.username; // Jaco 2023-04-20\r\n //x.userType = this._loginService.CurrentLoggedInUser.userType; // Jaco 2023-04-20\r\n let test = 1;\r\n this._http.post(this._baseUrl + 'api/ClaimCapture/GetStalePeriod', this._loginService.CurrentLoggedInUser, // Jaco 2023-04-20 this must change\r\n //this._http.post(this._baseUrl + 'api/ClaimCapture/GetStalePeriod', x, // Jaco 2023-04-20 this must be used in future \r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }\r\n ).subscribe((recievedData: ValidationResultsModel) => {\r\n let x: string[];\r\n\r\n x = recievedData.message.split(\":\");\r\n //console.log(x);\r\n\r\n for (var i = 0; i < x.length; i++) {\r\n if (x[i] == this.currentClaimHeader.hpCode) {\r\n this._stalePeriod = parseInt(x[i + 1]);\r\n break;\r\n }\r\n }\r\n\r\n //console.log(this._stalePeriod);\r\n\r\n },\r\n (error) => {\r\n this.errorMsgFound = \"CODE: \" + error.status + \" Message \" + error.message;\r\n this._errorFound = true;\r\n },\r\n () => { });\r\n }\r\n\r\n UpdateBankingDetails() {\r\n if (this.currentClaimHeader.CLAIMTYPE.toUpperCase() == 'M') {\r\n this.newBankingDetails.mainPolicyNo = this.currentClaimHeader.EZCAPMEMB;\r\n this.newBankingDetails.user = this._loginService.CurrentLoggedInUser.username;\r\n this.newBankingDetails.hpcode = this.currentClaimHeader.hpCode;\r\n this.newBankingDetails.claimType = this.currentClaimHeader.CLAIMTYPE;\r\n }\r\n if (this.currentClaimHeader.CLAIMTYPE.toUpperCase() == 'P') {\r\n this.newBankingDetails.provId = this.currentClaimHeader.EZCAPPROV;\r\n this.newBankingDetails.user = this._loginService.CurrentLoggedInUser.username;\r\n this.newBankingDetails.hpcode = this.currentClaimHeader.hpCode;\r\n this.newBankingDetails.claimType = this.currentClaimHeader.CLAIMTYPE;\r\n }\r\n\r\n this._busy = true;\r\n this._http.post(this._baseUrl + 'api/ClaimCapture/UpdateBankingDetails', this.newBankingDetails, {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }).subscribe((results) => { },\r\n (error) => {\r\n console.log(error);\r\n this.errorMsgFound = \"CODE: \" + error.status + \" Message \" + error.message;\r\n this._errorFound = true;\r\n },\r\n () => {\r\n this._busy = false;\r\n this._openBanking = false;\r\n });\r\n\r\n\r\n }\r\n\r\n GetHpCodesLagReport() {\r\n this._load = true;\r\n let x: RejectionCodesModel;\r\n x = new RejectionCodesModel();\r\n x.username = this._loginService.CurrentLoggedInUser.username;\r\n x.userType = this._loginService.CurrentLoggedInUser.userType;\r\n this._http.post(this._baseUrl + 'api/ClaimCapture/GetHpCodes', x,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }).\r\n subscribe((returnedList: [HealthplanModel]) => {\r\n this.HpCodesList = [];\r\n this.HpCodesList = returnedList;\r\n },\r\n (error) => {\r\n console.log(error);\r\n //if (error.status == '401') {\r\n // this._router.navigateByUrl('/login');\r\n //}\r\n },\r\n () => { this.GenerateLagReport(this.HpCodesList[0].code) });\r\n }\r\n\r\n GenerateLagReport(hpcode: string) {\r\n let claim: ClaimReport = new ClaimReport();\r\n claim.user = this._loginService.CurrentLoggedInUser.username;\r\n claim.hpcode = hpcode;\r\n let reportname: string;\r\n this._http.post(this._baseUrl + 'api/ClaimCapture/GetLagReport', claim,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }\r\n ).subscribe((recieved) => {\r\n let x: any;\r\n x = recieved;\r\n reportname = x.message;\r\n },\r\n (error) => {\r\n console.log(error);\r\n console.log(error);\r\n },\r\n () => {\r\n let today: Date = new Date;\r\n let dateString: string;\r\n dateString = today.toDateString() + '_' + hpcode + '_LAGREPORT.xlsx';\r\n var a = document.createElement('a');\r\n a.setAttribute('type', 'hidden');\r\n a.target = \"_blank\"\r\n //a.href = '../../PamcPortal/assets/Reports/' + reportname;\r\n a.href = 'assets/Reports/' + reportname;\r\n a.download = dateString;\r\n document.body.appendChild(a);\r\n a.click();\r\n a.remove();\r\n this._load = false;\r\n });\r\n }\r\n\r\n GetHpCodesAgeReport() {\r\n this._load = true;\r\n let x: RejectionCodesModel;\r\n x = new RejectionCodesModel();\r\n x.username = this._loginService.CurrentLoggedInUser.username;\r\n x.userType = this._loginService.CurrentLoggedInUser.userType;\r\n this._http.post(this._baseUrl + 'api/ClaimCapture/GetHpCodes', x,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }).\r\n subscribe((returnedList: [HealthplanModel]) => {\r\n this.HpCodesList = [];\r\n this.HpCodesList = returnedList;\r\n },\r\n (error) => {\r\n console.log(error); if (error.status == '401') {\r\n this._router.navigateByUrl('/login');\r\n }\r\n },\r\n () => { this.GenerateAgeReport(this.HpCodesList[0].code) });\r\n }\r\n\r\n GenerateAgeReport(hpcode: string) {\r\n let claim: ClaimReport = new ClaimReport();\r\n claim.user = this._loginService.CurrentLoggedInUser.username;\r\n\r\n claim.hpcode = hpcode;\r\n let reportname: string;\r\n this._http.post(this._baseUrl + 'api/ClaimCapture/GetAgeReport', claim,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }\r\n ).subscribe((recieved) => {\r\n let x: any;\r\n x = recieved;\r\n reportname = x.message;\r\n },\r\n (error) => {\r\n console.log(error);\r\n console.log(error);\r\n },\r\n () => {\r\n let today: Date = new Date;\r\n let dateString: string;\r\n dateString = today.toDateString() + '_' + hpcode + '_AGEANALYSIS.xlsx';\r\n var a = document.createElement('a');\r\n a.setAttribute('type', 'hidden');\r\n a.target = \"_blank\"\r\n //a.href = '../../PamcPortal/assets/Reports/' + reportname;\r\n a.href = 'assets/Reports/' + reportname;\r\n a.download = dateString;\r\n document.body.appendChild(a);\r\n a.click();\r\n a.remove();\r\n this._load = false;\r\n });\r\n }\r\n\r\n DoAuditOnClaimsSaved() {\r\n this._busy = true;\r\n this.auditMsg = new ValidationResultsModel();\r\n this._http.post(this._baseUrl + 'api/ClaimCapture/DoAuditOnClaimsSaved', this.claimDetailList,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }\r\n\r\n ).subscribe((results: ValidationResultsModel) => {\r\n\r\n this.auditMsg.valid = results.valid;\r\n this.auditMsg.message = results.message;\r\n },\r\n (error) => {\r\n this.errorMsgFound = \"CODE: \" + error.status + \" Message \" + error.message;\r\n this._errorFound = true;\r\n },\r\n () => {\r\n this._busy = false;\r\n this._success = true;\r\n });\r\n }\r\n\r\n LogObject() {\r\n this.HeaderDataCheck();\r\n this.DetailDataCheck();\r\n this.DiagCodesDataCheck();\r\n this.ClaimNotesDataCheck();\r\n this.RejectionCodesDataCheck();\r\n let objects: Objectlog = new Objectlog();\r\n objects.header = new Recordtype1Model();\r\n objects.detail = [];\r\n objects.diags = [];\r\n objects.notes = [];\r\n objects.rejects = [];\r\n objects.header = this.currentClaimHeader;\r\n objects.detail = this.claimDetailList;\r\n objects.diags = this.diagnosticCodesList;\r\n objects.notes = this.notesLists;\r\n objects.rejects = this.RejectList;\r\n\r\n this._http.post(this._baseUrl + 'api/ClaimCapture/LogObject', objects, {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }\r\n ).subscribe((el) => {\r\n\r\n },\r\n (error) => { console.log(error) },\r\n () => { })\r\n }\r\n\r\n RestoreClaim(claim: Objectlog) {\r\n this._busy = true;\r\n this._http.post(this._baseUrl + 'api/ClaimCapture/RestoreClaim', claim,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }).subscribe((results: ValidationResultsModel) => {\r\n let c: string[];\r\n c = results.message.split(',');\r\n this.fileid = parseInt(c[0]);\r\n this.rec1Id = parseInt(c[1]);\r\n this.auditMsg.message = c[2];\r\n this.auditMsg.valid = results.valid;\r\n\r\n },\r\n (error) => { console.log(error); },\r\n () => {\r\n\r\n this._busy = false;\r\n this._success = true;\r\n });\r\n }\r\n\r\n UpdateHeader() {\r\n this._busy = true;\r\n\r\n this._http.post(this._baseUrl + 'api/ClaimCapture/UpdateHeader', this.currentClaimHeader, {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }\r\n ).subscribe((results: ValidationResultsModel) => {\r\n\r\n },\r\n (error) => {\r\n console.log(error);\r\n },\r\n () => {\r\n this._busy = false;\r\n })\r\n }\r\n\r\n SearchCapturedClaims() {\r\n\r\n this._ReportList.splice(0, this._ReportList.length);\r\n //this._ReportListTemp.splice(0, this._ReportListTemp.length);\r\n\r\n let claim: ClaimReport = new ClaimReport();\r\n claim.hpcode = '';\r\n claim.capturedFrom = this.capturedClaimsForm.get('createdFrom').value;\r\n claim.capturedTo = this.capturedClaimsForm.get('createdTo').value;\r\n claim.username = this._loginService.CurrentLoggedInUser.username;\r\n\r\n if (this.capturedClaimsForm.get('capturedBy').value == \"Me\") {\r\n claim.userClaimsOnly = true;\r\n } else {\r\n claim.userClaimsOnly = false;\r\n }\r\n\r\n if (this.HpCodesList.length > 1) {\r\n for (var i = 0; i < this.HpCodesList.length; i++) {\r\n if (i == this.HpCodesList.length - 1) {\r\n claim.hpcode = claim.hpcode + this.HpCodesList[i].code;\r\n } else {\r\n claim.hpcode = claim.hpcode + this.HpCodesList[i].code + ';';\r\n }\r\n }\r\n } else {\r\n claim.hpcode = this.HpCodesList[0].code;\r\n }\r\n this.GetAllClaims(claim);\r\n }\r\n\r\n GetAllClaims(claims: ClaimReport) {\r\n //this._showReport = false;\r\n this._busyLoading = true;\r\n this._http.post(this._baseUrl + 'api/ClaimCapture/GetAllClaims', claims, {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n })\r\n }).subscribe(\r\n (receivedData: ClaimReport[]) => {\r\n\r\n this._ReportList = [];\r\n let page = 1;\r\n let count = 1;\r\n receivedData.forEach((el) => {\r\n if (count == 20) {\r\n page++;\r\n count = 1;\r\n }\r\n el.memb = el.memb.toUpperCase();\r\n el.billed = parseFloat(el.billed).toFixed(2);\r\n el.page = page;\r\n count++;\r\n\r\n this._ReportList.push(el);\r\n //this._ReportListTemp.push(el);\r\n });\r\n this._ReportListDisplay = [];\r\n\r\n this.claimReportTotalPages = page;\r\n //let x: ClaimReport[];\r\n //x = [];\r\n //if (this._ReportList.length !== 0) {\r\n // this._ReportList.sort((a, b) => a.dateCreated < b.dateCreated ? -1 : 1).forEach((el) => { x.push(el) });\r\n\r\n // this.earliestdate = x[0].dateCreated;\r\n // this.latestDate = x[x.length - 1].dateCreated;\r\n //} else {\r\n // this.earliestdate = \"\";\r\n // this.latestDate = \"\";\r\n //}\r\n\r\n this._ReportList.forEach((el) => {\r\n if (el.page == 1) {\r\n this._ReportListDisplay.push(el);\r\n }\r\n })\r\n },\r\n (error: HttpErrorResponse) => {\r\n console.log(error);\r\n this._busyLoading = false;\r\n this._ReportList = [];\r\n this._ReportListDisplay = [];\r\n this._errorModal = true;\r\n this._errorMessageHeading = \"Unexpected error ocurred\";\r\n this._errorMessage = error.message;\r\n //if (error.status == '401') {\r\n // this._router.navigateByUrl('/login');\r\n //}\r\n },\r\n () => {\r\n this._busyLoading = false;\r\n //this._showReport = true;\r\n }\r\n );\r\n }\r\n\r\n incPage() {\r\n if (this.curPage < this.claimReportTotalPages) {\r\n this.curPage++;\r\n this._ReportListDisplay = [];\r\n this._ReportList.forEach((el) => {\r\n if (el.page == this.curPage) {\r\n this._ReportListDisplay.push(el);\r\n }\r\n })\r\n }\r\n }\r\n\r\n decPage() {\r\n if (this.curPage > 1) {\r\n this.curPage--;\r\n this._ReportListDisplay = [];\r\n this._ReportList.forEach((el) => {\r\n if (el.page == this.curPage) {\r\n this._ReportListDisplay.push(el);\r\n }\r\n })\r\n }\r\n }\r\n\r\n //GridSortingDates() {\r\n\r\n // this.filterCountDetails++;\r\n // if (this.filterCountDetails === 1) {\r\n // this._ReportList.sort((a, b) => b.dateCreated < a.dateCreated ? -1 : 1);\r\n // } else {\r\n // this.filterCountDetails = 0;\r\n // this._ReportList.sort((a, b) => a.dateCreated < b.dateCreated ? -1 : 1);\r\n // }\r\n\r\n //}\r\n\r\n //GridSortingUser() {\r\n // this.filterCountNet++;\r\n // if (this.filterCountNet === 1) {\r\n // this._ReportList.sort((a, b) => a.user < b.user ? -1 : 1);\r\n // } else {\r\n // this.filterCountNet = 0;\r\n // this._ReportList.sort((a, b) => b.user < a.user ? -1 : 1);\r\n // }\r\n\r\n //}\r\n\r\n GridSortingDates() {\r\n this.filterCountDetails++;\r\n if (this.filterCountDetails === 1) {\r\n this._ReportList.sort((a, b) => b.dateCreated < a.dateCreated ? -1 : 1);\r\n } else {\r\n this.filterCountDetails = 0;\r\n this._ReportList.sort((a, b) => a.dateCreated < b.dateCreated ? -1 : 1);\r\n }\r\n let page = 1;\r\n let count = 1;\r\n this._ReportList.forEach(el => {\r\n if (count == 20) {\r\n page++;\r\n count = 1;\r\n }\r\n count++\r\n el.page = page;\r\n })\r\n this._ReportListDisplay = [];\r\n this._ReportList.forEach((el) => {\r\n if (el.page == 1) {\r\n this._ReportListDisplay.push(el);\r\n }\r\n });\r\n this.claimReportTotalPages = page;\r\n this.curPage = 1;\r\n }\r\n\r\n GridSortingUser() {\r\n this.filterCountNet++;\r\n if (this.filterCountNet === 1) {\r\n this._ReportList.sort((a, b) => a.user < b.user ? -1 : 1);\r\n } else {\r\n this.filterCountNet = 0;\r\n this._ReportList.sort((a, b) => b.user < a.user ? -1 : 1);\r\n }\r\n let page = 1;\r\n let count = 1;\r\n this._ReportList.forEach(el => {\r\n if (count == 20) {\r\n page++;\r\n count = 1;\r\n }\r\n count++\r\n el.page = page;\r\n })\r\n this._ReportListDisplay = [];\r\n this._ReportList.forEach((el) => {\r\n if (el.page == 1) {\r\n this._ReportListDisplay.push(el);\r\n }\r\n });\r\n this.claimReportTotalPages = page;\r\n this.curPage = 1;\r\n }\r\n\r\n ExportReportListExcel() {\r\n this._busyLoading = true;\r\n this._http.post(this._baseUrl + 'api/ClaimCapture/ExportCapturedClaimsToExcel', this._ReportList, {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n })\r\n }).subscribe(\r\n (result: ValidationResultsModel) => {\r\n if (result.valid) {\r\n // Download file in browser \r\n var a = document.createElement('a');\r\n a.target = \"_blank\";\r\n a.setAttribute('type', 'hidden');\r\n a.href = 'assets/CapturedClaimsReports/' + result.message;\r\n a.download = result.message;\r\n document.body.appendChild(a);\r\n a.click();\r\n a.remove();\r\n } else {\r\n this._errorModal = true;\r\n this._errorMessageHeading = \"Export Failed\";\r\n this._errorMessage = result.message;\r\n }\r\n },\r\n (error: HttpErrorResponse) => {\r\n console.log(error);\r\n this._busyLoading = false;\r\n this._errorModal = true;\r\n this._errorMessageHeading = \"Export Failed\";\r\n this._errorMessage = error.message;\r\n },\r\n () => {\r\n this._busyLoading = false;\r\n }\r\n );\r\n }\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { ClaimReport } from '../models/ClaimReport';\r\nimport { HealthplanModel } from '../models/HealthplanModel';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { SecurityService } from './security.service';\r\nimport { RejectionCodesModel } from '../models/RejectionCodesModel';\r\nimport { LoginService } from './login.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class GraphsService {\r\n\r\n public _claimsData: any[] = [];\r\n public _paidGraphOptions: any;\r\n public _paidUnpaidSplitGraphOptions: any;\r\n private _monthType: string = \"paidMonth\"\r\n private _yearType: string = \"paidYear\"\r\n private _paidYears: number[] = []\r\n private _serviceYears: number[] = []\r\n private _serviceYMs: string[] = []\r\n private _serviceDatePaidDate: boolean = false;\r\n private _hpcodes: ClaimReport;\r\n public _hpcodeList: HealthplanModel[] = [];\r\n public _busy: boolean = true;\r\n public _showGraph: boolean = false;\r\n\r\n constructor(private _http: HttpClient, @Inject('BASE_URL') public _baseUrl: string, private _loginService: LoginService) { }\r\n\r\n\r\n get serviceDatePaidDate(): boolean {\r\n return this._serviceDatePaidDate;\r\n }\r\n set serviceDatePaidDate(value: boolean) {\r\n if (value === undefined) throw 'Please supply Paid/ Unpaid value';\r\n this._serviceDatePaidDate = value;\r\n if (value) {\r\n this._monthType = \"paidMonth\"\r\n this._yearType = \"paidYear\"\r\n } else {\r\n this._monthType = \"serviceMonth\"\r\n this._yearType = \"serviceYear\"\r\n }\r\n this.GeneratePaidGraphOptions();\r\n }\r\n\r\n HpCodes() {\r\n let p = this;\r\n p._busy = true;\r\n let x: RejectionCodesModel;\r\n x = new RejectionCodesModel();\r\n x.username = this._loginService.CurrentLoggedInUser.username;\r\n x.userType = this._loginService.CurrentLoggedInUser.userType;\r\n this._http.post(this._baseUrl + 'api/ClaimCapture/GetHpCodes', x,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this._loginService.token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }).\r\n subscribe((returnedList: [HealthplanModel]) => {\r\n this._hpcodeList = [];\r\n this._hpcodeList = returnedList;\r\n this._hpcodes = new ClaimReport();\r\n if (this._hpcodeList.length > 1) {\r\n for (var i = 0; i < this._hpcodeList.length; i++) {\r\n if (i == 0) {\r\n this._hpcodes.hpcode = this._hpcodeList[i].code;\r\n } else {\r\n if (i == this._hpcodeList.length - 1) {\r\n this._hpcodes.hpcode = this._hpcodes.hpcode + ';' + this._hpcodeList[i].code;\r\n } else {\r\n this._hpcodes.hpcode = this._hpcodes.hpcode + this._hpcodeList[i].code + ';';\r\n }\r\n\r\n }\r\n }\r\n } else {\r\n\r\n this._hpcodes.hpcode = this._hpcodeList[0].code;\r\n }\r\n\r\n },\r\n (error) => {\r\n console.log(error);\r\n },\r\n () => {\r\n this.GetClaimsData(this._hpcodeList[0].code);\r\n p._showGraph = true;\r\n });\r\n }\r\n\r\n public GetClaimsData(hpcode: string) {\r\n\r\n this._hpcodeList.forEach((el) => {\r\n if (el.code == hpcode) {\r\n el.activeTab = true;\r\n } else {\r\n el.activeTab = false;\r\n }\r\n });\r\n this._busy = true;\r\n let p = this;\r\n this._hpcodes.hpcode = hpcode;\r\n this._claimsData.splice(0, this._claimsData.length);\r\n this._http.post(this._baseUrl + 'api/Report/GetGraphReport', this._hpcodes, {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this._loginService.token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }).\r\n subscribe((returnedList: any[]) => {\r\n\r\n\r\n returnedList.forEach((el) => {\r\n p._claimsData.push(el);\r\n })\r\n\r\n\r\n this.GetYearsFromData();\r\n this.GeneratePaidGraphOptions();\r\n this.GeneratePaidUnpaidSplit();\r\n this._busy = false;\r\n\r\n\r\n },\r\n (error) => { console.log(error); },\r\n () => {\r\n this._busy = false;\r\n p._showGraph = true;\r\n });\r\n }\r\n\r\n\r\n private GetYearsFromData() {\r\n let p = this;\r\n\r\n this._claimsData.forEach(\r\n (item) => {\r\n let svcYM: string = item[\"serviceYM\"].toString();;\r\n let paidYear: string = item[\"paidYear\"].toString();\r\n let svcYear: string = item[\"serviceYear\"].toString();\r\n\r\n let tmpPaidYear: number;\r\n let tmpSvcYear: number;\r\n\r\n tmpPaidYear = parseInt(paidYear)\r\n tmpSvcYear = parseInt(svcYear)\r\n\r\n let ind = this._paidYears.indexOf(tmpPaidYear)\r\n if (ind < 0) {\r\n this._paidYears.push(tmpPaidYear);\r\n }\r\n\r\n ind = this._serviceYears.indexOf(tmpSvcYear)\r\n if (ind < 0) {\r\n this._serviceYears.push(tmpSvcYear);\r\n }\r\n\r\n ind = this._serviceYMs.indexOf(svcYM);\r\n if (ind < 0) {\r\n this._serviceYMs.push(svcYM);\r\n }\r\n }\r\n );\r\n }\r\n\r\n private GeneratePaidGraphOptions() {\r\n let p = this;\r\n\r\n let xAxisData = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sept', 'Oct', 'Nov', 'Dec'];\r\n let seriesList = [];\r\n let seriesDataList = [];\r\n\r\n let seriesDict = [];\r\n //*************************** */\r\n if (p.serviceDatePaidDate) {\r\n seriesList = p._paidYears;\r\n } else {\r\n seriesList = p._serviceYears;\r\n }\r\n\r\n seriesList = seriesList.sort((el, el2) => {\r\n if (Number(el) > Number(el2)) {\r\n return -1;\r\n } else {\r\n return 1;\r\n }\r\n })\r\n seriesList.forEach(element => {\r\n\r\n\r\n let seriesDataPoints = p._claimsData.filter((item) => {\r\n if (item.paidYear == element) {\r\n return item;\r\n }\r\n });\r\n\r\n let paidAmounts = [];\r\n\r\n for (let index = 1; index < 13; index++) {\r\n\r\n let monthData = seriesDataPoints.filter(element => {\r\n if (element.paidMonth == index) {\r\n return element;\r\n }\r\n });\r\n\r\n\r\n let paidAmount = 0.0;\r\n monthData.forEach(month => {\r\n if ((month.isRiskOpt == \"NonRisk\") && (month.status == \"9\")) {\r\n paidAmount = paidAmount + month.net;\r\n }\r\n\r\n });\r\n\r\n paidAmounts.push(paidAmount.toFixed(2));\r\n\r\n }\r\n\r\n let seriesData = {\r\n name: element,\r\n type: 'line',\r\n data: paidAmounts,\r\n animationDelay: function (idx) {\r\n return idx * 10;\r\n }\r\n };\r\n\r\n seriesDict[element] = seriesData;\r\n seriesDataList.push(seriesData);\r\n });\r\n p._paidGraphOptions = {\r\n title: {\r\n text: 'Paid Claims',\r\n subtext: this._serviceDatePaidDate ? 'Grouped by Paid Dates' : 'Grouped by Service Dates',\r\n x: 'center',\r\n visible: false\r\n },\r\n legend: {\r\n data: seriesList,\r\n align: 'left',\r\n x: 'left',\r\n y: 'bottom'\r\n },\r\n tooltip: {},\r\n xAxis: {\r\n data: xAxisData,\r\n silent: false,\r\n splitLine: {\r\n show: false\r\n }\r\n },\r\n yAxis: {\r\n },\r\n series: seriesDataList,\r\n animationEasing: 'elasticOut',\r\n animationDelayUpdate: function (idx) {\r\n return idx * 5;\r\n }\r\n };\r\n }\r\n\r\n private GeneratePaidUnpaidSplit() {\r\n let thisInstance = this;\r\n let xAxisData = this._serviceYMs;\r\n console.log('Sort xAxis')\r\n xAxisData.sort(\r\n //(el, el2) => {\r\n //if (Number(el) > Number(el2)) {\r\n // return -1;\r\n //} else {\r\n // return 1;\r\n //}\r\n //}\r\n\r\n (a, b) => a < b ? -1 : 1\r\n )\r\n\r\n let paidAmounts = []\r\n let unPaidAmounts = []\r\n xAxisData.forEach(\r\n itemYM => {\r\n let paidAmount = 0.0\r\n let unPaidAmount = 0.0\r\n let monthData = this._claimsData.filter(element => {\r\n return element[\"serviceYM\"] == itemYM;\r\n });\r\n monthData.forEach(\r\n svcMonthItem => {\r\n if (svcMonthItem[\"status\"].toString() == \"9\") {\r\n paidAmount += parseInt(svcMonthItem.net);\r\n } else {\r\n unPaidAmount += parseInt(svcMonthItem.net);\r\n }\r\n }\r\n );\r\n paidAmounts.push(paidAmount);\r\n if (unPaidAmount < 0) {\r\n unPaidAmount = 0;\r\n }\r\n unPaidAmounts.push(unPaidAmount);\r\n\r\n\r\n }\r\n );\r\n\r\n\r\n var upColor = '#00da3c';\r\n var downColor = '#ec0000';\r\n thisInstance._paidUnpaidSplitGraphOptions = {\r\n title: {\r\n text: 'Paid/Unpaid Claims'\r\n },\r\n tooltip: {\r\n trigger: 'axis',\r\n axisPointer: {\r\n type: 'cross',\r\n label: {\r\n backgroundColor: '#6a7985'\r\n }\r\n }\r\n },\r\n legend: {\r\n data: ['Unpaid Claims', 'Paid Claims']\r\n },\r\n grid: {\r\n left: '5%',\r\n right: '6%',\r\n bottom: '5%',\r\n containLabel: true\r\n },\r\n toolbox: {\r\n feature: {\r\n saveAsImage: {\r\n title: \"Download Image of Chart\"\r\n\r\n },\r\n dataZoom: {\r\n yAxisIndex: false,\r\n title: { \"zoom\": \"Zoom Chart\", \"back\": \"Remove Zoom\" }\r\n }\r\n }\r\n },\r\n xAxis: [\r\n {\r\n type: 'category',\r\n boundaryGap: false,\r\n data: xAxisData\r\n\r\n }\r\n ],\r\n yAxis: [\r\n {\r\n type: 'value'\r\n\r\n }\r\n ],\r\n series: [\r\n\r\n {\r\n name: 'Paid Claims',\r\n type: 'line',\r\n stack: 'WWWWWWWW',\r\n label: {\r\n position: 'TopLeft',\r\n normal: {\r\n\r\n show: true,\r\n formatter: function (data) {\r\n return thisInstance.GetFormattedValue(data);\r\n },\r\n color: '#151515'\r\n }\r\n },\r\n areaStyle: { normal: {} },\r\n data: paidAmounts\r\n },\r\n {\r\n name: 'Unpaid Claims',\r\n type: 'line',\r\n stack: 'WWWWWWWW',\r\n label: {\r\n normal: {\r\n show: true,\r\n formatter: function (data) {\r\n\r\n return thisInstance.GetFormattedValue(data);\r\n },\r\n position: 'BottomRight',\r\n color: '#151515',\r\n offset: [0, -15],\r\n }\r\n\r\n },\r\n areaStyle: { normal: {} },\r\n data: unPaidAmounts\r\n\r\n }\r\n ]\r\n };\r\n thisInstance._busy = false;\r\n thisInstance._showGraph = true;\r\n }\r\n\r\n public counter = 1;\r\n public GetFormattedValue(data: any): any {\r\n var v = data.value;\r\n if (Number.isNaN(v)) {\r\n this._showGraph = true;\r\n return '';\r\n }\r\n\r\n if (v < 1000) {\r\n this._showGraph = true;\r\n return '';\r\n }\r\n let suffixes = ['k', 'M', 'G', 'T', 'P', 'E'];\r\n let rounded = 0.0;\r\n let exp = Math.floor(Math.log(v) / Math.log(1000));\r\n\r\n if (this.counter == 1) {\r\n this._showGraph = true;\r\n this.counter++;\r\n return (v / Math.pow(1000, exp)).toFixed(2) + suffixes[exp - 1] + \"\\n\\n\";\r\n\r\n }\r\n if (this.counter == 2) {\r\n this._showGraph = true;\r\n this.counter = 1;\r\n return \"\\n\\n\" + (v / Math.pow(1000, exp)).toFixed(2) + suffixes[exp - 1];\r\n\r\n }\r\n\r\n }\r\n\r\n GenerateAgeReport(hpcode: string) {\r\n let claim: ClaimReport = new ClaimReport();\r\n claim.user = this._loginService.CurrentLoggedInUser.username;\r\n\r\n claim.hpcode = hpcode;\r\n let reportname: string;\r\n this._http.post(this._baseUrl + 'api/Report/GetAgeReport', claim,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this._loginService.token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }\r\n ).subscribe((recieved) => {\r\n let x: any;\r\n x = recieved;\r\n reportname = x.message;\r\n },\r\n (error) => {\r\n console.log(error);\r\n console.log(error);\r\n },\r\n () => {\r\n let today: Date = new Date;\r\n let dateString: string;\r\n dateString = today.toDateString() + '_' + hpcode + '_AGEANALYSIS.xlsx';\r\n var a = document.createElement('a');\r\n a.setAttribute('type', 'hidden');\r\n a.target = \"_blank\"\r\n //a.href = '../../PamcPortal/assets/Reports/' + reportname;\r\n a.href = 'assets/Reports/' + reportname;\r\n a.download = dateString;\r\n document.body.appendChild(a);\r\n a.click();\r\n a.remove();\r\n this._busy = false;\r\n });\r\n }\r\n\r\n\r\n GenerateLagReport(hpcode: string) {\r\n let claim: ClaimReport = new ClaimReport();\r\n claim.user = this._loginService.CurrentLoggedInUser.username;\r\n claim.hpcode = hpcode;\r\n let reportname: string;\r\n this._http.post(this._baseUrl + 'api/Report/GetLagReport', claim,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this._loginService.token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }\r\n ).subscribe((recieved) => {\r\n let x: any;\r\n x = recieved;\r\n reportname = x.message;\r\n },\r\n (error) => {\r\n console.log(error);\r\n console.log(error);\r\n },\r\n () => {\r\n let today: Date = new Date;\r\n let dateString: string;\r\n dateString = today.toDateString() + '_' + hpcode + '_LAGREPORT.xlsx';\r\n var a = document.createElement('a');\r\n a.setAttribute('type', 'hidden');\r\n a.target = \"_blank\"\r\n //a.href = '../../PamcPortal/assets/Reports/' + reportname;\r\n a.href = 'assets/Reports/' + reportname;\r\n a.download = dateString;\r\n document.body.appendChild(a);\r\n a.click();\r\n a.remove();\r\n this._busy = false;\r\n });\r\n }\r\n\r\n}\r\n","import { Injectable, Inject, HostListener } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { ValidationResultsModel } from '../models/ValidationResultsModel';\r\nimport { HealthPlanSetupModel } from '../models/HealthPlanSetupModel';\r\nimport { HP_ContractsModel } from '../models/HP_ContractsModel';\r\nimport { SettingsService } from './settings.service';\r\nimport { LoginDetailsModel } from '../models/LoginDetailsModel';\r\nimport { Router } from '@angular/router';\r\nimport { ProviderRemittancesModel } from '../models/ProviderRemittancesModel';\r\nimport { ImagespecModel } from '../models/ImagespecModel';\r\nimport { SpecCodes } from '../models/SpecCodes';\r\nimport { BenTrackCodes } from '../models/ben-track-codes';\r\nimport { Specmasters } from '../models/specmasters';\r\nimport { AccountingBureauRemittancesModel } from '../models/AccountingBureauRemittancesModel';\r\nimport { BureauProvidersModel } from '../models/BureauProvidersModel';\r\nimport { MemberInfoModel } from '../models/MemberInfoModel';\r\nimport { UserGridModel } from '../models/UserGridModel';\r\nimport { LOBcodesModel } from '../models/LOBcodesModel';\r\nimport { UsertypeModel } from '../models/UsertypeModel';\r\nimport { UserRightsModel } from '../models/UserRightsModel';\r\nimport { ManualsModel } from '../models/ManualsModel';\r\nimport { PasswordChange } from '../models/PasswordChangeModel';\r\nimport { PopUpModel } from '../models/PopUpModel';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LoginService {\r\n\r\n //PRIVATE VARIABLES\r\n private _screenWidth: number;\r\n private _webAPIavailable: boolean = false;\r\n private _server: string;\r\n private _busy: boolean;\r\n private _subscribeError: boolean = false;\r\n private _healthPlansetup: HealthPlanSetupModel[] = [];\r\n private _memberRegistrationhealthPlans: HP_ContractsModel[] = [];\r\n private _brokerRegistrationhealthPlans: HP_ContractsModel[] = [];\r\n private _token: string;\r\n private _userName: string;\r\n private _password: string;\r\n private show_hide_error: boolean = false;\r\n private _isLoggedin: boolean = false;\r\n private _isSpecialist: boolean = false;\r\n private _listOfDentistSpecCodes: string[] = [];\r\n private _listOfHospitalSpecCodes: string[] = [];\r\n private _listOfPharmaciesSpecCodes: string[] = [];\r\n private _loggedInuser: LoginDetailsModel;\r\n private _isDentist: boolean = false;\r\n private _isPharmacy: boolean = false;\r\n private _listOfhealthplansMember: HP_ContractsModel[] = [];\r\n private _listOfhealthplansMemberBenScreen: HP_ContractsModel[] = [];\r\n private _listOfhealthplansClaim: HP_ContractsModel[] = [];\r\n private _providerRemittances: ProviderRemittancesModel[] = [];\r\n private _selectedimage: ImagespecModel = new ImagespecModel();\r\n private _specList: SpecCodes[] = [];\r\n private _bencodes: BenTrackCodes[] = [];\r\n private _existingBen: Specmasters[] = [];\r\n private _remittances: AccountingBureauRemittancesModel[] = [];\r\n private _remittanceLoader: boolean = false;\r\n private _listOfProvider: BureauProvidersModel[] = [];\r\n private _memberInfo: MemberInfoModel[] = [];\r\n private _originalListofUsers: UserGridModel[] = []\r\n private _listOfusers: UserGridModel[] = [];\r\n private _lobCodes: LOBcodesModel[] = [];\r\n private _userTypesarray: UsertypeModel[] = [];\r\n private _userRegistration: any[] = [];\r\n private _userRights: UserRightsModel = new UserRightsModel();\r\n private _manuals: ManualsModel[] = [];\r\n private _manuals2020: ManualsModel[] = [];\r\n private _manuals2019: ManualsModel[] = [];\r\n private _guides2020: ManualsModel[] = [];\r\n private _guides2019: ManualsModel[] = [];\r\n private _poptcModel: boolean = false;\r\n private _passwordChange: PasswordChange = new PasswordChange();\r\n private _oldPasswordError: string;\r\n private _oldPasswordHasError: boolean;\r\n private _disableConfirm: boolean = true;\r\n private _newPasswordError: string = \"\";\r\n private _newPasswordHasError: boolean;\r\n private _confirmPasswordError: string = \"\";\r\n private _confirmPasswordHasError: boolean;\r\n private _showPasswordChange: boolean = false;\r\n private _confirmationMessage: string;\r\n private _showConfirmationMsg: boolean = false;\r\n private _bureauRecover: boolean = false;\r\n private _newPasswordrecover = \"\";\r\n private _confirmNewpasswordrecover = \"\";\r\n private _accUpdateerror: boolean = false;\r\n private _recoverAccount: boolean = false;\r\n private _accemailValidationregistermodal: boolean = false;\r\n private _accUpdatesuccess: boolean = false;\r\n private _showHideforgetPassword: boolean = false;\r\n private _names = new Array();\r\n private _providerIdBureaurecover: string = \"\";\r\n private _enableAddProvider: boolean = false\r\n private _passwordErrorlabel = \"\";\r\n private _isHospital: boolean = false;\r\n private _smallPopModal: boolean = false;\r\n private _mediumPopModal: boolean = false;\r\n private _largePopModal: boolean = false;\r\n private _popupList: PopUpModel[] = [];\r\n private _currPopMsg: number = 0;\r\n\r\n\r\n \r\n\r\n\r\n constructor(private _http: HttpClient, @Inject('BASE_URL') public _baseUrl: string, private _settingsService: SettingsService, private _router: Router) {\r\n //this._baseUrl = 'http://localhost:4200'\r\n this.TestConnection();\r\n\r\n this.ScreenWidth = window.innerWidth;\r\n }\r\n\r\n //GETTER AND SETTER\r\n public get currPopMsg(): number {\r\n return this._currPopMsg;\r\n }\r\n public set currPopMsg(value: number) {\r\n this._currPopMsg = value;\r\n }\r\n public get smallPopModal(): boolean {\r\n return this._smallPopModal;\r\n }\r\n public set smallPopModal(value: boolean) {\r\n this._smallPopModal = value;\r\n }\r\n public get mediumPopModal(): boolean {\r\n return this._mediumPopModal;\r\n }\r\n public set mediumPopModal(value: boolean) {\r\n this._mediumPopModal = value;\r\n }\r\n public get largePopModal(): boolean {\r\n return this._largePopModal;\r\n }\r\n public set largePopModal(value: boolean) {\r\n this._largePopModal = value;\r\n }\r\n public get ScreenWidth(): number {\r\n return this._screenWidth;\r\n }\r\n public set ScreenWidth(value: number) {\r\n this._screenWidth = value;\r\n }\r\n public get InvaildUsernameOrPassword() {\r\n return this.show_hide_error\r\n }\r\n public get SQLConnectionStatus() {\r\n return this._webAPIavailable\r\n }\r\n public get server(): string {\r\n return this._server;\r\n }\r\n public set server(value: string) {\r\n this._server = value;\r\n }\r\n public get busy(): boolean {\r\n return this._busy;\r\n }\r\n public set busy(value: boolean) {\r\n this._busy = value;\r\n }\r\n public get ErrorOccurance() {\r\n return this._subscribeError\r\n }\r\n public get HealthPlans() {\r\n return this._healthPlansetup;\r\n }\r\n public set HealthPlans(val: HealthPlanSetupModel[]) {\r\n this._healthPlansetup = val;\r\n }\r\n public get MemberRegHealthPlans() {\r\n return this._memberRegistrationhealthPlans\r\n }\r\n public get BrokerHealthPlans() {\r\n return this._brokerRegistrationhealthPlans\r\n }\r\n public get token(): string {\r\n return this._token;\r\n }\r\n public set token(value: string) {\r\n this._token = value;\r\n }\r\n public get Username() {\r\n return this._userName\r\n }\r\n public set Username(name) {\r\n this._userName = name\r\n }\r\n public get Password() {\r\n return this._password\r\n }\r\n public set Password(pass) {\r\n this._password = pass\r\n }\r\n public get CurrentLoggedInUser() {\r\n return this._loggedInuser\r\n }\r\n public get IsLoggedIn(): boolean {\r\n return this._isLoggedin;\r\n }\r\n public set IsLoggedIn(value: boolean) {\r\n this._isLoggedin = value;\r\n }\r\n public get isSpecialist(): boolean {\r\n return this._isSpecialist;\r\n }\r\n public set isSpecialist(value: boolean) {\r\n this._isSpecialist = value;\r\n }\r\n public get ProviderRemittance() {\r\n return this._providerRemittances\r\n }\r\n public get isDentist(): boolean {\r\n return this._isDentist;\r\n }\r\n public set isDentist(value: boolean) {\r\n this._isDentist = value;\r\n }\r\n public get isPharmacy(): boolean {\r\n return this._isPharmacy;\r\n }\r\n public set isPharmacy(value: boolean) {\r\n this._isPharmacy = value;\r\n }\r\n public get isHospital(): boolean {\r\n return this._isHospital;\r\n }\r\n public set isHospital(value: boolean) {\r\n this._isHospital = value;\r\n }\r\n public get ClaimsHealthPlanDropDown() {\r\n return this._listOfhealthplansClaim\r\n }\r\n public get SelectedImage() {\r\n return this._selectedimage\r\n }\r\n public get MemberClaimsDropDown() {\r\n return this._listOfhealthplansMember\r\n }\r\n public get MemberClaimsDropDownBenScreen() {\r\n return this._listOfhealthplansMemberBenScreen\r\n }\r\n public get specList(): SpecCodes[] {\r\n return this._specList;\r\n }\r\n public set specList(value: SpecCodes[]) {\r\n this._specList = value;\r\n }\r\n public get bencodes(): BenTrackCodes[] {\r\n return this._bencodes;\r\n }\r\n public set bencodes(value: BenTrackCodes[]) {\r\n this._bencodes = value;\r\n }\r\n public get existingBen(): Specmasters[] {\r\n return this._existingBen;\r\n }\r\n public set existingBen(value: Specmasters[]) {\r\n this._existingBen = value;\r\n }\r\n public get Remittances() {\r\n return this._remittances\r\n }\r\n public get RemittanceLoader() {\r\n return this._remittanceLoader;\r\n }\r\n public get ProvidersLinkedToBureau() {\r\n return this._listOfProvider\r\n }\r\n public get MemberInformation() {\r\n return this._memberInfo;\r\n }\r\n public get AllUsers() {\r\n return this._listOfusers\r\n }\r\n public set AllUsers(val: UserGridModel[]) {\r\n this._listOfusers = val;\r\n }\r\n public get LOBcodes() {\r\n return this._lobCodes\r\n }\r\n public get UserRegistrationArray() {\r\n return this._userRegistration\r\n }\r\n public get userRights(): UserRightsModel {\r\n return this._userRights;\r\n }\r\n public set userRights(value: UserRightsModel) {\r\n this._userRights = value;\r\n }\r\n public get Manuals() {\r\n return this._manuals\r\n }\r\n public get ProviderGuides2020() {\r\n return this._guides2020;\r\n }\r\n public get ProviderGuides2019() {\r\n return this._guides2019;\r\n }\r\n public get OosManuls2020() {\r\n return this._manuals2020\r\n }\r\n public get OosManuls2019() {\r\n return this._manuals2019\r\n }\r\n public get poptcModel(): boolean {\r\n return this._poptcModel;\r\n }\r\n public set poptcModel(value: boolean) {\r\n this._poptcModel = value;\r\n }\r\n public get passwordChange(): PasswordChange {\r\n return this._passwordChange;\r\n }\r\n public set passwordChange(value: PasswordChange) {\r\n this._passwordChange = value;\r\n }\r\n public get OldPasswordErrorMsg() {\r\n return this._oldPasswordError;\r\n }\r\n public set OldPasswordErrorMsg(msg) {\r\n this._oldPasswordError = msg\r\n }\r\n public get OldPasswordNotValid() {\r\n return this._oldPasswordHasError\r\n }\r\n public set OldPasswordNotValid(isValid) {\r\n this._oldPasswordHasError = isValid\r\n\r\n }\r\n public get DisableConfirmbtn() {\r\n return this._disableConfirm\r\n }\r\n public set DisableConfirmbtn(isValid) {\r\n this._disableConfirm = isValid\r\n }\r\n public get NewPasswordErrorMsg() {\r\n return this._newPasswordError\r\n }\r\n public set NewPasswordErrorMsg(msg) {\r\n this._newPasswordError = msg;\r\n }\r\n public get NewPasswordNotValid() {\r\n return this._newPasswordHasError;\r\n }\r\n public set NewPasswordNotValid(isValid) {\r\n this._newPasswordHasError = isValid;\r\n }\r\n public get ConfirmPasswordErrorMsg() {\r\n return this._confirmPasswordError;\r\n }\r\n public set ConfirmPasswordErrorMsg(msg) {\r\n this._confirmPasswordError = msg;\r\n }\r\n public get ConfirmPasswordNotValid() {\r\n return this._confirmPasswordHasError\r\n }\r\n public set ConfirmPasswordNotValid(isValid) {\r\n this._confirmPasswordHasError = isValid\r\n }\r\n public get AllowChangePassword() {\r\n return this._showPasswordChange;\r\n }\r\n public set AllowChangePassword(change) {\r\n this._showPasswordChange = change\r\n this._disableConfirm = true\r\n }\r\n public get PasswordUpdateMsg() {\r\n return this._confirmationMessage\r\n }\r\n public get ConfirmPasswordUpdate() {\r\n return this._showConfirmationMsg\r\n }\r\n public set ConfirmPasswordUpdate(isValid) {\r\n this._showConfirmationMsg = isValid\r\n }\r\n public get BureauRecovery() {\r\n return this._bureauRecover;\r\n }\r\n public set BureauRecovery(isValid) {\r\n this._bureauRecover = isValid\r\n }\r\n public get ValidateAccountingBuroRecovery(): boolean {\r\n let isValid: boolean = true;\r\n\r\n let passregexp = new RegExp(\"^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[!@#\\$%\\^&\\*])(?=.{8,})\");\r\n\r\n /* if (emailregexp.test(this.AccEmail) == false) {\r\n isValid = false\r\n } */\r\n\r\n if (this._names.length == 0) {\r\n isValid = false;\r\n }\r\n\r\n if (this._newPasswordrecover != this._confirmNewpasswordrecover) {\r\n isValid = false;\r\n this._passwordErrorlabel = \"Ensure Passwords Match\"\r\n\r\n }\r\n\r\n if (passregexp.test(this._newPasswordrecover) == false) {\r\n isValid = false\r\n }\r\n\r\n if (this._newPasswordrecover.length == 0) {\r\n isValid = false\r\n }\r\n if (this._confirmNewpasswordrecover.length == 0) {\r\n isValid = false\r\n }\r\n\r\n\r\n return isValid\r\n\r\n }\r\n public get NewRecoveryPassword() {\r\n return this._newPasswordrecover\r\n }\r\n public set NewRecoveryPassword(pass) {\r\n this._newPasswordrecover = pass\r\n }\r\n public get ConfirmRecoveryPassword() {\r\n return this._confirmNewpasswordrecover\r\n }\r\n public set ConfirmRecoveryPassword(pass) {\r\n this._confirmNewpasswordrecover = pass\r\n }\r\n public get FailedUpdateError() {\r\n return this._accUpdateerror\r\n\r\n }\r\n public set FailedUpdateError(isValid) {\r\n this._accUpdateerror = isValid\r\n }\r\n public get SuccessfulUpdate() {\r\n return this._accUpdatesuccess\r\n }\r\n public set SuccessfulUpdate(isValid) {\r\n this._accUpdatesuccess = isValid\r\n }\r\n public get ForgetPassword() {\r\n return this._showHideforgetPassword\r\n }\r\n public set ForgetPassword(isValid) {\r\n this._showHideforgetPassword = isValid\r\n }\r\n public get ProviderIds() {\r\n return this._providerIdBureaurecover\r\n }\r\n public set ProviderIds(name) {\r\n this._providerIdBureaurecover = name\r\n }\r\n public get btnClear(): boolean {\r\n let isEmpty: boolean = true\r\n\r\n if (this._names.length > 0) {\r\n isEmpty = false\r\n }\r\n return isEmpty\r\n }\r\n public get ErrorLabel() {\r\n\r\n return this._passwordErrorlabel\r\n }\r\n public get PasswordLabel(): string {\r\n return this._passwordErrorlabel\r\n } \r\n public get popupList(): PopUpModel[] {\r\n return this._popupList;\r\n }\r\n public set popupList(value: PopUpModel[]) {\r\n this._popupList = value;\r\n }\r\n\r\n //The testconnection property will be used to check if a SQL connection has been established\r\n TestConnection() {\r\n this._http.get(this._baseUrl + \"api/Login/validConnection\").subscribe(\r\n (connectionStatus: ValidationResultsModel) => {\r\n this._webAPIavailable = connectionStatus.valid;\r\n if (this._webAPIavailable == true) {\r\n this.LoadHealthPlanSetUp();\r\n this._server = connectionStatus.message;\r\n //this.LoadMemberRegistrationHealthPlans();\r\n }\r\n }, (error) => {\r\n this._subscribeError = true\r\n this._busy = false;\r\n\r\n if (this._settingsService.SettingsError == true) {\r\n this._subscribeError = true\r\n }\r\n },\r\n () => {\r\n\r\n }\r\n\r\n )\r\n\r\n\r\n\r\n\r\n }\r\n\r\n LoadHealthPlanSetUp() {\r\n this._busy = true\r\n let tempmembarr: any[] = []\r\n let tempbrokerArr: any[] = []\r\n let defaultval: HealthPlanSetupModel = new HealthPlanSetupModel()\r\n\r\n defaultval.hpCode = \"000\"\r\n defaultval.hpName = \"Select a Health Plan\"\r\n\r\n tempmembarr.push(defaultval);\r\n tempbrokerArr.push(defaultval);\r\n\r\n this._http.get(this._baseUrl + \"api/Security/LoadHealthPlans\", {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this._token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }).subscribe(\r\n (returnedHealthplans: HealthPlanSetupModel[]) => {\r\n this._healthPlansetup = returnedHealthplans\r\n // console.log(\"All healthplans:\", this._healthPlansetup)\r\n this._healthPlansetup.forEach(function (el) {\r\n if (el.membRegistration == true) {\r\n tempmembarr.push(el);\r\n }\r\n if (el.isEnabledBroker == true) {\r\n tempbrokerArr.push(el);\r\n }\r\n })\r\n this._memberRegistrationhealthPlans = tempmembarr;\r\n this._brokerRegistrationhealthPlans = tempbrokerArr;\r\n this._busy = false\r\n }, (error) => {\r\n this._subscribeError = true\r\n this._busy = false\r\n }\r\n )\r\n }\r\n\r\n public PageReload() {\r\n window.location.reload();\r\n }\r\n\r\n /*Login Method that will be called when the user clicks on the sign in button login page */\r\n Login() {\r\n this._busy = true\r\n this._http\r\n .post(this._baseUrl + \"api/Login/LoginDetails\", {\r\n Username: this.Username,\r\n Password: this.Password\r\n }).subscribe((webresult: LoginDetailsModel) => {\r\n if (webresult.success == false) {\r\n this.show_hide_error = true\r\n this._userName = \"\";\r\n this._password = \"\";\r\n this._isLoggedin = false;\r\n this._loggedInuser = new LoginDetailsModel();\r\n } else {\r\n this._loggedInuser = webresult;\r\n this.IsLoggedIn = true;\r\n this.GetPopMessage();\r\n this.Images();\r\n setTimeout((e) => {\r\n if (this._loggedInuser.userType == 0) {\r\n this._router.navigate([\"admin-dash\"])\r\n }\r\n else if (this._loggedInuser.userType == 1) {\r\n this._loggedInuser.provID = webresult.provID;\r\n this._loggedInuser.description = webresult.description;\r\n this._loggedInuser.username = webresult.username;\r\n this._loggedInuser.firstname = webresult.firstname;\r\n this._loggedInuser.lastname = webresult.lastname;\r\n this._loggedInuser.contact = webresult.contact;\r\n // Set local storage params for Whatsapp web chat to display\r\n if (this._settingsService.GetSettingEnabled('WebChat')) {\r\n localStorage.setItem(\"type\", this._loggedInuser.userType.toString());\r\n localStorage.setItem(\"typeId\", webresult.provID);\r\n localStorage.setItem(\"typeEm\", webresult.username);\r\n localStorage.setItem(\"cEnabled\", \"1\"); \r\n } \r\n if (!this._loggedInuser.pharmacy) {\r\n this._router.navigate([\"membership\"])\r\n } else {\r\n this._router.navigate([\"provider-dash\"])\r\n }\r\n }\r\n else if (this._loggedInuser.userType == 2) {\r\n this._router.navigate([\"bureau-dash\"])\r\n }\r\n else if (this._loggedInuser.userType == 3) {\r\n this._router.navigate([\"membership\"]);\r\n }\r\n else if (this._loggedInuser.userType == 4) {\r\n this._router.navigate([\"member-dashboard\"]);\r\n }\r\n else if (this._loggedInuser.userType == 5) {\r\n this._router.navigate([\"broker-dashboard\"]);\r\n }\r\n else if (this._loggedInuser.userType == 6) // Wellness providers\r\n {\r\n this._loggedInuser.provID = webresult.provID;\r\n this._loggedInuser.description = webresult.description;\r\n this._loggedInuser.username = webresult.username;\r\n this._loggedInuser.firstname = webresult.firstname;\r\n this._loggedInuser.lastname = webresult.lastname;\r\n this._loggedInuser.contact = webresult.contact;\r\n this._router.navigate([\"patient-wellness-form\"]);\r\n }\r\n else if (this._loggedInuser.userType == 7) // Voucher Amdmin\r\n {\r\n this._router.navigate([\"voucher-clients\"]);\r\n }\r\n }, 2500)\r\n }\r\n \r\n }, (error) => {\r\n //todo: handle error propperly. What will the user see if this error fires???\r\n console.log(error);\r\n\r\n },\r\n () => {\r\n if (this._loggedInuser.success === true) {\r\n \r\n this.GetTokenForUser();\r\n }\r\n this._busy = false\r\n\r\n });\r\n\r\n }\r\n\r\n\r\n\r\n GetTokenForUser() {\r\n this._busy = true;\r\n this._http.post(this._baseUrl + 'api/Token/token', this.CurrentLoggedInUser, { responseType: \"text\" })\r\n .subscribe((results: string) => {\r\n let jwt: string;\r\n jwt = results;\r\n localStorage.setItem(\"jwt\", jwt);\r\n this.token = results;\r\n },\r\n (error) => {\r\n console.log(error);\r\n if (error.status == '401') {\r\n this._router.navigateByUrl('/login');\r\n }\r\n },\r\n () => {\r\n this._token = localStorage.getItem(\"jwt\");\r\n this.LoggedInUserType(this._loggedInuser.specCode);\r\n this._settingsService.LoadSettings();\r\n this.GetUserRights();\r\n this.LoadManuals();\r\n this.busy = true;\r\n setTimeout((a) => {\r\n if (this._loggedInuser.userType == 1) {\r\n this.CheckTCAccepted();\r\n this.CheckHealthPlanSetUp();\r\n this.LoadProviderRemittances();\r\n }\r\n if (this._loggedInuser.userType == 3) {\r\n this.CheckTCAccepted();\r\n this.CheckHealthPlanSetUp();\r\n this.GetSpecCodes(); // Jaco 2022-09-12\r\n //this.GetExistingBenefits(); // Jaco 2022-09-12\r\n }\r\n if (this._loggedInuser.userType == 2) {\r\n this.CheckTCAccepted();\r\n this.Loadremittances();\r\n this.ListOfProviders();\r\n this.CheckHealthPlanSetUp();\r\n }\r\n if (this._loggedInuser.userType == 4) {\r\n this.CheckTCAccepted();\r\n this.MemberDetails()\r\n }\r\n if (this._loggedInuser.userType == 5) {\r\n this.CheckTCAccepted();\r\n }\r\n if (this._loggedInuser.userType == 0) {\r\n this.CheckTCAccepted();\r\n this.LoadUsers(false);\r\n this.LoadLobCodes();\r\n this.LoadUserTypes()\r\n }\r\n this.busy = false;\r\n }, 2500)\r\n\r\n\r\n \r\n this._busy = false;\r\n })\r\n }\r\n\r\n LoggedInUserType(loggedinspec: string) {\r\n let SpecCode = loggedinspec;\r\n\r\n this._listOfDentistSpecCodes.push(\"54\", \"95\", \"62\", \"64\", \"92\", \"93\", \"94\", \"96\", \"113\")\r\n this._listOfHospitalSpecCodes.push(\"57\", \"58\", \"59\", \"76\", \"77\", \"56\", \"51\")\r\n this._listOfPharmaciesSpecCodes.push(\"60\");\r\n let SearchArray = this._listOfDentistSpecCodes.filter(x => x === SpecCode);\r\n let SearchArrayPharmacy = this._listOfPharmaciesSpecCodes.filter(x => x === SpecCode);\r\n let SearchArrayHosp = this._listOfHospitalSpecCodes.filter(x => x === SpecCode);\r\n if (SearchArrayHosp.length > 0) {\r\n this._isSpecialist = false\r\n this._isDentist = false\r\n this._isHospital = true;\r\n this._isPharmacy = false;\r\n this.CurrentLoggedInUser.dentist = this._isDentist;\r\n this.CurrentLoggedInUser.specialist = this._isSpecialist;\r\n this.CurrentLoggedInUser.hospital = this._isHospital;\r\n this.CurrentLoggedInUser.pharmacy = this._isPharmacy;\r\n\r\n }\r\n else if (SearchArrayPharmacy.length > 0) {\r\n this._isSpecialist = false\r\n this._isDentist = false\r\n this._isHospital = false;\r\n this._isPharmacy = true;\r\n this.CurrentLoggedInUser.dentist = this._isDentist;\r\n this.CurrentLoggedInUser.specialist = this._isSpecialist;\r\n this.CurrentLoggedInUser.hospital = this._isHospital;\r\n this.CurrentLoggedInUser.pharmacy = this._isPharmacy;\r\n \r\n }\r\n else if (SearchArray.length == 0) {\r\n this._isSpecialist = true\r\n this._isDentist = false\r\n this._isHospital = false;\r\n this._isPharmacy = false;\r\n this.CurrentLoggedInUser.dentist = this._isDentist;\r\n this.CurrentLoggedInUser.specialist = this._isSpecialist;\r\n this.CurrentLoggedInUser.hospital = this._isHospital;\r\n this.CurrentLoggedInUser.pharmacy = this._isPharmacy;\r\n\r\n }else {\r\n this._isDentist = true;\r\n this._isSpecialist = false;\r\n this._isHospital = false;\r\n this._isPharmacy = false;\r\n this.CurrentLoggedInUser.dentist = this._isDentist;\r\n this.CurrentLoggedInUser.specialist = this._isSpecialist;\r\n this.CurrentLoggedInUser.hospital = this._isHospital;\r\n this.CurrentLoggedInUser.pharmacy = this._isPharmacy;\r\n }\r\n\r\n }\r\n\r\n CheckHealthPlanSetUp() {\r\n this._healthPlansetup.forEach(el => {\r\n if (el.isEnabledMember == true) {\r\n this.GetHPContractsForDropDownMember(el.isEnabledMember)\r\n }\r\n if (el.isEnabledClaim == true) {\r\n this.GetHPContractsForDropDownClaim(el.isEnabledClaim)\r\n }\r\n\r\n });\r\n }\r\n\r\n GetHPContractsForDropDownMember(val: boolean) {\r\n let defaultval: HP_ContractsModel = new HP_ContractsModel()\r\n let c: boolean = false;\r\n if (this._loggedInuser.contract == 'CONTRACTED') {\r\n c = true;\r\n } else {\r\n c = false;\r\n }\r\n this._http.post(this._baseUrl + \"api/Security/MemberDropdown\", {\r\n isEnabledMember: val,\r\n isDentist: this._isDentist,\r\n isSpecialist: this._isSpecialist,\r\n isHospital: this._isHospital,\r\n contracted: c\r\n }, {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this._token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }).subscribe((returenedhealthplansmember: HP_ContractsModel[]) => {\r\n this._listOfhealthplansMember = returenedhealthplansmember\r\n this._listOfhealthplansMemberBenScreen = returenedhealthplansmember\r\n defaultval.hpcode = \"000\"\r\n defaultval.hpname = \"Select a Health Plan\"\r\n this._listOfhealthplansMember.push(defaultval)\r\n this._listOfhealthplansMemberBenScreen.push(defaultval)\r\n })\r\n }\r\n\r\n GetPopMessage() {\r\n this.busy = true;\r\n this._http.post(this._baseUrl + \"api/Login/GetPopMessage\", this.CurrentLoggedInUser,\r\n {\r\n headers: new HttpHeaders({\r\n \r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }).subscribe((popups: PopUpModel[]) => {\r\n this.popupList = [];\r\n this.popupList = popups;\r\n\r\n },\r\n\r\n (error) => { console.log(error); this.busy = false;},\r\n () => {\r\n this.busy = false;\r\n if (this.popupList.length > 0) {\r\n this.PopModals(0);\r\n }\r\n \r\n \r\n })\r\n }\r\n\r\n GetHPContractsForDropDownClaim(val: boolean) {\r\n let c: boolean = false;\r\n if (this._loggedInuser.contract == 'CONTRACTED') {\r\n c = true;\r\n } else {\r\n c = false;\r\n }\r\n let defaultval: HP_ContractsModel = new HP_ContractsModel()\r\n this._http.post(this._baseUrl + \"api/Security/ClaimDropdown\", {\r\n hpcode: \"\",\r\n hpname: \"\",\r\n isEnabledClaim: val,\r\n isEnabledMember: !val,\r\n userType: this._loggedInuser.userType,\r\n isDentist: this._isDentist,\r\n isSpecialist: this._isSpecialist,\r\n isHospital: this._isHospital,\r\n isPharmacy: this._isPharmacy,\r\n contracted: c\r\n },\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this._token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }).subscribe((returenedhealthplansmember: HP_ContractsModel[]) => {\r\n this._listOfhealthplansClaim = returenedhealthplansmember\r\n defaultval.hpcode = \"000\"\r\n defaultval.hpname = \"Select a Health Plan\"\r\n this._listOfhealthplansClaim.push(defaultval)\r\n },\r\n (error) => {\r\n console.log(error);\r\n })\r\n }\r\n\r\n public LoadProviderRemittances() {\r\n this._http.post(this._baseUrl + \"api/Security/GetProviderRemittances\", {\r\n ProvID: this._loggedInuser.provID\r\n\r\n },\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this._token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }).subscribe((returnedremittance: ProviderRemittancesModel[]) => {\r\n this._providerRemittances = returnedremittance\r\n }, (error) => {\r\n this._subscribeError = true\r\n this._busy = false\r\n\r\n if (this._settingsService.SettingsError == true) {\r\n this._subscribeError = true\r\n }\r\n if (error.status == '401') {\r\n this._router.navigateByUrl('/login');\r\n }\r\n });\r\n }\r\n\r\n Images() {\r\n let dentalSpecCodes: string[] = [\"54\", \"62\", \"64\", \"92\", \"93\", \"94\", \"95\", \"96\", \"98\", \"113\"];\r\n\r\n if (this.CurrentLoggedInUser.userType == 1) {\r\n let found: boolean = false;\r\n for (var i = 0; i < dentalSpecCodes.length; i++) {\r\n if (dentalSpecCodes[i] == this.CurrentLoggedInUser.specCode) {\r\n found = true;\r\n break;\r\n }\r\n }\r\n if (found == true) {\r\n this._settingsService.DRCDetails = true;\r\n this._selectedimage.imgDRC = \"DRC_Logo.png\"\r\n this._selectedimage.widthDRC = 300\r\n this._selectedimage.heightDRC = 264\r\n } else {\r\n this._settingsService.PAMCDetails = true;\r\n this._selectedimage.imgPAMC = \"PAMC - Logo.png\"\r\n this._selectedimage.widthPAMC = 355\r\n this._selectedimage.heightPAMC = 191\r\n }\r\n }\r\n if (this.CurrentLoggedInUser.userType == 0) {\r\n\r\n this._settingsService.PAMCDetails = true;\r\n this._selectedimage.imgCombined = \"DRC_PAMC_Logo.png\"\r\n this._selectedimage.widthCombined = 900\r\n this._selectedimage.heightCombined = 270\r\n\r\n }\r\n if (this.CurrentLoggedInUser.userType == 2) {\r\n this._settingsService.PAMCDetails = true;\r\n this._selectedimage.imgPAMC = \"PAMC - Logo.png\"\r\n this._selectedimage.widthPAMC = 355\r\n this._selectedimage.heightPAMC = 191\r\n\r\n\r\n this._settingsService.DRCDetails = true;\r\n this._selectedimage.imgDRC = \"DRC_Logo.png\"\r\n this._selectedimage.widthDRC = 300\r\n this._selectedimage.heightDRC = 264\r\n\r\n }\r\n if (this.CurrentLoggedInUser.userType == 3) {\r\n if (this._loggedInuser.client.toUpperCase().trim() == \"DRC\") {\r\n this._settingsService.DRCDetails = true;\r\n this._selectedimage.imgDRC = \"DRC_Logo.png\"\r\n this._selectedimage.widthDRC = 300\r\n this._selectedimage.heightDRC = 264\r\n }\r\n if (this._loggedInuser.client.toUpperCase().trim() == \"PAMC\") {\r\n this._settingsService.PAMCDetails = true;\r\n this._selectedimage.imgPAMC = \"PAMC - Logo.png\"\r\n\r\n this._selectedimage.widthPAMC = 300\r\n this._selectedimage.heightPAMC = 162\r\n\r\n }\r\n if (this._loggedInuser.client.toUpperCase().trim() == \"ALL\") {\r\n this._settingsService.AllDetails = true;\r\n\r\n this._settingsService.PAMCDetails = true;\r\n this._selectedimage.imgPAMC = \"PAMC - Logo.png\"\r\n this._selectedimage.widthPAMC = 355\r\n this._selectedimage.heightPAMC = 191\r\n\r\n\r\n this._settingsService.DRCDetails = true;\r\n this._selectedimage.imgDRC = \"DRC_Logo.png\"\r\n this._selectedimage.widthDRC = 300\r\n this._selectedimage.heightDRC = 264\r\n }\r\n\r\n }\r\n return this._selectedimage\r\n }\r\n\r\n GetSpecCodes() {\r\n this._busy = true;\r\n this._http.get(this._baseUrl + 'api/Authorization/GetSPecCodes',\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this._token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }).subscribe((result: SpecCodes[]) => {\r\n this.specList = [];\r\n result.forEach((el) => {\r\n this.specList.push(el);\r\n });\r\n },\r\n (error) => { console.log(error) },\r\n () => {\r\n this._busy = false;\r\n //this.GetBenTrackCodes(); //Jaco 2022-09-12\r\n })\r\n }\r\n\r\n GetBenTrackCodes() {\r\n this._busy = true;\r\n let token = localStorage.getItem('jwt');\r\n this.bencodes = [];\r\n this._http.get(this._baseUrl + 'api/Authorization/GetBenTypeCodes',\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }).subscribe((results: BenTrackCodes[]) => {\r\n results.forEach((el) => {\r\n this.bencodes.push(el);\r\n })\r\n },\r\n (error) => {\r\n console.log(error)\r\n },\r\n () => { this._busy = false; })\r\n }\r\n\r\n GetExistingBenefits() {\r\n this._busy = true;\r\n this._http.post(this._baseUrl + 'api/Authorization/GetExistingBef', this.CurrentLoggedInUser,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this._token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }\r\n ).subscribe((results: Specmasters[]) => {\r\n this.existingBen = [];\r\n results.forEach((el) => {\r\n this.existingBen.push(el);\r\n })\r\n },\r\n (error) => { console.log(error) },\r\n () => {\r\n this._busy = false;\r\n })\r\n }\r\n\r\n public Loadremittances() {\r\n this._busy = true;\r\n this._http.post(this._baseUrl + \"api/Security/GetAccountingBureauRemittances\", {\r\n bureauId: this._loggedInuser.bureauId\r\n },\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this._token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }).subscribe((returnedremittance: AccountingBureauRemittancesModel[]) => {\r\n this._remittances = returnedremittance\r\n this._busy = false;\r\n if (returnedremittance.length != 0) {\r\n this._remittanceLoader = false;\r\n } else {\r\n this._remittanceLoader = true;\r\n }\r\n\r\n }, (error) => {\r\n this._subscribeError = true\r\n this._busy = false;\r\n\r\n if (this._settingsService.SettingsError == true) {\r\n this._subscribeError = true\r\n }\r\n });\r\n }\r\n\r\n public ListOfProviders() {\r\n this._http.post(this._baseUrl + \"api/Security/getProviders\", {\r\n bureauId: this._loggedInuser.bureauId\r\n\r\n },\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this._token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }).subscribe((returnedProviders: BureauProvidersModel[]) => {\r\n this._listOfProvider = returnedProviders\r\n });\r\n }\r\n\r\n /*Adds the entered provider ID's to the array when the user clicks on the \"+\" incon on the registration page*/\r\n AddToArray() {\r\n this._names.push(this._providerIdBureaurecover)\r\n this._providerIdBureaurecover = \"\";\r\n\r\n }\r\n\r\n /*Clears the Array of Provider Id's when the user clicks on the trash can*/\r\n ClearingProviderArray() {\r\n this._names = [];\r\n }\r\n\r\n\r\n\r\n MemberDetails() {\r\n this._http.post(this._baseUrl + \"api/Member/LoginMemberInfo\", {\r\n memberIdNumber: this._loggedInuser.memberIdNumber\r\n\r\n },\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this._token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }\r\n ).subscribe((memberInfo: MemberInfoModel[]) => {\r\n this._memberInfo = memberInfo;\r\n });\r\n }\r\n\r\n \r\n ValidateAccountingBuroProvider() {\r\n if ((this._providerIdBureaurecover.length > 0)) {\r\n this._enableAddProvider = true;\r\n return this._enableAddProvider;\r\n }\r\n }\r\n\r\n LoadUsers(data: boolean) {\r\n this._http.get(this._baseUrl + \"/api/Security/LoadUsers\", {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this._token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }).subscribe(\r\n (ReturnedUsers: UserGridModel[]) => {\r\n this._originalListofUsers = ReturnedUsers\r\n this._listOfusers = this._originalListofUsers\r\n this._listOfusers.forEach((el) => {\r\n let c: number = el.password.length;\r\n let d: string = \"\";\r\n el.hiddenPass = d.padEnd(c, \"*\");\r\n })\r\n }\r\n );\r\n }\r\n\r\n LoadLobCodes() {\r\n this._http.get(this._baseUrl + \"api/Security/LoadLobCodes\", {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this._token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }).subscribe(\r\n (ReturnedLobCodes: LOBcodesModel[]) => {\r\n this._lobCodes = ReturnedLobCodes\r\n // console.log(\"Retruned LOB codes:\", this._lobCodes)\r\n let code: LOBcodesModel = new LOBcodesModel();\r\n code.code = \"000\";\r\n code.descr = \"Select Lob Code\";\r\n this._lobCodes.push(code)\r\n }\r\n )\r\n }\r\n\r\n LoadUserTypes() {\r\n let userReg = []\r\n let defaultValue: UsertypeModel = new UsertypeModel();\r\n\r\n defaultValue.userTypeId = \"000\"\r\n defaultValue.userType = \"Please Select Option\"\r\n\r\n userReg.push(defaultValue);\r\n\r\n this._http.get(this._baseUrl + \"api/Security/LoadUserTypes\", {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this._token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }).subscribe(\r\n (RecievedUserTypes: UsertypeModel[]) => {\r\n this._userTypesarray = RecievedUserTypes\r\n this._userTypesarray.forEach(function (x) {\r\n if (x.userRegistration == true) {\r\n userReg.push(x);\r\n }\r\n })\r\n this._userRegistration = userReg\r\n\r\n }\r\n )\r\n }\r\n\r\n\r\n GetUserRights() {\r\n this._http.post(this._baseUrl + 'api/Login/GetUserRights', this._loggedInuser,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this._token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }\r\n ).subscribe((results: UserRightsModel) => {\r\n this.userRights = results;\r\n\r\n\r\n },\r\n (error) => {\r\n console.log(error);\r\n\r\n },\r\n () => {\r\n this._busy = false\r\n });\r\n\r\n }\r\n\r\n LoadManuals() {\r\n let currYear = new Date().getFullYear().toString();\r\n let lastYear = (new Date().getFullYear() - 1).toString();\r\n let opsManuals = [];\r\n let providerGuides = [];\r\n\r\n this._http.get(this._baseUrl + \"api/configuration/GetManuals\", {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this._token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }).subscribe(\r\n (RecievedManuals: ManualsModel[]) => {\r\n this._manuals = RecievedManuals\r\n if ((this.CurrentLoggedInUser.contract == 'NON-CONTRACTED') && (this.CurrentLoggedInUser.dentist)) {\r\n opsManuals = this._manuals.filter(x => x.fileName.includes(\"Ops Manual\"));\r\n let ops2020 = opsManuals.filter(x => x.fileLink.includes(currYear))\r\n let ops2019 = opsManuals.filter(x => x.fileLink.includes(lastYear))\r\n ops2019 = ops2019.filter(x => x.fileLink.includes(\"Non_Contracted\"))\r\n ops2020 = ops2020.filter(x => x.fileLink.includes(\"Non_Contracted\"))\r\n this._manuals2020 = ops2020\r\n this._manuals2019 = ops2019\r\n\r\n //if (this.CurrentLoggedInUser.provClass == '5') {\r\n\r\n // let c: number = 0; \r\n // let count: number = 0;\r\n // this._manuals2019.forEach((el) => {\r\n // if (el.fileName.includes(\"Ops Manual A - General Providers - Capitation Agreement\")) {\r\n // count = c;\r\n // }\r\n // c++;\r\n // });\r\n // if (count == 0) {\r\n // if (this._manuals2019[0].fileName.includes(\"Ops Manual A - General Providers - Capitation Agreement\")) {\r\n // this._manuals2019.splice(count, 1);\r\n // }\r\n // } else {\r\n // this._manuals2019.splice(count, 1);\r\n // }\r\n \r\n // c = 0; \r\n // count = 0;\r\n // this._manuals2020.forEach((el) => {\r\n // if (el.fileName.includes(\"Ops Manual A - General Providers - Capitation Agreement\")) {\r\n // count = c;\r\n // }\r\n // c++;\r\n // });\r\n // if (count == 0) {\r\n // if (this._manuals2020[0].fileName.includes(\"Ops Manual A - General Providers - Capitation Agreement\")) {\r\n // this._manuals2020.splice(count, 1);\r\n // }\r\n // } else {\r\n // this._manuals2020.splice(count, 1);\r\n // }\r\n \r\n //}\r\n\r\n //else {\r\n \r\n // let c: number = 0; \r\n // let count: number = 0;\r\n // this._manuals2019.forEach((el) => {\r\n // if (el.fileName.includes(\"Ops Manual A - Managed Providers\")) {\r\n // count = c;\r\n // }\r\n // c++;\r\n // });\r\n // if (count == 0) {\r\n // if (this._manuals2019[0].fileName.includes(\"Ops Manual A - Managed Providers\")) {\r\n // this._manuals2019.splice(count, 1);\r\n // }\r\n // } else {\r\n // this._manuals2019.splice(count, 1);\r\n // }\r\n \r\n // c = 0; \r\n // count = 0;\r\n // this._manuals2020.forEach((el) => {\r\n // if (el.fileName.includes(\"Ops Manual A - Managed Providers\")) {\r\n // count = c;\r\n // }\r\n // c++;\r\n // });\r\n // if (count == 0) {\r\n // if (this._manuals2020[0].fileName.includes(\"Ops Manual A - Managed Providers\")) {\r\n // this._manuals2020.splice(count, 1);\r\n // }\r\n // } else {\r\n // this._manuals2020.splice(count, 1);\r\n // }\r\n\r\n //}\r\n }\r\n\r\n if ((this.CurrentLoggedInUser.contract == 'CONTRACTED') && (this.CurrentLoggedInUser.dentist)) {\r\n opsManuals = this._manuals.filter(x => x.fileName.includes(\"Ops Manual\"));\r\n let ops2020 = opsManuals.filter(x => x.fileLink.includes(currYear) && !x.fileLink.includes(\"Non_Contracted\")) \r\n let ops2019 = opsManuals.filter(x => x.fileLink.includes(lastYear) && !x.fileLink.includes(\"Non_Contracted\"))\r\n this._manuals2020 = ops2020\r\n this._manuals2019 = ops2019\r\n\r\n //if (this.CurrentLoggedInUser.provClass == '5') {\r\n\r\n // let c: number = 0; \r\n // let count: number = 0;\r\n // this._manuals2019.forEach((el) => {\r\n // if (el.fileName.includes(\"Ops Manual A - General Providers - Capitation Agreement\")) {\r\n // count = c;\r\n // }\r\n // c++;\r\n // });\r\n // this._manuals2019.splice(count, 1);\r\n \r\n // c = 0; \r\n // count = 0;\r\n // this._manuals2020.forEach((el) => {\r\n // if (el.fileName.includes(\"Ops Manual A - General Providers - Capitation Agreement\")) {\r\n // count = c;\r\n // }\r\n // c++;\r\n // });\r\n // this._manuals2020.splice(count, 1);\r\n\r\n //}\r\n\r\n //else {\r\n \r\n // let c: number = 0; \r\n // let count: number = 0;\r\n // this._manuals2019.forEach((el) => {\r\n // if (el.fileName.includes(\"Ops Manual A - Managed Providers\")) {\r\n // count = c;\r\n // }\r\n // c++;\r\n // });\r\n // this._manuals2019.splice(count, 1);\r\n\r\n \r\n\r\n // c = 0; \r\n // count = 0;\r\n // this._manuals2020.forEach((el) => {\r\n // if (el.fileName.includes(\"Ops Manual A - Managed Providers\")) {\r\n // count = c;\r\n // }\r\n // c++;\r\n // });\r\n // this._manuals2020.splice(count, 1);\r\n //}\r\n }\r\n\r\n if (this.CurrentLoggedInUser.provClass == '5') {\r\n this._manuals2019 = this._manuals2019.filter(x => !x.fileName.includes(\"Ops Manual A - General Providers - Capitation Agreement\")); //Jaco 2022-03-31\r\n this._manuals2020 = this._manuals2020.filter(x => !x.fileName.includes(\"Ops Manual A - General Providers - Capitation Agreement\")); //Jaco 2022-03-31\r\n }\r\n\r\n else {\r\n this._manuals2019 = this._manuals2019.filter(x => !x.fileName.includes(\"Ops Manual A - Managed Providers - Capitation Agreement\")); //Jaco 2022-03-31\r\n this._manuals2020 = this._manuals2020.filter(x => !x.fileName.includes(\"Ops Manual A - Managed Providers - Capitation Agreement\")); //Jaco 2022-03-31\r\n }\r\n\r\n providerGuides = this._manuals.filter(x => x.fileName.includes(\"PAMC\"));\r\n let provGuides2020 = providerGuides.filter(x => x.fileLink.includes(currYear))\r\n let provGuides2019 = providerGuides.filter(x => x.fileLink.includes(lastYear))\r\n\r\n this._guides2020 = provGuides2020\r\n this._guides2019 = provGuides2019\r\n\r\n }\r\n )\r\n }\r\n\r\n CheckTCAccepted() {\r\n\r\n this._http.post(this._baseUrl + 'api/Login/CheckTandC', this.CurrentLoggedInUser, {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this._token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }\r\n ).subscribe((recievedValue: boolean) => {\r\n this.poptcModel = !recievedValue;\r\n },\r\n (error) => {\r\n console.log(error);\r\n })\r\n }\r\n\r\n /*Validates the Change Password section to make sure user has chosen a valid password*/\r\n CheckPasswordOld() {\r\n let passregexp = new RegExp(\"^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[!@#\\$%\\^&\\*])(?=.{6,})\");\r\n\r\n if (this._passwordChange.oldPassword == \"\" || this._passwordChange.oldPassword == undefined) {\r\n this._oldPasswordError = \"Please Enter Your Current Password\"\r\n this._oldPasswordHasError = true;\r\n this._disableConfirm = true\r\n }\r\n else {\r\n if (this._passwordChange.oldPassword != this._loggedInuser.password) {\r\n this._oldPasswordError = \"The Password Is Incorrect, Please Try Again\"\r\n this._oldPasswordHasError = true;\r\n this._disableConfirm = true\r\n } else {\r\n this._oldPasswordHasError = false;\r\n }\r\n }\r\n }\r\n\r\n CheckPasswordNew() {\r\n let passregexp = new RegExp(\"^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[!@#\\$%\\^&\\*])(?=.{6,})\");\r\n if (this._passwordChange.newPassword == \"\" || this._passwordChange.newPassword == undefined) {\r\n this._newPasswordError = \"Please Enter Your New Password\"\r\n this._newPasswordHasError = true;\r\n this._disableConfirm = true\r\n } else {\r\n if (passregexp.test(this._passwordChange.newPassword) == false) {\r\n this._newPasswordError = \"Password needs to contain 6 or more characters, 1 Capital and 1 Special Character.\"\r\n this._newPasswordHasError = true;\r\n this._disableConfirm = true\r\n } else {\r\n this._newPasswordHasError = false;\r\n }\r\n }\r\n }\r\n\r\n CheckPasswordConfrim() {\r\n let passregexp = new RegExp(\"^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[!@#\\$%\\^&\\*])(?=.{6,})\");\r\n if (this._passwordChange.confirmPassword == \"\" || this._passwordChange.confirmPassword == undefined) {\r\n this._confirmPasswordError = \"Please Confirm Your Password\"\r\n this._confirmPasswordHasError = true;\r\n this._disableConfirm = true\r\n } else {\r\n if (passregexp.test(this._passwordChange.confirmPassword) == false) {\r\n this._confirmPasswordError = \"Password needs to contain 6 or more characters, 1 Capital and 1 Special Character.\"\r\n this._confirmPasswordHasError = true;\r\n this._disableConfirm = true\r\n } else {\r\n if (this._passwordChange.newPassword != this._passwordChange.confirmPassword) {\r\n this._confirmPasswordError = \"Ensure Passwords Match.\"\r\n this._confirmPasswordHasError = true;\r\n this._disableConfirm = true\r\n } else {\r\n this._confirmPasswordHasError = false;\r\n this._disableConfirm = false\r\n }\r\n }\r\n\r\n }\r\n }\r\n\r\n\r\n UpdateTCAccepted() {\r\n this._http.post(this._baseUrl + 'api/Login/UpdateTCAccepted', this.CurrentLoggedInUser, {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this._token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }).subscribe((recievedDate) => {\r\n\r\n },\r\n (error) => {\r\n console.log(error);\r\n if (error.status == '401') {\r\n this._router.navigateByUrl('/login');\r\n }\r\n },\r\n () => { /*this.poptcModel = false; */ });\r\n }\r\n\r\n UpdatePasswordRequest() {\r\n\r\n if (this.CurrentLoggedInUser.userType == 1) {\r\n this._http.post(this._baseUrl + \"api/Security/ChangePassword\", {\r\n Email: this._loggedInuser.username,\r\n NewPassword: this._passwordChange.newPassword,\r\n provPracNum: this.CurrentLoggedInUser.provID,\r\n ChangeBy: this._loggedInuser.username,\r\n ChangeDate: '2021/08/06',\r\n }, {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this._token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n , responseType: \"text\"\r\n }\r\n ).subscribe((results: string) => {\r\n this._confirmationMessage = results;\r\n this._showPasswordChange = false;\r\n this._showConfirmationMsg = true;\r\n\r\n });\r\n } else if (this.CurrentLoggedInUser.userType == 2) {\r\n this._http.post(this._baseUrl + \"api/Security/ChangePassword\", {\r\n Email: this._loggedInuser.username,\r\n NewPassword: this._passwordChange.newPassword\r\n }, {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this._token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n , responseType: \"text\"\r\n }\r\n ).subscribe((results: string) => {\r\n this._confirmationMessage = results;\r\n this._showPasswordChange = false;\r\n this._showConfirmationMsg = true;\r\n\r\n });\r\n } else if (this.CurrentLoggedInUser.userType == 3) {\r\n this._http.post(this._baseUrl + \"api/Security/UpdateClientPassword\", {\r\n Password: this._passwordChange.newPassword,\r\n ChangeBy: this._loggedInuser.username,\r\n ChangeDate: '2021/08/06',\r\n Email: this._loggedInuser.username\r\n\r\n }, {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this._token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n , responseType: \"text\"\r\n }\r\n ).subscribe((results: string) => {\r\n this._confirmationMessage = results;\r\n this._showPasswordChange = false;\r\n this._showConfirmationMsg = true;\r\n\r\n });\r\n }\r\n\r\n\r\n }\r\n\r\n ChangePassword() {\r\n this._showPasswordChange = true\r\n }\r\n\r\n /*Clearing all fields in the Accounting bureau recovery*/\r\n ClearBureauRecovery() {\r\n this._newPasswordrecover = \"\";\r\n this._confirmNewpasswordrecover = \"\";\r\n this.ClearingProviderArray()\r\n }\r\n\r\n UpdatePassword() {\r\n this._http.post(this._baseUrl + \"api/Security/NewPassword\", {\r\n Username: this._userName,\r\n NewPassword: this._newPasswordrecover,\r\n ListofProviders: this._names,\r\n createBy: this._loggedInuser.username,\r\n ChangeBy: this._loggedInuser.username\r\n }, {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this._token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }).subscribe((updatedlogindetails: LoginDetailsModel) => {\r\n\r\n this._loggedInuser.success = updatedlogindetails.success\r\n\r\n this._loggedInuser.errorMessage = updatedlogindetails.errorMessage\r\n\r\n if (this._loggedInuser.success == false) {\r\n this._accUpdateerror = true\r\n this._recoverAccount = false;\r\n this._accemailValidationregistermodal = false;\r\n this._bureauRecover = false;\r\n this.ClearBureauRecovery()\r\n }\r\n if (this._loggedInuser.success == true) {\r\n this._accUpdatesuccess = true\r\n this._recoverAccount = false;\r\n this._accemailValidationregistermodal = false;\r\n this._bureauRecover = false;\r\n this.ClearBureauRecovery()\r\n }\r\n\r\n\r\n }, (error) => {\r\n if (this._loggedInuser.success == false) {\r\n\r\n\r\n }\r\n if (error.status == '401') {\r\n this._router.navigateByUrl('/login');\r\n }\r\n });\r\n }\r\n ForgetPasswordModal() {\r\n this._showHideforgetPassword = true\r\n this._recoverAccount = true;\r\n }\r\n\r\n\r\n ClearLoginFields() {\r\n this._userName = \"\";\r\n this._password = \"\";\r\n }\r\n\r\n PopModals(count: number) {\r\n let p: PopUpModel = this.popupList[count];\r\n this.currPopMsg = count;\r\n if (p.height <= 324 && p.width <= 576 && p.filetype == 2) {\r\n this.smallPopModal = true;\r\n this.mediumPopModal = false;\r\n this.largePopModal = false;\r\n }\r\n else if ((p.height >= 324 && p.width >= 576) && (p.height <= 486 && p.width <= 864) && p.filetype == 2) {\r\n this.smallPopModal = false;\r\n this.mediumPopModal = true;\r\n this.largePopModal = false;\r\n }\r\n else if ((p.height >= 486 && p.width >= 864) && p.filetype == 2) {\r\n this.smallPopModal = false;\r\n this.mediumPopModal = false;\r\n this.largePopModal = true;\r\n } else if (p.filetype == 1) {\r\n this.smallPopModal = true;\r\n this.mediumPopModal = false;\r\n this.largePopModal = false;\r\n }\r\n }\r\n\r\n MarkPopUpAsAccepted(p: PopUpModel) {\r\n this.busy = true;\r\n this._http.post(this._baseUrl + \"api/Login/MarkPopUpAsAccepted\", p,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this._token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }).subscribe((result: ValidationResultsModel) => {\r\n \r\n },\r\n\r\n (error) => { console.log(error); this.busy = false; },\r\n () => {\r\n this.busy = false;\r\n if (this.popupList.length > (this.currPopMsg+1)) {\r\n this.PopModals(this.currPopMsg + 1);\r\n }\r\n\r\n })\r\n }\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { LoginDetailsModel } from '../models/LoginDetailsModel';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Router } from '@angular/router';\r\nimport * as uuid from 'uuid';\r\nimport { ValidationResultsModel } from '../models/ValidationResultsModel';\r\nimport { EventLoggingModel } from '../Models/EventLoggingModel';\r\nimport { ClaimCodesModel } from '../models/ClaimCodesModel';\r\nimport { VoucherHistory } from '../models/history';\r\nimport { formatDate } from '@angular/common';\r\nimport { DefaultCodesModel } from '../models/DefaultCodesModel';\r\nimport { Emails } from '../Models/emails';\r\nimport { LoginService } from './login.service';\r\nimport { VoucherHpModel } from '../models/VoucherHpModel';\r\nimport { DependantsInfoModel } from '../models/DependantsInfoModel';\r\nimport { FormGroup, FormBuilder, Validators, ValidationErrors, AbstractControl } from '@angular/forms';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class MedivouchService {\r\n\r\n private _balanceFail: boolean = false;\r\n private _busy: boolean = false;\r\n private _error: boolean = false;\r\n private _voucherNo: string = \" \";\r\n private _balanceSuccess: boolean = false;\r\n private _loginDetails: LoginDetailsModel = new LoginDetailsModel();\r\n private _historyList: VoucherHistory[] = [];\r\n private _cardnumber: string;\r\n private _memberDetails: string;\r\n private _codeList: ClaimCodesModel[] = [];\r\n private _procDesc: ValidationResultsModel = new ValidationResultsModel();\r\n private _otpSend: ValidationResultsModel = new ValidationResultsModel();\r\n private _successMedivouch: boolean = false;\r\n private _errorMessage: string;\r\n public showReference: boolean = false;\r\n private _drcRef: string = \"\";\r\n private _mediRef: string = \"\";\r\n private _diagdesc: ValidationResultsModel = new ValidationResultsModel();\r\n private _diagCode: string = \"\";\r\n private _groups: DefaultCodesModel[] = [];\r\n private _groupDetail: DefaultCodesModel[] = [];\r\n private _diagCodeFinale: string = '';\r\n private _historyClaims: ClaimCodesModel[] = [];\r\n private _orgHistoryClaims: ClaimCodesModel[] = [];\r\n private _historyClaimsDetail: ClaimCodesModel[] = [];\r\n private _openDetailModel: boolean = false;\r\n private _teethNo: boolean = false;\r\n private _openReferenceModel: boolean = false;\r\n private _totalMedi: string;\r\n private _showEmail: boolean = false;\r\n private _voucherCodes: boolean = false;\r\n private _BenDetails: boolean = false;\r\n private _success: boolean = false;\r\n private _benName: string;\r\n private _benSurname: string;\r\n private _benIDNo: string;\r\n private _benDep: string;\r\n private _isFamily: boolean;\r\n private _isSchemeMember: boolean;\r\n private _allowSkip: boolean;\r\n private _basketLists: DefaultCodesModel[] = [];\r\n private _basketDetailLists: DefaultCodesModel[] = [];\r\n private _dependantList: DependantsInfoModel[] = [];\r\n private _showBaskets: boolean = false;\r\n private _voucherError: boolean = false;\r\n private _voucherErrorMsg: string;\r\n private _voucherRedeemError: boolean = false;\r\n private _voucherRedeemErrorMsg: string;\r\n private _diagCodes: string[] = [];\r\n private _voucherRedemtionHist: ClaimCodesModel[] = [];\r\n private _toothCorrect: boolean = true;\r\n private _hpCode: string = \"\";\r\n private _option: string = \"\";\r\n private _prefix: string = \"\";\r\n //private _insuranceVoucher: boolean = false;\r\n private _basketId: string = \"\";\r\n private _voucherHpList: VoucherHpModel[] = [];\r\n\r\n constructor(private _http: HttpClient, private _router: Router, @Inject('BASE_URL') private _baseUrl: string, private _loginService: LoginService) { }\r\n\r\n /*getter asn setter*/\r\n public get toothCorrect(): boolean {\r\n return this._toothCorrect;\r\n }\r\n public set toothCorrect(value: boolean) {\r\n this._toothCorrect = value;\r\n }\r\n public get diagCodes(): string[] {\r\n return this._diagCodes;\r\n }\r\n public set diagCodes(value: string[]) {\r\n this._diagCodes = value;\r\n }\r\n public get voucherErrorMsg(): string {\r\n return this._voucherErrorMsg;\r\n }\r\n public set voucherErrorMsg(value: string) {\r\n this._voucherErrorMsg = value;\r\n }\r\n public get voucherError(): boolean {\r\n return this._voucherError;\r\n }\r\n public set voucherError(value: boolean) {\r\n this._voucherError = value;\r\n }\r\n public get voucherRedeemErrorMsg(): string {\r\n return this._voucherRedeemErrorMsg;\r\n }\r\n public set voucherRedeemErrorMsg(value: string) {\r\n this._voucherRedeemErrorMsg = value;\r\n }\r\n public get voucherRedeemError(): boolean {\r\n return this._voucherRedeemError;\r\n }\r\n public set voucherRedeemError(value: boolean) {\r\n this._voucherRedeemError = value;\r\n }\r\n public get basketLists(): DefaultCodesModel[] {\r\n return this._basketLists;\r\n }\r\n public set basketLists(value: DefaultCodesModel[]) {\r\n this._basketLists = value;\r\n }\r\n public get basketDetailLists(): DefaultCodesModel[] {\r\n return this._basketDetailLists;\r\n }\r\n public set basketDetailLists(value: DefaultCodesModel[]) {\r\n this._basketDetailLists = value;\r\n }\r\n public get dependantList(): DependantsInfoModel[] {\r\n return this._dependantList;\r\n }\r\n public set dependantList(value: DependantsInfoModel[]) {\r\n this._dependantList = value;\r\n }\r\n public get benIDNo(): string {\r\n return this._benIDNo;\r\n }\r\n public set benIDNo(value: string) {\r\n this._benIDNo = value;\r\n }\r\n public get allowSkip(): boolean {\r\n return this._allowSkip;\r\n }\r\n public set allowSkip(value: boolean) {\r\n this._allowSkip = value;\r\n }\r\n public get benSurname(): string {\r\n return this._benSurname;\r\n }\r\n public set benSurname(value: string) {\r\n this._benSurname = value;\r\n }\r\n public get benName(): string {\r\n return this._benName;\r\n }\r\n public set benName(value: string) {\r\n this._benName = value;\r\n }\r\n private _benContact: string;\r\n public get benContact(): string {\r\n return this._benContact;\r\n }\r\n public set benContact(value: string) {\r\n this._benContact = value;\r\n }\r\n public get benDep(): string {\r\n return this._benDep;\r\n }\r\n public set benDep(value: string) {\r\n this._benDep = value;\r\n }\r\n public get isFamily(): boolean {\r\n return this._isFamily;\r\n }\r\n public set isFamily(value: boolean) {\r\n this._isFamily = value;\r\n }\r\n public get isSchemeMember(): boolean {\r\n return this._isSchemeMember;\r\n }\r\n public set isSchemeMember(value: boolean) {\r\n this._isSchemeMember = value;\r\n }\r\n public get success(): boolean {\r\n return this._success;\r\n }\r\n public set success(value: boolean) {\r\n this._success = value;\r\n }\r\n public get BenDetails(): boolean {\r\n return this._BenDetails;\r\n }\r\n public set BenDetails(value: boolean) {\r\n this._BenDetails = value;\r\n }\r\n public get totalMedi(): string {\r\n return this._totalMedi;\r\n }\r\n public get voucherCodes(): boolean {\r\n return this._voucherCodes;\r\n }\r\n public set voucherCodes(value: boolean) {\r\n this._voucherCodes = value;\r\n }\r\n public set totalMedi(value: string) {\r\n this._totalMedi = value;\r\n }\r\n public get openReferenceModel(): boolean {\r\n return this._openReferenceModel;\r\n }\r\n public set openReferenceModel(value: boolean) {\r\n this._openReferenceModel = value;\r\n }\r\n public get errorMessage(): string {\r\n return this._errorMessage;\r\n }\r\n public set errorMessage(value: string) {\r\n this._errorMessage = value;\r\n }\r\n public get mediRef(): string {\r\n return this._mediRef;\r\n }\r\n public set mediRef(value: string) {\r\n this._mediRef = value;\r\n }\r\n public get drcRef(): string {\r\n return this._drcRef;\r\n }\r\n public set drcRef(value: string) {\r\n this._drcRef = value;\r\n }\r\n public get balanceSuccess(): boolean {\r\n return this._balanceSuccess;\r\n }\r\n public set balanceSuccess(value: boolean) {\r\n this._balanceSuccess = value;\r\n }\r\n public get balanceFail(): boolean {\r\n return this._balanceFail;\r\n }\r\n public set balanceFail(value: boolean) {\r\n this._balanceFail = value;\r\n }\r\n public get busy(): boolean {\r\n return this._busy;\r\n }\r\n public set busy(value: boolean) {\r\n this._busy = value;\r\n }\r\n public get loginDetails(): LoginDetailsModel {\r\n return this._loginDetails;\r\n }\r\n public set loginDetails(value: LoginDetailsModel) {\r\n this._loginDetails = value;\r\n }\r\n public get cardnumber(): string {\r\n return this._cardnumber;\r\n }\r\n public set cardnumber(value: string) {\r\n this._cardnumber = value;\r\n }\r\n public get error(): boolean {\r\n return this._error;\r\n }\r\n public set error(value: boolean) {\r\n this._error = value;\r\n }\r\n public get voucherNo(): string {\r\n return this._voucherNo;\r\n }\r\n public set voucherNo(value: string) {\r\n this._voucherNo = value;\r\n }\r\n public get memberDetails(): string {\r\n return this._memberDetails;\r\n }\r\n public set memberDetails(value: string) {\r\n this._memberDetails = value;\r\n }\r\n public get codeList(): ClaimCodesModel[] {\r\n return this._codeList;\r\n }\r\n public set codeList(value: ClaimCodesModel[]) {\r\n this._codeList = value;\r\n }\r\n public get procDesc(): ValidationResultsModel {\r\n return this._procDesc;\r\n }\r\n public set procDesc(value: ValidationResultsModel) {\r\n this._procDesc = value;\r\n }\r\n public get otpSend(): ValidationResultsModel {\r\n return this._otpSend;\r\n }\r\n public set otpSend(value: ValidationResultsModel) {\r\n this._otpSend = value;\r\n }\r\n public get successMedivouch(): boolean {\r\n return this._successMedivouch;\r\n }\r\n public set successMedivouch(value: boolean) {\r\n this._successMedivouch = value;\r\n }\r\n public get HistoryList(): VoucherHistory[] {\r\n return this._historyList;\r\n }\r\n public set HistoryList(value: VoucherHistory[]) {\r\n this._historyList = value;\r\n }\r\n public get diagdesc(): ValidationResultsModel {\r\n return this._diagdesc;\r\n }\r\n public set diagdesc(value: ValidationResultsModel) {\r\n this._diagdesc = value;\r\n }\r\n public get diagCode(): string {\r\n return this._diagCode;\r\n }\r\n public set diagCode(value: string) {\r\n this._diagCode = value;\r\n }\r\n public get groups(): DefaultCodesModel[] {\r\n return this._groups;\r\n }\r\n public set groups(value: DefaultCodesModel[]) {\r\n this._groups = value;\r\n }\r\n public get groupDetail(): DefaultCodesModel[] {\r\n return this._groupDetail;\r\n }\r\n public set groupDetail(value: DefaultCodesModel[]) {\r\n this._groupDetail = value;\r\n }\r\n public get diagCodeFinale(): string {\r\n return this._diagCodeFinale;\r\n }\r\n public set diagCodeFinale(value: string) {\r\n this._diagCodeFinale = value;\r\n }\r\n public get VoucherHistoryClaims(): ClaimCodesModel[] {\r\n return this._historyClaims;\r\n }\r\n public set VoucherHistoryClaims(value: ClaimCodesModel[]) {\r\n this._historyClaims = value;\r\n }\r\n public get OrgHistoryClaims(): ClaimCodesModel[] {\r\n return this._orgHistoryClaims;\r\n }\r\n public set OrgHistoryClaims(value: ClaimCodesModel[]) {\r\n this._orgHistoryClaims = value;\r\n }\r\n public get VoucherHistoryClaimsDetail(): ClaimCodesModel[] {\r\n return this._historyClaimsDetail;\r\n }\r\n public set VoucherHistoryClaimsDetail(value: ClaimCodesModel[]) {\r\n this._historyClaimsDetail = value;\r\n }\r\n public get openDetailModel(): boolean {\r\n return this._openDetailModel;\r\n }\r\n public set openDetailModel(value: boolean) {\r\n this._openDetailModel = value;\r\n }\r\n public get teethNo(): boolean {\r\n return this._teethNo;\r\n }\r\n public set teethNo(value: boolean) {\r\n this._teethNo = value;\r\n }\r\n public get showEmail(): boolean {\r\n return this._showEmail;\r\n }\r\n public set showEmail(value: boolean) {\r\n this._showEmail = value;\r\n }\r\n public get showBaskets(): boolean {\r\n return this._showBaskets;\r\n }\r\n public set showBaskets(value: boolean) {\r\n this._showBaskets = value;\r\n }\r\n public get voucherRedemtionHist(): ClaimCodesModel[] {\r\n return this._voucherRedemtionHist;\r\n }\r\n public set voucherRedemtionHist(value: ClaimCodesModel[]) {\r\n this._voucherRedemtionHist = value;\r\n }\r\n public get HpCode(): string {\r\n return this._hpCode;\r\n }\r\n public set HpCode(value: string) {\r\n this._hpCode = value;\r\n }\r\n public get Option(): string {\r\n return this._option;\r\n }\r\n public set Option(value: string) {\r\n this._option = value;\r\n }\r\n public get Prefix(): string {\r\n return this._prefix;\r\n }\r\n public set Prefix(value: string) {\r\n this._prefix = value;\r\n }\r\n public get basketId(): string {\r\n return this._basketId;\r\n }\r\n public set basketId(value: string) {\r\n this._basketId = value;\r\n }\r\n //public get InsuranceVoucher(): boolean {\r\n // return this._insuranceVoucher;\r\n //}\r\n //public set InsuranceVoucher(value: boolean) {\r\n // this._insuranceVoucher = value;\r\n //}\r\n public get VoucherHpList(): VoucherHpModel[] {\r\n return this._voucherHpList;\r\n }\r\n public set VoucherHpList(value: VoucherHpModel[]) {\r\n this._voucherHpList = value;\r\n }\r\n\r\n GetDiagCodes() {\r\n this._busy = true;\r\n let c: DefaultCodesModel = new DefaultCodesModel();\r\n c.provid = this._loginService.CurrentLoggedInUser.provID;\r\n c.hpCode = this.HpCode;\r\n c.provSpec = this._loginService.CurrentLoggedInUser.specCode;\r\n c.provClass = this._loginService.CurrentLoggedInUser.provClass;\r\n this._http.post(this._baseUrl + 'api/Medivouch/GetDiags', c)\r\n .subscribe((result: ClaimCodesModel[]) => {\r\n this._diagCodes = [];\r\n result.forEach((el) => {\r\n this.diagCodes.push(el.diag);\r\n\r\n })\r\n },\r\n (error) => { console.log(error) },\r\n () => { this.busy = false; })\r\n }\r\n\r\n VoucherValidation() {\r\n\r\n this.busy = true;\r\n this.balanceSuccess = false;\r\n this.balanceFail = false;\r\n\r\n let d: DefaultCodesModel = new DefaultCodesModel();\r\n d.id = this.voucherNo;\r\n d.provid = this._loginService.CurrentLoggedInUser.provID;\r\n d.user = this._loginService.CurrentLoggedInUser.username;\r\n d.provSpec = this._loginService.CurrentLoggedInUser.specCode;\r\n d.provClass = this._loginService.CurrentLoggedInUser.provClass;\r\n //d.hpCode = this.HpCode;\r\n //d.option = this.Option;\r\n\r\n this._http.post(this._baseUrl + 'api/Medivouch/IdentifyVoucher', d)\r\n .subscribe((result: ClaimCodesModel) => {\r\n\r\n d.hpCode = result.hpCode;\r\n d.option = result.option;\r\n d.prefix = result.prefix;\r\n this.HpCode = result.hpCode;\r\n this.Option = result.option;\r\n this.Prefix = result.prefix;\r\n \r\n },\r\n (error) => {\r\n console.log(error)\r\n },\r\n () => {\r\n\r\n //if (this._loginService.CurrentLoggedInUser.userType == 1) { // Medivouch\r\n if (d.option == 'MEDIVOUCH') { // Medivouch\r\n this._http.post(this._baseUrl + 'api/Medivouch/ValidateMedivouchVoucher', d\r\n ).subscribe((e: ValidationResultsModel) => {\r\n\r\n let c: VoucherHistory = new VoucherHistory();\r\n\r\n if (e.valid) {\r\n\r\n this.balanceSuccess = true;\r\n this.balanceFail = false;\r\n this.voucherNo = this.voucherNo + \"_\" + e.message;\r\n this.basketId = e.message;\r\n\r\n } else {\r\n this.basketId = \"\";\r\n this.balanceSuccess = false;\r\n c.voucherNo = d.id;\r\n c.success = false;\r\n c.errorMsg = e.message;\r\n this.voucherErrorMsg = e.message;\r\n if (this.voucherErrorMsg == \"Voucher cannot be redeemed at this merchant!\") {\r\n if (this._loginService.CurrentLoggedInUser.dentist) {\r\n this.voucherErrorMsg = \"This voucher can not be redeemed by a Dentist\";\r\n c.errorMsg = this.voucherErrorMsg;\r\n } else {\r\n this.voucherErrorMsg = \"This voucher can only be redeemed by a Dentist\";\r\n c.errorMsg = this.voucherErrorMsg;\r\n }\r\n }\r\n this.voucherError = true;\r\n let date: Date = new Date;\r\n c.time = formatDate(date, \"HH:mm:ss\", 'en-za', '+0200')\r\n this.balanceFail = true;\r\n this._historyList.push(c);\r\n\r\n }\r\n },\r\n (error) => {\r\n console.log(error);\r\n this.basketId = \"\";\r\n },\r\n () => {\r\n\r\n this.memberDetails = \"Test, User\";\r\n let c: VoucherHistory = new VoucherHistory();\r\n if (this.balanceSuccess) {\r\n\r\n let d: DefaultCodesModel = new DefaultCodesModel();\r\n d.id = this.voucherNo;\r\n d.provid = this._loginService.CurrentLoggedInUser.provID;\r\n d.user = this._loginService.CurrentLoggedInUser.username;\r\n d.provSpec = this._loginService.CurrentLoggedInUser.specCode;\r\n d.provClass = this._loginService.CurrentLoggedInUser.provClass;\r\n d.hpCode = this.HpCode;\r\n this.GetDefaultCodeDetails(d);\r\n } else {\r\n this.busy = false;\r\n }\r\n })\r\n }\r\n else /*if (this._loginService.CurrentLoggedInUser.userType == 6)*/ { // Internal voucher provider\r\n this._http.post(this._baseUrl + 'api/Medivouch/ValidateInternalVoucher', d\r\n ).subscribe((e: ValidationResultsModel) => {\r\n\r\n let c: VoucherHistory = new VoucherHistory();\r\n\r\n if (e.valid) {\r\n\r\n this.balanceSuccess = true;\r\n this.balanceFail = false;\r\n this.voucherNo = this.voucherNo + \"_\" + e.message;\r\n this.basketId = e.message;\r\n\r\n } else {\r\n\r\n this.balanceSuccess = false;\r\n this.basketId = \"\";\r\n c.voucherNo = d.id;\r\n c.success = false;\r\n c.errorMsg = e.message;\r\n this.voucherErrorMsg = e.message;\r\n this.voucherError = true;\r\n let date: Date = new Date;\r\n c.time = formatDate(date, \"HH:mm:ss\", 'en-za', '+0200')\r\n this.balanceFail = true;\r\n this._historyList.push(c);\r\n\r\n }\r\n },\r\n (error) => {\r\n console.log(error);\r\n this.basketId = \"\";\r\n },\r\n () => {\r\n\r\n this.memberDetails = \"Test, User\";\r\n let c: VoucherHistory = new VoucherHistory();\r\n if (this.balanceSuccess) {\r\n\r\n let d: DefaultCodesModel = new DefaultCodesModel();\r\n d.id = this.voucherNo;\r\n d.provid = this._loginService.CurrentLoggedInUser.provID;\r\n d.user = this._loginService.CurrentLoggedInUser.username;\r\n d.provSpec = this._loginService.CurrentLoggedInUser.specCode;\r\n d.provClass = this._loginService.CurrentLoggedInUser.provClass;\r\n d.hpCode = this.HpCode;\r\n this.GetDefaultCodeDetails(d);\r\n } else {\r\n this.busy = false;\r\n }\r\n })\r\n }\r\n\r\n })\r\n }\r\n\r\n /*Log event on database*/\r\n LogEvent(event: EventLoggingModel) {\r\n this._busy = true;\r\n console.log(\"Log data ---\");\r\n this._http.post(this._baseUrl + 'api/Medivouch/LogEvent',\r\n event,\r\n {\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\"\r\n })\r\n }\r\n ).subscribe((results: ValidationResultsModel) => {\r\n this._busy = true;\r\n },\r\n (error) => {\r\n console.log(error);\r\n this.error = true;\r\n this.busy = false;\r\n this._errorMessage = error.status + ' ' + ':' + error.message;\r\n },\r\n () => {\r\n this.busy = false;\r\n console.log(\"Log data --- Done\");\r\n })\r\n }\r\n\r\n /*Verify Procedure Code*/\r\n ValidateProcCode(c: ClaimCodesModel) {\r\n\r\n this._busy = true;\r\n\r\n this._http.post(this._baseUrl + 'api/Medivouch/ValidateProcCode', c\r\n ).subscribe((results: ValidationResultsModel) => {\r\n if (results.valid) {\r\n this.procDesc.message = results.message;\r\n this.procDesc.valid = true;\r\n } else {\r\n this.procDesc.valid = false;\r\n }\r\n },\r\n (error) => {\r\n console.log(error);\r\n this._error = true;\r\n this._busy = false;\r\n this._errorMessage = error.status + ' ' + ':' + error.message;\r\n },\r\n () => {\r\n this._busy = false;\r\n })\r\n }\r\n\r\n /*Verify Diagnosis Code*/\r\n ValidateDiagCode(c: ClaimCodesModel) {\r\n\r\n this._busy = true;\r\n\r\n this._http.post(this._baseUrl + 'api/Medivouch/ValidateDiagCode', c\r\n ).subscribe((results: ValidationResultsModel) => {\r\n if (results.valid) {\r\n this.diagdesc.message = results.message;\r\n this.diagdesc.valid = true;\r\n } else {\r\n this.diagdesc.valid = false;\r\n }\r\n },\r\n (error) => {\r\n console.log(error);\r\n this._error = true;\r\n this._busy = false;\r\n this._errorMessage = error.status + ' ' + ':' + error.message;\r\n },\r\n () => {\r\n this._busy = false;\r\n })\r\n }\r\n\r\n /*Send OTP with FeverTree Api*/\r\n SendOtp() {\r\n /* console.log(\"sendOtp---\");\r\n this.busy = true;\r\n this.loginDetails.uuid = uuid.v4().toUpperCase();\r\n \r\n this._http.post(\"https://api.fevertreefinance.co.za/FTIntegration.svc/SendOTP\",\r\n {\r\n MedivouchID: this.loginDetails.uuid,\r\n CardOrIDNumber: this.cardnumber\r\n },\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Basic NzkyOmRlbW8=\",\r\n \"Content-Type\": \"application/json\",\r\n })\r\n }\r\n ).subscribe((results: any) => {\r\n console.log(results);\r\n \r\n },\r\n (error) => {\r\n this._error = true;\r\n console.log(error);\r\n this._busy = false;\r\n this._errorMessage = error.status + ' ' + ':' + error.message;\r\n },\r\n () => {\r\n this.busy = false;\r\n let c: EventLoggingModel = new EventLoggingModel();\r\n \r\n c.provid = this.loginDetails.provID;\r\n c.member = this.cardnumber;\r\n c.voucherNo = this.voucherNo;\r\n c.eventDesc = \"OTPSend\";\r\n c.username = this.loginDetails.username;\r\n c.uuid = this.loginDetails.uuid;\r\n \r\n this.LogEvent(c);\r\n \r\n });\r\n setTimeout((q) => {\r\n this.busy = false;\r\n console.log(\"sendOtp---Done\");\r\n \r\n },200)*/\r\n\r\n }\r\n\r\n /*Confirm OTP with FeverTree Api*/\r\n ConfirmOtp(otp: string) {\r\n /* console.log(\"Confirm Otp---\");\r\n this.busy = true;\r\n this.loginDetails.uuid = uuid.v4().toUpperCase();\r\n \r\n this._http.post(\"https://api.fevertreefinance.co.za/FTIntegration.svc/CheckOTP\",\r\n {\r\n MedivouchID: this.loginDetails.uuid,\r\n CardOrIDNumber: this.cardnumber,\r\n OTP: otp\r\n },\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Basic NzkyOmRlbW8=\",\r\n \"Content-Type\": \"application/json\",\r\n })\r\n }\r\n ).subscribe((results: any) => {\r\n this.busy = true;\r\n this.otpSend.message = otp;\r\n this.otpSend.valid = results.Success;\r\n console.log(results);\r\n \r\n },\r\n (error) => {\r\n this._error = true;\r\n console.log(error);\r\n this._busy = false;\r\n this._errorMessage = error.status + ' ' + ':' + error.message;\r\n },\r\n () => {\r\n // this.busy = false;\r\n console.log(\"Confirm Otp---done\");\r\n let c: EventLoggingModel = new EventLoggingModel();\r\n \r\n c.provid = this.loginDetails.provID;\r\n c.member = this.cardnumber;\r\n c.voucherNo = this.voucherNo;\r\n c.eventDesc = \"OTPConfirmation\";\r\n c.username = this.loginDetails.username;\r\n c.uuid = this.loginDetails.uuid;\r\n \r\n this.LogEvent(c);\r\n \r\n });*/\r\n this.otpSend.message = \"0000\";\r\n this.otpSend.valid = true;\r\n }\r\n\r\n /*Process Payment with FeverTree Api*/\r\n ProcessPayment(total: string) {\r\n this.successMedivouch = true;\r\n this.mediRef = \"#TESTREF\";\r\n this.showReference = this.successMedivouch;\r\n /* console.log(\"Process Payment ---\");\r\n this.busy = true;\r\n this.loginDetails.uuid = uuid.v4().toUpperCase();\r\n\r\n this._http.post(\"https://api.fevertreefinance.co.za/FTIntegration.svc/ProcessMedivouch\",\r\n {\r\n MedivouchID: this.loginDetails.uuid,\r\n CardOrIDNumber: this.cardnumber,\r\n Amount: total,\r\n OTP: this.otpSend.message\r\n },\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Basic NzkyOmRlbW8=\",\r\n \"Content-Type\": \"application/json\",\r\n })\r\n }\r\n ).subscribe((results: any) => {\r\n this.busy = true;\r\n\r\n\r\n },\r\n (error) => {\r\n this._error = true;\r\n console.log(error);\r\n this._busy = false;\r\n this._errorMessage = error.status + ' ' + ':' + error.message;\r\n },\r\n () => {\r\n this.busy = false;\r\n console.log(\"Process Payment Done ---\");\r\n let c: EventLoggingModel = new EventLoggingModel();\r\n\r\n c.provid = this.loginDetails.provID;\r\n c.member = this.cardnumber;\r\n c.voucherNo = this.voucherNo;\r\n c.eventDesc = \"MedivouchCompleted\";\r\n c.username = this.loginDetails.username;\r\n c.uuid = this.loginDetails.uuid;\r\n\r\n this.LogEvent(c);\r\n this.SaveData();\r\n\r\n });*/\r\n this.SaveData();\r\n }\r\n\r\n RedeemVoucher() {\r\n this.busy = true;\r\n this.balanceSuccess = false;\r\n this.balanceFail = false;\r\n\r\n let d: DefaultCodesModel = new DefaultCodesModel();\r\n d.id = this.voucherNo;\r\n d.provid = this._loginService.CurrentLoggedInUser.provID;\r\n d.provSpec = this._loginService.CurrentLoggedInUser.specCode;\r\n d.provClass = this._loginService.CurrentLoggedInUser.provClass;\r\n d.user = this._loginService.CurrentLoggedInUser.username;\r\n d.membIDNo = this.benIDNo;\r\n d.membName = this.benName;\r\n d.membSurname = this.benSurname;\r\n d.membContact = this.benContact;\r\n d.depCode = this.benDep;\r\n d.prefix = this.Prefix;\r\n d.hpCode = this.HpCode;\r\n d.option = this.Option;\r\n\r\n //if (this._loginService.CurrentLoggedInUser.userType == 1) { //medivouch\r\n if (this.Option == 'MEDIVOUCH') {\r\n this._http.post(this._baseUrl + 'api/Medivouch/RedeemMedivouchVoucher', d\r\n\r\n ).subscribe((e: ValidationResultsModel) => {\r\n\r\n if (e.valid) {\r\n\r\n let c: any = e;\r\n let found: boolean = false;\r\n\r\n this._historyList.forEach((el) => {\r\n if (el != undefined) {\r\n try {\r\n let c: string = d.id.substr(0, this.voucherNo.indexOf('_'));\r\n\r\n if (el.voucherNo.includes(c)) {\r\n found = true;\r\n }\r\n } catch (e) {\r\n if (e == null) {\r\n\r\n }\r\n }\r\n\r\n }\r\n\r\n });\r\n\r\n if (!found) {\r\n let c: VoucherHistory = new VoucherHistory();\r\n c.voucherNo = this.voucherNo.substr(0, this.voucherNo.indexOf('_'));\r\n c.voucherName = this.groupDetail[0].headDesc;\r\n c.voucherBasket = this.voucherNo.substr(this.voucherNo.indexOf('_') + 1,\r\n this.voucherNo.length - (this.voucherNo.indexOf('_') + 1))\r\n c.success = true;\r\n c.redeemed = true;\r\n let date: Date = new Date;\r\n c.time = formatDate(date, \"HH:mm:ss\", 'en-za', '+0200')\r\n this._historyList.push(c);\r\n }\r\n else {\r\n this._historyList.forEach((el) => {\r\n try {\r\n let c: string = d.id.substr(0, this.voucherNo.indexOf('_'));\r\n if (el.voucherNo.includes(c)) {\r\n el.redeemed = true;\r\n }\r\n } catch (e) {\r\n if (e == null) {\r\n\r\n }\r\n }\r\n\r\n })\r\n }\r\n\r\n\r\n this.voucherCodes = false;\r\n this.balanceFail = false;\r\n this.balanceSuccess = false;\r\n this.allowSkip = false;\r\n\r\n this.SaveData();\r\n }\r\n else {\r\n this.busy = false;\r\n this.balanceSuccess = false;\r\n this.balanceFail = true;\r\n this.voucherRedeemError = true;\r\n this.voucherRedeemErrorMsg = e.message;\r\n }\r\n },\r\n (error) => {\r\n console.log(error);\r\n },\r\n () => {\r\n this.voucherCodes = false;\r\n this.balanceFail = false;\r\n this.balanceSuccess = false;\r\n this.allowSkip = false;\r\n this.isSchemeMember = false;\r\n })\r\n\r\n } //else if (this._loginService.CurrentLoggedInUser.userType == 6) { //internal voucher provider\r\n else {\r\n this._http.post(this._baseUrl + 'api/Medivouch/RedeemInternalVoucher', d\r\n\r\n ).subscribe((e: ValidationResultsModel) => {\r\n\r\n if (e.valid) {\r\n\r\n let c: any = e;\r\n let found: boolean = false;\r\n\r\n this._historyList.forEach((el) => {\r\n if (el != undefined) {\r\n try {\r\n let c: string = d.id.substr(0, this.voucherNo.indexOf('_'));\r\n\r\n if (el.voucherNo.includes(c)) {\r\n found = true;\r\n }\r\n } catch (e) {\r\n if (e == null) {\r\n\r\n }\r\n }\r\n\r\n }\r\n\r\n });\r\n\r\n if (!found) {\r\n let c: VoucherHistory = new VoucherHistory();\r\n c.voucherNo = this.voucherNo.substr(0, this.voucherNo.indexOf('_'));\r\n c.voucherName = this.groupDetail[0].headDesc;\r\n c.voucherBasket = this.voucherNo.substr(this.voucherNo.indexOf('_') + 1, this.voucherNo.length - (this.voucherNo.indexOf('_') + 1))\r\n c.success = true;\r\n c.redeemed = true;\r\n let date: Date = new Date;\r\n c.time = formatDate(date, \"HH:mm:ss\", 'en-za', '+0200')\r\n this._historyList.push(c);\r\n }\r\n else {\r\n this._historyList.forEach((el) => {\r\n try {\r\n let c: string = d.id.substr(0, this.voucherNo.indexOf('_'));\r\n if (el.voucherNo.includes(c)) {\r\n el.redeemed = true;\r\n }\r\n } catch (e) {\r\n if (e == null) {\r\n\r\n }\r\n }\r\n\r\n })\r\n }\r\n\r\n this.voucherCodes = false;\r\n this.balanceFail = false;\r\n this.balanceSuccess = false;\r\n this.allowSkip = false;\r\n this.isSchemeMember = false;\r\n\r\n this.SaveData();\r\n }\r\n else {\r\n this.busy = false;\r\n this.balanceSuccess = false;\r\n this.balanceFail = true;\r\n this.voucherRedeemError = true;\r\n this.voucherRedeemErrorMsg = e.message;\r\n }\r\n },\r\n (error) => {\r\n console.log(error);\r\n },\r\n () => {\r\n this.voucherCodes = false;\r\n this.balanceFail = false;\r\n this.balanceSuccess = false;\r\n this.allowSkip = false;\r\n\r\n })\r\n }\r\n\r\n\r\n }\r\n\r\n /*Save Transacion on database*/\r\n SaveData() {\r\n console.log(\"Save data ---\");\r\n this._busy = true;\r\n\r\n this.codeList = [];\r\n\r\n this.groupDetail.forEach((el) => {\r\n let c: ClaimCodesModel = new ClaimCodesModel();\r\n c.id = \"test\";\r\n c.user = this._loginService.CurrentLoggedInUser.username;\r\n c.membId = this.Prefix + this.benIDNo + \"-\" + this.benDep;\r\n c.provid = this._loginService.CurrentLoggedInUser.provID;\r\n c.mediRef = this.voucherNo;\r\n let d: string[] = this.memberDetails.split(',');\r\n c.name = this.benName;\r\n c.surname = this.benSurname;\r\n c.prefix = this.Prefix;\r\n c.hpCode = this.HpCode;\r\n c.option = this.Option;\r\n c.diag = this.diagCode;\r\n c.qty = el.defaultQty.toString();\r\n c.total = el.total;\r\n c.provpay = el.total;\r\n c.membpay = \"0.00\";\r\n c.phCode = el.phcode;\r\n c.code = el.code;\r\n c.desc = el.desc;\r\n c.singleUnitAmount = el.price;\r\n if (el.enterTooth) {\r\n c.enterTooth = true;\r\n c.toothNo = el.toothNo;\r\n } else {\r\n c.enterTooth = false;\r\n c.toothNo = el.toothNo;\r\n }\r\n c.enterTooth = false;\r\n c.createClaim = el.createClaim;\r\n this.codeList.push(c);\r\n\r\n\r\n })\r\n\r\n\r\n this._http.post(this._baseUrl + 'api/Medivouch/SaveData', this.codeList\r\n ).subscribe((results: ValidationResultsModel) => {\r\n this.busy = true;\r\n this.drcRef = results.message;\r\n this.openReferenceModel = this.successMedivouch;\r\n },\r\n (error) => {\r\n console.log(error);\r\n this.error = true;\r\n this.busy = false;\r\n this._errorMessage = error.status + ' ' + ':' + error.message;\r\n },\r\n () => {\r\n console.log(\"Save data --- Done\");\r\n this.busy = false;\r\n this.codeList = [];\r\n //this.cardnumber = \"\";\r\n this.voucherNo = \"\";\r\n this.memberDetails = \"\";\r\n this.success = true;\r\n this.voucherCodes = false;\r\n this.BenDetails = false;\r\n\r\n })\r\n }\r\n\r\n\r\n //GetDefaultCodeGroups() {\r\n\r\n // this._busy = true;\r\n // this._http.get(this._baseUrl + 'api/Medivouch/GetDefaultCodeGroups'\r\n // ).subscribe((results: DefaultCodesModel[]) => {\r\n // this.groups = [];\r\n\r\n // results.forEach((el) => {\r\n // this.groups.push(el);\r\n // });\r\n\r\n // this.groups = this.groups.sort((a, b) => a.heading.length > b.heading.length ? 1 : -1);\r\n // },\r\n // (error) => {\r\n // console.log(error);\r\n // this.error = true;\r\n // this.busy = false;\r\n // this._errorMessage = error.status + ' ' + ':' + error.message;\r\n // },\r\n // () => {\r\n // this._busy = false;\r\n // });\r\n //}\r\n\r\n GetDefaultCodeDetails(data: DefaultCodesModel) {\r\n\r\n this.busy = true;\r\n this._http.post(this._baseUrl + 'api/Medivouch/GetDefaultCodeDetails', data\r\n ).subscribe((results: DefaultCodesModel[]) => {\r\n this.groupDetail = [];\r\n\r\n results.forEach((el) => {\r\n this.groupDetail.push(el);\r\n\r\n });\r\n\r\n this.groupDetail.forEach((el) => {\r\n let c: ClaimCodesModel = new ClaimCodesModel();\r\n\r\n c.code = el.code;\r\n c.desc = el.desc;\r\n c.phCode = el.phcode;\r\n c.enterQty = el.enterQty;\r\n c.enterTooth = el.enterTooth;\r\n c.singleUnitAmount = el.price;\r\n if (c.enterQty) {\r\n c.qty = el.defaultQty.toString();\r\n }\r\n\r\n if (c.enterQty) {\r\n c.total = ((+c.qty) * (+c.singleUnitAmount)).toFixed(2);\r\n }\r\n\r\n this.codeList.push(c);\r\n });\r\n },\r\n (error) => {\r\n console.log(error);\r\n this.error = true;\r\n this.busy = false;\r\n this._errorMessage = error.status + ' ' + ':' + error.message;\r\n },\r\n () => {\r\n this.busy = false;\r\n this.voucherCodes = true;\r\n })\r\n }\r\n\r\n GetAllClaims(data: LoginDetailsModel) {\r\n this._busy = true;\r\n\r\n this._http.post(this._baseUrl + 'api/Medivouch/GetAllClaims', data\r\n ).subscribe((results: ClaimCodesModel[]) => {\r\n this._historyClaims = [];\r\n\r\n this._historyClaims = results;\r\n this._orgHistoryClaims = results;\r\n },\r\n (error) => {\r\n console.log(error);\r\n this.error = true;\r\n this.busy = false;\r\n this._errorMessage = error.status + ' ' + ':' + error.message;\r\n },\r\n\r\n () => {\r\n this._busy = false;\r\n });\r\n }\r\n\r\n GetClaimDetail(data: ClaimCodesModel) {\r\n this._busy = true;\r\n this._openDetailModel = false;\r\n this._http.post(this._baseUrl + 'api/Medivouch/GetClaimDetail', data\r\n ).subscribe((results: ClaimCodesModel[]) => {\r\n this._historyClaimsDetail = [];\r\n\r\n this._historyClaimsDetail = results;\r\n },\r\n (error) => {\r\n console.log(error);\r\n this.error = true;\r\n this.busy = false;\r\n this._errorMessage = error.status + ' ' + ':' + error.message;\r\n },\r\n\r\n () => {\r\n this._busy = false;\r\n this._openDetailModel = true;\r\n });\r\n }\r\n\r\n ValidateToothNo(data: ClaimCodesModel) {\r\n\r\n this._busy = true;\r\n\r\n this._http.post(this._baseUrl + 'api/Medivouch/ValidateToothNo', data\r\n ).subscribe((results: ValidationResultsModel) => {\r\n this._teethNo = !results.valid;\r\n this.toothCorrect = results.valid;\r\n },\r\n (error) => {\r\n console.log(error);\r\n this.error = true;\r\n this.busy = false;\r\n this._errorMessage = error.status + ' ' + ':' + error.message;\r\n },\r\n () => {\r\n this._busy = false;\r\n })\r\n\r\n\r\n }\r\n\r\n SendEmail(data: Emails) {\r\n this._busy = true;\r\n this._showEmail = false;\r\n this._http.post(this._baseUrl + 'api/Medivouch/SendEmail', data\r\n ).subscribe((results: ValidationResultsModel) => {\r\n\r\n },\r\n (error) => {\r\n console.log(error);\r\n this.error = true;\r\n this.busy = false;\r\n this._errorMessage = error.status + ' ' + ':' + error.message;\r\n this._showEmail = false;\r\n },\r\n () => {\r\n this._busy = false;\r\n this._showEmail = false;\r\n this.cardnumber = \"\";\r\n this._router.navigateByUrl(\"/provider-dash\");\r\n })\r\n }\r\n\r\n ValidateIDExist(data: DefaultCodesModel, BeneficiaryForm: FormGroup) {\r\n this.busy = true;\r\n\r\n this._http.post(this._baseUrl + 'api/MediVouch/ValidateMemberExists', data).\r\n subscribe((results: DependantsInfoModel[]) => {\r\n //this.allowSkip = result.valid;\r\n //if (this.allowSkip) {\r\n // let c: string[] = [];\r\n // c = result.message.split(\",\");\r\n // this.benName = c[0];\r\n // this.benSurname = c[1];\r\n // this.benContact = c[2];\r\n //}\r\n\r\n this.dependantList = []; // Clear list\r\n results.forEach((el) => {\r\n this.dependantList.push(el);\r\n })\r\n\r\n if (this.dependantList.length == 1) {\r\n\r\n if (this.dependantList[0].isSchemeMember) {\r\n this.isSchemeMember = true;\r\n this.allowSkip = true;\r\n }\r\n else {\r\n this.isSchemeMember = false;\r\n this.allowSkip = true;\r\n }\r\n\r\n this.benName = this.dependantList[0].firstname;\r\n this.benSurname = this.dependantList[0].lastname;\r\n this.benContact = this.dependantList[0].cell;\r\n this.benDep = this.dependantList[0].dependant;\r\n this.Option = this.dependantList[0].option;\r\n BeneficiaryForm.controls['dependant'].setValue(this.benDep);\r\n\r\n }\r\n else if (this.dependantList.length > 1) {\r\n\r\n this.isSchemeMember = true;\r\n this.allowSkip = false;\r\n }\r\n else {\r\n this.benDep = \"00\";\r\n BeneficiaryForm.controls['dependant'].setValue(this.benDep);\r\n }\r\n\r\n },\r\n (error) => {\r\n console.log(error);\r\n },\r\n () => {\r\n this.busy = false;\r\n })\r\n }\r\n\r\n GetBasketHeaders() {\r\n let c: DefaultCodesModel = new DefaultCodesModel();\r\n c.provid = this._loginService.CurrentLoggedInUser.provID;\r\n c.hpCode = this.HpCode;\r\n c.option = this.Option;\r\n c.provSpec = this._loginService.CurrentLoggedInUser.specCode;\r\n c.provClass = this._loginService.CurrentLoggedInUser.provClass;\r\n this._busy = true;\r\n this._http.post(this._baseUrl + 'api/Medivouch/GetBasketHeaders', c\r\n ).subscribe((results: DefaultCodesModel[]) => {\r\n this.basketLists = [];\r\n this.basketLists = results;\r\n },\r\n (error) => {\r\n console.log(error);\r\n this.error = true;\r\n this.busy = false;\r\n this._errorMessage = error.status + ' ' + ':' + error.message;\r\n this._showEmail = false;\r\n },\r\n () => {\r\n this._busy = false;\r\n this.GetBasketDetails();\r\n })\r\n }\r\n\r\n GetBasketDetails() {\r\n let c: DefaultCodesModel = new DefaultCodesModel();\r\n c.provid = this._loginService.CurrentLoggedInUser.provID;\r\n c.hpCode = this.HpCode;\r\n c.option = this.Option;\r\n c.provSpec = this._loginService.CurrentLoggedInUser.specCode;\r\n c.provClass = this._loginService.CurrentLoggedInUser.provClass;\r\n this._busy = true;\r\n this._http.post(this._baseUrl + 'api/Medivouch/GetBasketDetails', c\r\n ).subscribe((results: DefaultCodesModel[]) => {\r\n this.basketDetailLists = [];\r\n this.basketDetailLists = results;\r\n },\r\n (error) => {\r\n console.log(error);\r\n this.error = true;\r\n this.busy = false;\r\n this._errorMessage = error.status + ' ' + ':' + error.message;\r\n this._showEmail = false;\r\n },\r\n () => {\r\n this._busy = false;\r\n this.showBaskets = true;\r\n })\r\n }\r\n\r\n GetVoucherRedemtionHistory() {\r\n this.busy = true;\r\n let c: DefaultCodesModel = new DefaultCodesModel();\r\n c.provid = this._loginService.CurrentLoggedInUser.provID;\r\n this._http.post(this._baseUrl + 'api/MediVouch/GetVoucherRedemtionHistory', c\r\n ).subscribe((results: ClaimCodesModel[]) => {\r\n this._voucherRedemtionHist = [];\r\n this._voucherRedemtionHist = results;\r\n\r\n },\r\n (error) => {\r\n console.log(error);\r\n this.error = true;\r\n this.busy = false;\r\n this._errorMessage = error.status + ' ' + ':' + error.message;\r\n },\r\n () => {\r\n this._busy = false;\r\n })\r\n }\r\n\r\n GetBasketHpCodes(provSpec: string = \"\", provClass: string = \"\") {\r\n this._busy = true;\r\n\r\n let data: DefaultCodesModel = new DefaultCodesModel();\r\n data.provSpec = provSpec;\r\n data.provClass = provClass;\r\n this.VoucherHpList = [];\r\n\r\n this._http.post(this._baseUrl + 'api/Medivouch/GetBasketHpCodes', data\r\n ).subscribe((results: VoucherHpModel[]) => {\r\n\r\n results.forEach((el) => {\r\n this.VoucherHpList.push(el);\r\n })\r\n\r\n },\r\n (error) => {\r\n console.log(error);\r\n this.error = true;\r\n this._errorMessage = error.status + ' ' + ':' + error.message;\r\n },\r\n () => {\r\n this._busy = false;\r\n })\r\n }\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Router } from '@angular/router';\r\nimport { SecurityService } from './security.service';\r\nimport { SettingsService } from './settings.service';\r\nimport { HP_ContractsModel } from '../models/HP_ContractsModel';\r\nimport { ClaimHeadersModel } from '../models/ClaimHeadersModel';\r\nimport { ClaimLineModel } from '../models/ClaimLineModel';\r\nimport { ClaimAdjustModel } from '../models/ClaimAdjustModel';\r\nimport { ReturnedFileInformationModel } from '../models/ReturnedFileInformationModel';\r\nimport { ClaimReversalModel } from '../models/ClaimReversalModel';\r\nimport { DetailLinesModel } from '../models/DetailLinesModel';\r\nimport { CheckRunDetailsModel } from '../models/CheckRunDetailsModel';\r\nimport { MemberNoModel } from '../models/MemberNoModel';\r\nimport { ValidationResultsModel } from '../models/ValidationResultsModel';\r\nimport { RejectClaimDetailModel } from '../models/RejectClaimDetaiModel';\r\nimport { LoginService } from './login.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class MemberClaimService {\r\n private _hpContract: HP_ContractsModel = new HP_ContractsModel();\r\n private _claimDetails: ClaimHeadersModel = new ClaimHeadersModel();\r\n private _listOfrequirements = [];\r\n private _testClaimcompleteness: boolean;\r\n private _invalidProvderIdmodal: boolean;\r\n private _emptyClaimform: boolean = false;\r\n private _displayClaimtable: boolean = false;\r\n private _validationSpinner: boolean;\r\n private _disableClaimssearch: boolean;\r\n private _paidTo: string;\r\n private _listOfclaims: ClaimHeadersModel[] = [];\r\n private _noClaimsfound: boolean = false;\r\n private _claimNumber: string;\r\n private _claimpaidDate: string;\r\n private _downloadClaimclicked: boolean;\r\n private _selectedClaim: ClaimHeadersModel = new ClaimHeadersModel();\r\n private _returnedClaimdetail = [Array, Array];\r\n private _selectedClaimdetail: ClaimLineModel[] = [];\r\n private _selectedClaimadjust: ClaimAdjustModel[] = [];\r\n private _showClaimdetail: boolean;\r\n private _rejectionReasons: ClaimAdjustModel[] = [];\r\n private _hasRejections: boolean;\r\n private _parseddate: any;\r\n private _filename: string;\r\n private _filesource: string;\r\n private _remittancedownloadmodal: boolean = false;\r\n private _isMember: boolean;\r\n private _refProvInfo: DetailLinesModel = new DetailLinesModel();\r\n private _details: CheckRunDetailsModel = new CheckRunDetailsModel();\r\n private _claimInfo: DetailLinesModel[];\r\n private _paidInfo: DetailLinesModel;\r\n private _visitCounts: number;\r\n private _authNo: string;\r\n private _AdjustInfo: DetailLinesModel[];\r\n private _token: string;\r\n private _familyNo: string;\r\n public get familyNo(): string {\r\n return this._familyNo;\r\n }\r\n public set familyNo(value: string) {\r\n this._familyNo = value;\r\n }\r\n private _familyName: string;\r\n private _busyReverse: boolean = false;\r\n public get busyReverse(): boolean {\r\n return this._busyReverse;\r\n }\r\n public set busyReverse(value: boolean) {\r\n this._busyReverse = value;\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n constructor(private _router: Router, private _http: HttpClient, @Inject('BASE_URL') public _baseUrl: string, private _loginService: LoginService, private _securityService: SecurityService, private _settingsService: SettingsService) {\r\n }\r\n\r\n public get token(): string {\r\n return localStorage.getItem(\"jwt\");\r\n }\r\n public set token(value: string) {\r\n localStorage.setItem(\"jwt\", value);\r\n }\r\n\r\n CloseNoClaims() {\r\n this.ClearAllInputFields();\r\n this._noClaimsfound = false\r\n }\r\n\r\n CloseClaimDetail() {\r\n this._showClaimdetail = false\r\n this._rejectionReasons = [];\r\n this._hasRejections = false\r\n\r\n }\r\n\r\n DisableDownloadBtn(x: string): boolean {\r\n let isDisabled: boolean;\r\n\r\n let inputDate: Date = new Date(x);\r\n\r\n if (x == \"In Process\") {\r\n isDisabled = true;\r\n }\r\n else if (isNaN(inputDate.getTime())) // Check if date is invalid\r\n {\r\n isDisabled = true;\r\n }\r\n else // Valid date\r\n {\r\n //Get delayDays\r\n let delayDaySetting: number;\r\n\r\n if (this._loginService.CurrentLoggedInUser.userType == 1) //Provider\r\n {\r\n delayDaySetting = Math.abs(parseInt(this._settingsService.GetSettingsDesc('payrunlag_prov')));\r\n }\r\n else if (this._loginService.CurrentLoggedInUser.userType == 2 || this._loginService.CurrentLoggedInUser.userType == 3 || this._loginService.CurrentLoggedInUser.userType == 5) //Bureau, Client, Broker\r\n {\r\n delayDaySetting = Math.abs(parseInt(this._settingsService.GetSettingsDesc('payrunlag')));\r\n }\r\n\r\n //let currentDate: Date = new Date(); //return datetime object\r\n //let currentDate = Date.now(); //returns Epoch date (milliseconds from 1 Jan 1970)\r\n //let testDate = inputDate.setDate(inputDate.getDate() + 3); //returns Epoch date (milliseconds from 1 Jan 1970)\r\n\r\n if (inputDate.setDate(inputDate.getDate() + delayDaySetting) > Date.now()) {\r\n isDisabled = true;\r\n }\r\n else {\r\n isDisabled = false;\r\n }\r\n }\r\n\r\n return isDisabled\r\n }\r\n\r\n ClaimDownload(selectedclaimnumber: string, paiddate: string, paidto: string, isMember: boolean) {\r\n this._claimNumber = selectedclaimnumber;\r\n this._claimpaidDate = paiddate;\r\n this._paidTo = paidto;\r\n this._remittancedownloadmodal = true;\r\n this._isMember = isMember\r\n\r\n this._http.post(this._baseUrl + \"api/Security/DownloadClaimRemitance\", {\r\n Username: this._loginService.CurrentLoggedInUser.username,\r\n ClaimNumber: this._claimNumber,\r\n UserType: this._loginService.CurrentLoggedInUser.userType,\r\n PaidDate: this._claimpaidDate,\r\n paidTo: this._paidTo,\r\n isMember: this._isMember\r\n },\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }).subscribe((specificremittance: ReturnedFileInformationModel) => {\r\n\r\n this._parseddate = specificremittance.parsedDate\r\n this._filename = specificremittance.fileName\r\n //this._filesource = '../../PamcPortal/assets/Remittances/' + this._parseddate + '/' + this._filename\r\n this._filesource = 'assets/Remittances/' + this._parseddate + '/' + this._filename\r\n\r\n var a = document.createElement('a');\r\n a.target = '_blank';\r\n a.setAttribute('type', 'hidden');\r\n a.href = this._filesource\r\n a.download = this._filename;\r\n document.body.appendChild(a);\r\n a.click();\r\n a.remove();\r\n\r\n\r\n\r\n this._remittancedownloadmodal = false\r\n },\r\n (error) => { console.log(error) })\r\n\r\n }\r\n\r\n ShowClaimDetailModal(claim: ClaimHeadersModel, billed: string, reversedate: string, paiddate: string) {\r\n this._selectedClaim = claim\r\n this._http.post(this._baseUrl + \"api/Security/ClaimInfo\", {\r\n ClaimNo: this._selectedClaim.claimNo\r\n },\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }).subscribe((ReturnedDetail: any) => {\r\n this._returnedClaimdetail = ReturnedDetail\r\n this._selectedClaimdetail = Object(this._returnedClaimdetail)[\"item1\"]\r\n this._selectedClaimadjust = Object(this._returnedClaimdetail)[\"item2\"]\r\n\r\n },\r\n (error) => {\r\n console.log(error);\r\n if (error.status == '401') {\r\n this._router.navigateByUrl('/login');\r\n }\r\n\r\n },\r\n () => {\r\n this.GetDetailsOfRefProv();\r\n })\r\n\r\n\r\n }\r\n\r\n get refProviderInfo() {\r\n return this._refProvInfo;\r\n }\r\n\r\n get details() {\r\n return this._details;\r\n }\r\n\r\n GetDetailsOfRefProv() {\r\n this._details = new CheckRunDetailsModel();\r\n this._details.claimNo = this._selectedClaim.claimNo;\r\n\r\n this._http.post(this._baseUrl + 'api/Security/GetDetailsOfRefProv', this._details,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n })\r\n .subscribe((recievedData: DetailLinesModel) => {\r\n this._refProvInfo = new DetailLinesModel();\r\n this._refProvInfo.claimNo = recievedData.claimNo;\r\n this._refProvInfo.refProvId = recievedData.refProvId;\r\n this._refProvInfo.refProfName = recievedData.refProfName;\r\n this._refProvInfo.specCode = recievedData.specCode;\r\n this._refProvInfo.desc = recievedData.desc;\r\n if (recievedData.claimOriginal === '') {\r\n this._refProvInfo.claimOriginal = recievedData.claimNo;\r\n } else {\r\n this._refProvInfo.claimOriginal = recievedData.claimOriginal;\r\n }\r\n if (recievedData.claimreverse === '') {\r\n this._refProvInfo.claimreverse = 'No Reversal';\r\n } else {\r\n this._refProvInfo.claimreverse = recievedData.claimreverse;\r\n }\r\n if (recievedData.reversedate === '') {\r\n this._refProvInfo.reversedate = 'No Reverse Date';\r\n } else {\r\n this._refProvInfo.reversedate = recievedData.reversedate;\r\n }\r\n },\r\n (error) => {\r\n console.log(error);\r\n if (error.status == '401') {\r\n this._router.navigateByUrl('/login');\r\n }\r\n },\r\n () => {\r\n this.GetDetailsOfClaim();\r\n });\r\n }\r\n\r\n get paidInfo() {\r\n return this._paidInfo;\r\n }\r\n\r\n get claimInfo() {\r\n return this._claimInfo;\r\n }\r\n\r\n GetDetailsOfClaim() {\r\n this._securityService.LoadingModel = true;\r\n this._http.post(this._baseUrl + 'api/Security/GetDetailsOfClaim', this._details,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n })\r\n .subscribe((recievedData: DetailLinesModel[]) => {\r\n this._paidInfo = new DetailLinesModel();\r\n this._claimInfo = [];\r\n let x = recievedData;\r\n x.forEach((dl) => {\r\n this._claimInfo.push(dl);\r\n });\r\n },\r\n (error) => {\r\n console.log(error);\r\n if (error.status == '401') {\r\n this._router.navigateByUrl('/login');\r\n }\r\n },\r\n () => {\r\n this.GetAdjustOfClaim();\r\n });\r\n }\r\n\r\n public get AdjustInfo() {\r\n return this._AdjustInfo;\r\n }\r\n\r\n GetAdjustOfClaim() {\r\n this._http.post(this._baseUrl + 'api/Security/GetAdjustOfClaim', this._details,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n })\r\n .subscribe((recievedData: DetailLinesModel[]) => {\r\n this._paidInfo = new DetailLinesModel();\r\n this._AdjustInfo = [];\r\n let x = recievedData;\r\n let temp: boolean;\r\n x.sort((a, b) => a.adjCode2 < b.adjCode ? 1 : -1);\r\n x.forEach((dl) => {\r\n temp = false;\r\n this.AdjustInfo.forEach((adj) => {\r\n if (adj.adjCode2 === dl.adjCode2) {\r\n temp = true;\r\n }\r\n });\r\n if (temp === false) {\r\n this._AdjustInfo.push(dl);\r\n }\r\n\r\n });\r\n },\r\n (error) => {\r\n console.log(error);\r\n if (error.status == '401') {\r\n this._router.navigateByUrl('/login');\r\n }\r\n },\r\n () => {\r\n this.GetVisitCounts();\r\n });\r\n }\r\n\r\n RejectClaim(claimToBeRejected: RejectClaimDetailModel) {\r\n\r\n this._http.post(this._baseUrl + 'api/Security/RejectClaim', claimToBeRejected,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }\r\n ).subscribe((recievedData) => {\r\n\r\n },\r\n (error) => {\r\n\r\n console.log(error);\r\n if (error.status == '401') {\r\n this._router.navigateByUrl('/login');\r\n }\r\n },\r\n () => {\r\n this.RefreshTable(claimToBeRejected);\r\n this.GetDetailsOfClaim();\r\n });\r\n }\r\n\r\n RefreshTable(claimToBeRejected: RejectClaimDetailModel) {\r\n\r\n this._http.post(this._baseUrl + 'api/Security/RefreshTabel', claimToBeRejected,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }\r\n ).subscribe((recieved) => {\r\n\r\n\r\n\r\n },\r\n (error) => {\r\n console.log(error);\r\n if (error.status == '401') {\r\n this._router.navigateByUrl('/login');\r\n }\r\n },\r\n () => {\r\n this.ValidateForm();\r\n });\r\n }\r\n public get visitCounts(): number {\r\n return this._visitCounts;\r\n }\r\n public set visitCounts(value: number) {\r\n this._visitCounts = value;\r\n }\r\n\r\n GetVisitCounts() {\r\n let memb: MemberNoModel = new MemberNoModel();\r\n memb.hpcode = this._loginService.CurrentLoggedInUser.username;\r\n memb.memberNo = this._selectedClaim.memberNo;\r\n this._http.post(this._baseUrl + 'api/Security/GetVisitClaims', memb,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n })\r\n .subscribe((recievedCount: MemberNoModel) => {\r\n let x: string = recievedCount.memberNo\r\n this.visitCounts = parseInt(x);\r\n },\r\n (error) => {\r\n console.log(error);\r\n if (error.status == '401') {\r\n this._router.navigateByUrl('/login');\r\n }\r\n },\r\n () => {\r\n this.GetAuthNo();\r\n });\r\n\r\n }\r\n\r\n public get authNo(): string {\r\n return this._authNo;\r\n }\r\n public set authNo(value: string) {\r\n this._authNo = value;\r\n }\r\n\r\n GetAuthNo() {\r\n let x: ValidationResultsModel = new ValidationResultsModel();\r\n x.message = this.details.claimNo;\r\n this._http.post(this._baseUrl + 'api/Security/GetAuthNo', x,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n })\r\n .subscribe((recievedData: ValidationResultsModel) => {\r\n this.authNo = recievedData.message;\r\n },\r\n (error) => {\r\n console.log(error);\r\n if (error.status == '401') {\r\n this._router.navigateByUrl('/login');\r\n }\r\n },\r\n () => {\r\n this._showClaimdetail = true;\r\n this._securityService.LoadingModel = false;\r\n this._securityService.rejectModalShow = false;\r\n });\r\n }\r\n\r\n ClearAllInputFields() {\r\n this._hpContract.hpcode = \"000\"\r\n this._claimDetails.memberNo = \"\"\r\n this._claimDetails.memberId = \"\"\r\n this._claimDetails.providerId = \"\"\r\n this._claimDetails.memberDOB = null\r\n this._claimDetails.serviceDate = null\r\n this._claimDetails.datePaid = null\r\n\r\n }\r\n\r\n AdministratorValidation() {\r\n let temparray = [];\r\n let TestBoolean: boolean;\r\n let enabled: boolean;\r\n let required: boolean;\r\n\r\n enabled = this._settingsService.GetSettingEnabled('AdministratorViewClaimMemberNumber');\r\n required = this._settingsService.GetSettingRequired('AdministratorViewClaimMemberNumber');\r\n\r\n if (enabled == true) {\r\n if (this._claimDetails.memberNo != \"\") {\r\n TestBoolean = true\r\n } else {\r\n TestBoolean = false\r\n if (required == true) {\r\n temparray.push(\"Enter a Member Number\")\r\n }\r\n }\r\n }\r\n enabled = this._settingsService.GetSettingEnabled('AdministratorViewClaimSelectHealthPlan');\r\n required = this._settingsService.GetSettingRequired('AdministratorViewClaimSelectHealthPlan');\r\n\r\n if (enabled == true) {\r\n if (this._hpContract.hpcode != \"000\") {\r\n TestBoolean = true\r\n } else {\r\n TestBoolean = false\r\n if (required == true) {\r\n temparray.push(\"Select a Health plan\")\r\n }\r\n }\r\n }\r\n\r\n enabled = this._settingsService.GetSettingEnabled('AdministratorviewClaimmemberIDNumber');\r\n required = this._settingsService.GetSettingRequired('AdministratorviewClaimmemberIDNumber');\r\n\r\n if (enabled == true) {\r\n if (this._claimDetails.memberId != \"\") {\r\n TestBoolean = true\r\n } else {\r\n TestBoolean = false\r\n if (required == true) {\r\n temparray.push(\"Enter The Member's ID Number\")\r\n }\r\n }\r\n }\r\n enabled = this._settingsService.GetSettingEnabled('AdministratorViewClaimMemberDOB');\r\n required = this._settingsService.GetSettingRequired('AdministratorViewClaimMemberDOB');\r\n\r\n if (enabled == true) {\r\n if (this._claimDetails.memberDOB != null) {\r\n TestBoolean = true\r\n } else {\r\n TestBoolean = false\r\n if (required == true) {\r\n temparray.push(\"Enter the Member's Date Of Birth\")\r\n }\r\n }\r\n }\r\n\r\n enabled = this._settingsService.GetSettingEnabled('AdministratorViewClaimMemberServiceDate');\r\n required = this._settingsService.GetSettingRequired('AdministratorViewClaimMemberServiceDate');\r\n\r\n if (enabled == true) {\r\n if (this._claimDetails.serviceDate != null && this._claimDetails.serviceDate != \"\") {\r\n TestBoolean = true\r\n } else {\r\n TestBoolean = false\r\n if (required == true) {\r\n temparray.push(\"Enter the Claim Service Date\")\r\n }\r\n }\r\n }\r\n\r\n\r\n enabled = this._settingsService.GetSettingEnabled('MemberViewClaimPracticeNumber');\r\n required = this._settingsService.GetSettingRequired('MemberViewClaimPracticeNumber');\r\n\r\n if (enabled == true) {\r\n if (this._loginService.CurrentLoggedInUser.provID != null && this._loginService.CurrentLoggedInUser.provID != \"\") {\r\n TestBoolean = true\r\n } else {\r\n TestBoolean = true\r\n if (required == true) {\r\n temparray.push(\"Enter a Practice Number\")\r\n TestBoolean = false\r\n }\r\n }\r\n }\r\n\r\n enabled = this._settingsService.GetSettingEnabled('AdministratorViewClaimMemberPaidDate');\r\n required = this._settingsService.GetSettingRequired('AdministratorViewClaimMemberPaidDate');\r\n\r\n if (enabled == true) {\r\n if (this._claimDetails.datePaid != null && this._claimDetails.datePaid != \"\") {\r\n TestBoolean = true\r\n } else {\r\n TestBoolean = false\r\n if (required == true) {\r\n temparray.push(\"Enter the Claim Payment Date\")\r\n }\r\n\r\n }\r\n }\r\n this._listOfrequirements = temparray\r\n this._testClaimcompleteness = TestBoolean\r\n\r\n if (this._listOfrequirements.length > 0) {\r\n this._testClaimcompleteness = false\r\n }\r\n if (this._invalidProvderIdmodal == true) {\r\n this._emptyClaimform = false\r\n this._displayClaimtable = false\r\n } else {\r\n if (this._testClaimcompleteness == false) {\r\n this._emptyClaimform = true\r\n this._displayClaimtable = false\r\n } else {\r\n this.SearchClaim()\r\n }\r\n }\r\n }\r\n\r\n get isMemberClaim(): boolean {\r\n let check: boolean;\r\n if (this._router.url == \"/member-claims\") {\r\n check = true\r\n } else {\r\n check = false\r\n }\r\n return check;\r\n }\r\n\r\n CheckAdministratorProviderID() {\r\n this._paidTo = \"M\";\r\n this._loginService.CurrentLoggedInUser.provID = \"\"\r\n if (this._loginService.CurrentLoggedInUser.provID == \"\") {\r\n this._loginService.CurrentLoggedInUser.provID = this._claimDetails.providerId\r\n }\r\n }\r\n\r\n ProviderValidation() {\r\n let temparray = []\r\n let TestBoolean: boolean\r\n let enabled: boolean;\r\n let required: boolean;\r\n\r\n enabled = this._settingsService.GetSettingEnabled('ProviderViewClaiMemberNumber');\r\n required = this._settingsService.GetSettingRequired('ProviderViewClaiMemberNumber');\r\n\r\n if (enabled == true) {\r\n if (this._claimDetails.memberNo != \"\") {\r\n TestBoolean = true\r\n } else {\r\n TestBoolean = false\r\n if (required == true) {\r\n temparray.push(\"Enter a Member Number\")\r\n }\r\n }\r\n }\r\n\r\n enabled = this._settingsService.GetSettingEnabled('ProviderViewClaimSelectHealthPlan');\r\n required = this._settingsService.GetSettingRequired('ProviderViewClaimSelectHealthPlan');\r\n\r\n if (enabled == true) {\r\n if (this._hpContract.hpcode != \"000\") {\r\n TestBoolean = true\r\n } else {\r\n TestBoolean = false\r\n if (required == true) {\r\n temparray.push(\"Select a Health plan\")\r\n }\r\n }\r\n }\r\n\r\n enabled = this._settingsService.GetSettingEnabled('ProviderviewClaimmemberIDNumber');\r\n required = this._settingsService.GetSettingRequired('ProviderviewClaimmemberIDNumber');\r\n\r\n if (enabled == true) {\r\n if (this._claimDetails.memberId != \"\") {\r\n TestBoolean = true\r\n } else {\r\n TestBoolean = false\r\n if (required == true) {\r\n temparray.push(\"Enter The Member's ID Number\")\r\n }\r\n }\r\n }\r\n\r\n enabled = this._settingsService.GetSettingEnabled('ProviderViewClaimMemberDOB');\r\n required = this._settingsService.GetSettingRequired('ProviderViewClaimMemberDOB');\r\n\r\n if (enabled == true) {\r\n if (this._claimDetails.memberDOB != null) {\r\n TestBoolean = true\r\n } else {\r\n TestBoolean = false\r\n if (required == true) {\r\n temparray.push(\"Enter the Member's Date Of Birth\")\r\n }\r\n }\r\n }\r\n\r\n enabled = this._settingsService.GetSettingEnabled('ProviderViewClaimMemberServiceDate');\r\n required = this._settingsService.GetSettingRequired('ProviderViewClaimMemberServiceDate');\r\n\r\n if (enabled == true) {\r\n if (this._claimDetails.serviceDate != null && this._claimDetails.serviceDate != \"\") {\r\n TestBoolean = true\r\n } else {\r\n TestBoolean = false\r\n if (required == true) {\r\n temparray.push(\"Enter the Claim Service Date\")\r\n }\r\n }\r\n }\r\n if (this._loginService.CurrentLoggedInUser.provID != null && this._loginService.CurrentLoggedInUser.provID != \"\") {\r\n TestBoolean = true\r\n } else {\r\n temparray.push(\"Enter a Practice Number\")\r\n }\r\n\r\n enabled = this._settingsService.GetSettingEnabled('ProviderViewClaimMemberPaidDate');\r\n required = this._settingsService.GetSettingRequired('ProviderViewClaimMemberPaidDate');\r\n\r\n if (enabled == true) {\r\n if (this._claimDetails.datePaid != null && this._claimDetails.datePaid != \"\") {\r\n TestBoolean = true\r\n } else {\r\n TestBoolean = false\r\n if (required == true) {\r\n temparray.push(\"Enter the Claim Payment Date\")\r\n }\r\n\r\n }\r\n }\r\n this._listOfrequirements = temparray\r\n this._testClaimcompleteness = TestBoolean\r\n\r\n if (this._listOfrequirements.length > 0) {\r\n this._testClaimcompleteness = false\r\n }\r\n if (this._invalidProvderIdmodal == true) {\r\n this._emptyClaimform = false\r\n this._displayClaimtable = false\r\n } else {\r\n if (this._testClaimcompleteness == false) {\r\n this._emptyClaimform = true\r\n this._displayClaimtable = false\r\n } else {\r\n this.SearchClaim()\r\n }\r\n }\r\n }\r\n\r\n BureauValidation() {\r\n let tempArray = []\r\n let testBoolean: boolean;\r\n let enabled: boolean;\r\n let required: boolean;\r\n\r\n enabled = this._settingsService.GetSettingEnabled('ViewClaimSelectHealthPlan');\r\n required = this._settingsService.GetSettingRequired('ViewClaimSelectHealthPlan');\r\n\r\n if (enabled == true) {\r\n if (this._hpContract.hpcode != \"000\") {\r\n testBoolean = true\r\n } else {\r\n testBoolean = false\r\n if (required == true) {\r\n tempArray.push(\"Select a Health plan\")\r\n }\r\n }\r\n }\r\n\r\n enabled = this._settingsService.GetSettingEnabled('ViewClaimMemberNumber');\r\n required = this._settingsService.GetSettingRequired('ViewClaimMemberNumber');\r\n\r\n if (enabled == true) {\r\n if (this._claimDetails.memberNo != \"\") {\r\n testBoolean = true\r\n } else {\r\n testBoolean = false\r\n if (required == true) {\r\n tempArray.push(\"Enter a Member Number\")\r\n }\r\n }\r\n }\r\n\r\n enabled = this._settingsService.GetSettingEnabled('ViewClaimMemberIDNumber');\r\n required = this._settingsService.GetSettingRequired('ViewClaimMemberIDNumber');\r\n\r\n if (enabled == true) {\r\n if (this._claimDetails.memberId != \"\") {\r\n testBoolean = true\r\n } else {\r\n testBoolean = false\r\n if (required == true) {\r\n tempArray.push(\"Enter The Member's ID Number\")\r\n }\r\n }\r\n }\r\n\r\n enabled = this._settingsService.GetSettingEnabled('ViewClaimMemberDOB');\r\n required = this._settingsService.GetSettingRequired('ViewClaimMemberDOB');\r\n\r\n if (enabled == true) {\r\n if (this._claimDetails.memberDOB != null) {\r\n testBoolean = true\r\n } else {\r\n testBoolean = false\r\n if (required == true) {\r\n tempArray.push(\"Enter the Member's Date Of Birth\")\r\n }\r\n }\r\n }\r\n\r\n enabled = this._settingsService.GetSettingEnabled('ViewClaimMemberServiceDate');\r\n required = this._settingsService.GetSettingRequired('ViewClaimMemberServiceDate');\r\n\r\n if (enabled == true) {\r\n if (this._claimDetails.serviceDate != null && this._claimDetails.serviceDate != \"\") {\r\n testBoolean = true\r\n } else {\r\n testBoolean = false\r\n if (required == true) {\r\n tempArray.push(\"Enter the Claim Service Date\")\r\n }\r\n }\r\n }\r\n if (this._loginService.CurrentLoggedInUser.provID != null && this._loginService.CurrentLoggedInUser.provID != \"\") {\r\n testBoolean = true\r\n } else {\r\n tempArray.push(\"Enter a Practice Number\")\r\n }\r\n\r\n enabled = this._settingsService.GetSettingEnabled('ViewClaimMemberPaidDate');\r\n required = this._settingsService.GetSettingRequired('ViewClaimMemberPaidDate');\r\n\r\n\r\n if (enabled == true) {\r\n if (this._claimDetails.datePaid != null && this._claimDetails.datePaid != \"\") {\r\n testBoolean = true\r\n } else {\r\n testBoolean = false\r\n if (required == true) {\r\n tempArray.push(\"Enter the Claim Payment Date\")\r\n }\r\n\r\n }\r\n }\r\n this._listOfrequirements = tempArray;\r\n this._testClaimcompleteness = testBoolean;\r\n\r\n if (this._listOfrequirements.length > 0) {\r\n this._testClaimcompleteness = false\r\n }\r\n if (this._invalidProvderIdmodal == true) {\r\n this._emptyClaimform = false;\r\n this._displayClaimtable = false;\r\n } else {\r\n if (this._testClaimcompleteness == false) {\r\n this._emptyClaimform = true;\r\n this._displayClaimtable = false;\r\n } else {\r\n this.SearchClaim();\r\n }\r\n }\r\n\r\n }\r\n\r\n CheckProviderID() {\r\n let filterprovID = this._loginService.ProvidersLinkedToBureau.filter(x => x.vendorid === this._claimDetails.providerId)\r\n if (filterprovID.length != 0) {\r\n this._loginService.CurrentLoggedInUser.provID = \"\";\r\n filterprovID.forEach(el => {\r\n this._loginService.CurrentLoggedInUser.provID = el.vendorid\r\n this._invalidProvderIdmodal = false\r\n });\r\n } else {\r\n this._loginService.CurrentLoggedInUser.provID = this._claimDetails.providerId\r\n if (filterprovID.length == 0 && this._claimDetails.providerId.length > 0) {\r\n this._invalidProvderIdmodal = true\r\n }\r\n }\r\n }\r\n\r\n ValidateForm() {\r\n if (this._loginService.CurrentLoggedInUser.userType == 2) {\r\n this.CheckProviderID();\r\n this.BureauValidation();\r\n }\r\n if (this._loginService.CurrentLoggedInUser.userType == 1) {\r\n this.ProviderValidation();\r\n }\r\n if (this._loginService.CurrentLoggedInUser.userType == 3) {\r\n this.CheckAdministratorProviderID();\r\n this.AdministratorValidation();\r\n }\r\n }\r\n\r\n SearchClaim() {\r\n this._validationSpinner = true\r\n this._disableClaimssearch = true;\r\n\r\n this._http.post(this._baseUrl + \"api/Security/MemberClaimSearch\", {\r\n\r\n Plan: this._hpContract.hpcode,\r\n MemberNo: this._claimDetails.memberNo,\r\n ServiceDate: this._claimDetails.serviceDate,\r\n DatePaid: this._claimDetails.datePaid,\r\n Practice: this._loginService.CurrentLoggedInUser.provID,\r\n UserType: this._loginService.CurrentLoggedInUser.userType,\r\n userName: this._loginService.CurrentLoggedInUser.username,\r\n lobCode: this._loginService.CurrentLoggedInUser.lobcode,\r\n paidTo: this._paidTo,\r\n isMember: this.isMemberClaim\r\n\r\n },\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }).subscribe((returnedclaimdetail: ClaimHeadersModel[]) => {\r\n\r\n this._listOfclaims = returnedclaimdetail\r\n\r\n if (this._listOfclaims.length > 0) {\r\n this._displayClaimtable = true;\r\n this._validationSpinner = false;\r\n this._disableClaimssearch = false;\r\n } else {\r\n this._displayClaimtable = false;\r\n this._noClaimsfound = true;\r\n this._validationSpinner = false;\r\n this._disableClaimssearch = false;\r\n }\r\n\r\n },\r\n (error) => { console.log(error); },\r\n () => {\r\n this._busyReverse = false;\r\n this.GetFamilyNameSearch()\r\n });\r\n }\r\n\r\n public get familyName(): string {\r\n return this._familyName;\r\n }\r\n public set familyName(value: string) {\r\n this._familyName = value;\r\n }\r\n\r\n GetFamilyNameSearch() {\r\n this._http.post(this._baseUrl + 'api/Security/ProviderClaimSearchFamilyName', {\r\n\r\n Plan: this._hpContract.hpcode,\r\n MemberNo: this._claimDetails.memberNo,\r\n ServiceDate: this._claimDetails.serviceDate,\r\n DatePaid: this._claimDetails.datePaid,\r\n Practice: this._loginService.CurrentLoggedInUser.provID,\r\n UserType: this._loginService.CurrentLoggedInUser.userType,\r\n userName: this._loginService.CurrentLoggedInUser.username,\r\n lobCode: this._loginService.CurrentLoggedInUser.lobcode,\r\n paidTo: this._paidTo,\r\n isMember: this.isMemberClaim\r\n },\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }).subscribe((returnedFamily: ClaimHeadersModel) => {\r\n\r\n\r\n if (this._listOfclaims.length > 0) {\r\n this._displayClaimtable = true;\r\n this._validationSpinner = false;\r\n this._disableClaimssearch = false;\r\n this._familyName = \"\";\r\n this._familyName = \"Main Policy Holder: \" + returnedFamily.memberFirstName + \" \" + returnedFamily.memberLastName;\r\n } else {\r\n this._displayClaimtable = false;\r\n this._noClaimsfound = true;\r\n this._validationSpinner = false;\r\n this._disableClaimssearch = false;\r\n this._familyName = \"\";\r\n }\r\n },\r\n (error) => {\r\n\r\n },\r\n () => {\r\n let c: string = this._claimDetails.memberNo;\r\n let y: boolean = c.includes('-');\r\n if (y) {\r\n let x: number = c.lastIndexOf('-');\r\n let v: number = c.length - (x + 1);\r\n if (v == 2) {\r\n let z = c.substring(0, x);\r\n this._familyNo = z;\r\n } else {\r\n this._familyNo = this._claimDetails.memberNo;\r\n }\r\n\r\n } else {\r\n this._familyNo = this._claimDetails.memberNo;\r\n }\r\n });\r\n }\r\n ReverseClaim() {\r\n this._busyReverse = true;\r\n this._http.post(this._baseUrl + \"api/Security/ClaimReversal\", {\r\n claimNumber: this._securityService.ClaimModal.claimNumber\r\n },\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this.token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }).subscribe((claimReversal: ClaimReversalModel[]) => {\r\n this._securityService.ShowClaimReversalModal = false;\r\n this.SearchClaim()\r\n })\r\n }\r\n\r\n ShowRejectionReason(selectedClaim: number) {\r\n let RjectionOfClaim = this._selectedClaimadjust.filter(x => selectedClaim.toString() == x.claimtblrow)\r\n this._rejectionReasons = RjectionOfClaim\r\n this._hasRejections = true\r\n\r\n }\r\n\r\n DisableInfoBtn(billed: number, net: number, claimtblnummber: number): boolean {\r\n if (billed == net) {\r\n return true\r\n } else {\r\n return false\r\n }\r\n }\r\n\r\n get ClaimDetail() {\r\n return this._claimDetails;\r\n }\r\n set ClaimDetail(claim) {\r\n this._claimDetails = claim\r\n }\r\n\r\n get HP_Contracts() {\r\n return this._hpContract;\r\n }\r\n set HP_Contracts(val: HP_ContractsModel) {\r\n this._hpContract = val;\r\n }\r\n\r\n get DisableClaimSearchBtn() {\r\n return this._disableClaimssearch\r\n }\r\n set DisableClaimSearchBtn(isValid) {\r\n this._disableClaimssearch = isValid\r\n }\r\n\r\n get ClaimValidationSpinner() {\r\n return this._validationSpinner\r\n }\r\n set ClaimValidationSpinner(isValid) {\r\n this._validationSpinner = isValid\r\n }\r\n\r\n get NoClaims() {\r\n return this._noClaimsfound;\r\n }\r\n\r\n get RecievedClaims() {\r\n return this._listOfclaims\r\n }\r\n\r\n get EmptyClaimForm() {\r\n return this._emptyClaimform;\r\n }\r\n set EmptyClaimForm(isValid) {\r\n this._emptyClaimform = isValid;\r\n }\r\n\r\n get ClaimRequirements() {\r\n return this._listOfrequirements;\r\n }\r\n set ClaimRequirements(isValid) {\r\n this._listOfrequirements = isValid;\r\n }\r\n\r\n get DisplayClaimTable() {\r\n return this._displayClaimtable\r\n }\r\n set DisplayClaimTable(isValid) {\r\n this._displayClaimtable = isValid\r\n }\r\n\r\n get ClaimInfo() {\r\n return this._showClaimdetail;\r\n }\r\n set ClaimInfo(isValid) {\r\n this._showClaimdetail = isValid;\r\n }\r\n\r\n get SelectedClaim() {\r\n return this._selectedClaim\r\n }\r\n set SelectedClaim(claim: ClaimHeadersModel) {\r\n this._selectedClaim = claim\r\n }\r\n\r\n get ClaimInformation() {\r\n return this._selectedClaimdetail;\r\n }\r\n set ClaimInformation(claim: ClaimLineModel[]) {\r\n this._selectedClaimdetail = claim;\r\n }\r\n\r\n get ClaimHasRejections() {\r\n return this._hasRejections\r\n }\r\n set ClaimHasRejections(isValid) {\r\n this._hasRejections = isValid\r\n }\r\n\r\n get RejectionReasons() {\r\n return this._rejectionReasons\r\n }\r\n set RejectionReasons(claim: ClaimAdjustModel[]) {\r\n this._rejectionReasons = claim\r\n }\r\n\r\n get DownloadIndicator() {\r\n return this._remittancedownloadmodal;\r\n }\r\n set DownloadIndicator(isValid) {\r\n this._remittancedownloadmodal = isValid;\r\n }\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { HP_ContractsModel } from '../models/HP_ContractsModel';\r\nimport { ClaimHeadersModel } from '../models/ClaimHeadersModel';\r\nimport { SettingsService } from './settings.service';\r\nimport { SecurityService } from './security.service';\r\nimport { MemberEligibilityModel } from '../models/MemberEligibilityModel';\r\nimport { LoginService } from './login.service';\r\nimport { BenifitRights } from '../models/benifit-rights';\r\nimport { BenifitResults } from '../models/benifit-results';\r\nimport { HealthPlanSetupModel } from '../models/HealthPlanSetupModel';\r\nimport { BenHist } from '../models/ben-hist';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { formatDate } from '@angular/common';\r\nimport { ChronicConditionApplicationModel } from '../models/ChronicConditionApplicationModel';\r\nimport { ChronicConditionService } from './chronic-condition.service';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class MembershipService {\r\n private _memberDetails: MemberEligibilityModel = new MemberEligibilityModel();\r\n private _memberDetailsBenefitScreen: MemberEligibilityModel = new MemberEligibilityModel();\r\n private hpContract: HP_ContractsModel = new HP_ContractsModel()\r\n private hpContractBenScreen: HP_ContractsModel = new HP_ContractsModel()\r\n private _testCompleteness: boolean\r\n private _listOfrequiredFields = []\r\n private _emptyFormerror: boolean = false\r\n private _displayMembertable: boolean = false\r\n private _displayChronicConditionstable: boolean = false\r\n private _ValidationSpinner: boolean\r\n private _disableValidatebtn: boolean\r\n private _noMembersfound: boolean = false\r\n private _listOfmembers: MemberEligibilityModel[] = [];\r\n private _listOfmembersBenScreen: MemberEligibilityModel[] = [];\r\n private _token: string;\r\n private _showTabels: boolean = true;\r\n private _moreInfo: boolean = false;\r\n public get moreInfo(): boolean {\r\n return this._moreInfo;\r\n }\r\n public set moreInfo(value: boolean) {\r\n this._moreInfo = value;\r\n }\r\n public get showTabels(): boolean {\r\n return this._showTabels;\r\n }\r\n public set showTabels(value: boolean) {\r\n this._showTabels = value;\r\n }\r\n private _busy: boolean = false;\r\n private _benRights: BenifitRights[] = [];\r\n private _benHistOpen: boolean = false;\r\n private _allHist: boolean = false;\r\n private _specificHist: boolean = false;\r\n private _benHisList: BenHist[] = [];\r\n private _orgHistLIst: BenHist[] = [];\r\n private _openBenresult: boolean = false;\r\n private _currMember: string = \"\";\r\n private _currHpCode: string = \"\";\r\n private _chronicConditionsubmissionHistory: ChronicConditionApplicationModel[] = [];\r\n\r\n constructor(private _router: Router, public _toastService: ToastrService, private _http: HttpClient, @Inject('BASE_URL') public _baseUrl: string, private _loginService: SettingsService, private _securityService: LoginService, private _chronicConditionService: ChronicConditionService) {\r\n this._token = localStorage.getItem(\"jwt\");\r\n }\r\n\r\n ClearAllInputFields() {\r\n this._memberDetails.membid = \"\"\r\n this.hpContract.hpcode = \"000\"\r\n this._memberDetails.firstnm = \"\"\r\n this._memberDetails.lastnm = \"\"\r\n this._memberDetails.birth = null\r\n\r\n }\r\n\r\n public get currHpCode(): string {\r\n return this._currHpCode;\r\n }\r\n public set currHpCode(value: string) {\r\n this._currHpCode = value;\r\n }\r\n public get currMember(): string {\r\n return this._currMember;\r\n }\r\n public set currMember(value: string) {\r\n this._currMember = value;\r\n }\r\n get MemberEligibilityID(): boolean {\r\n let type = this._securityService.CurrentLoggedInUser.userType;\r\n let check: boolean;\r\n this._loginService.Settings.forEach(el => {\r\n if (el.settingsId == \"MemberEligibilityID\" && type == 3) {\r\n check = el.administrator\r\n }\r\n if (el.settingsId === \"MemberEligibilityID\" && type == 1) {\r\n check = el.provider\r\n }\r\n });\r\n\r\n return check;\r\n\r\n }\r\n public get benHistOpen(): boolean {\r\n return this._benHistOpen;\r\n }\r\n public set benHistOpen(value: boolean) {\r\n this._benHistOpen = value;\r\n }\r\n get CheckRequiredMemberEligibilityID(): boolean {\r\n let type = this._securityService.CurrentLoggedInUser.userType;\r\n let check: boolean;\r\n this._loginService.Settings.forEach(el => {\r\n if (el.settingsId == \"MemberEligibilityID\" && type == 3) {\r\n check = el.administratorRequired\r\n }\r\n if (el.settingsId === \"MemberEligibilityID\" && type == 1) {\r\n check = el.providerRequired\r\n }\r\n });\r\n\r\n return check;\r\n }\r\n\r\n get MemberEligibilitySelectHealthPlan(): boolean {\r\n let type = this._securityService.CurrentLoggedInUser.userType;\r\n let check: boolean;\r\n this._loginService.Settings.forEach(el => {\r\n if (el.settingsId == \"MemberEligibilitySelectHealthPlan\" && type == 3) {\r\n check = el.administrator\r\n }\r\n if (el.settingsId === \"MemberEligibilitySelectHealthPlan\" && type == 1) {\r\n check = el.provider\r\n }\r\n });\r\n\r\n return check;\r\n }\r\n\r\n get CheckRequiredMemberEligibilitySelectHealthPlan(): boolean {\r\n let type = this._securityService.CurrentLoggedInUser.userType;\r\n let check: boolean;\r\n this._loginService.Settings.forEach(el => {\r\n if (el.settingsId == \"MemberEligibilitySelectHealthPlan\" && type == 3) {\r\n check = el.administratorRequired\r\n }\r\n if (el.settingsId === \"MemberEligibilitySelectHealthPlan\" && type == 1) {\r\n check = el.providerRequired\r\n }\r\n });\r\n\r\n return check;\r\n\r\n }\r\n\r\n get MemberEligibilityName(): boolean {\r\n\r\n let type = this._securityService.CurrentLoggedInUser.userType;\r\n let check: boolean;\r\n this._loginService.Settings.forEach(el => {\r\n if (el.settingsId == \"MemberEligibilityName\" && type == 3) {\r\n check = el.administrator\r\n }\r\n if (el.settingsId === \"MemberEligibilityName\" && type == 1) {\r\n check = el.provider\r\n }\r\n });\r\n\r\n return check;\r\n\r\n }\r\n\r\n get CheckRequiredMemberEligibilityName(): boolean {\r\n let type = this._securityService.CurrentLoggedInUser.userType;\r\n let check: boolean;\r\n this._loginService.Settings.forEach(el => {\r\n if (el.settingsId == \"MemberEligibilityName\" && type == 3) {\r\n check = el.administratorRequired\r\n }\r\n if (el.settingsId === \"MemberEligibilityName\" && type == 1) {\r\n check = el.providerRequired\r\n }\r\n });\r\n\r\n return check;\r\n }\r\n\r\n get MemberEligibilityLastName(): boolean {\r\n\r\n let type = this._securityService.CurrentLoggedInUser.userType;\r\n let check: boolean;\r\n this._loginService.Settings.forEach(el => {\r\n if (el.settingsId == \"MemberEligibilitySurname\" && type == 3) {\r\n check = el.administrator\r\n }\r\n if (el.settingsId === \"MemberEligibilitySurname\" && type == 1) {\r\n check = el.provider\r\n }\r\n });\r\n\r\n return check;\r\n\r\n }\r\n\r\n get CheckRequiredMemberEligibilityLastName(): boolean {\r\n let type = this._securityService.CurrentLoggedInUser.userType;\r\n let check: boolean;\r\n this._loginService.Settings.forEach(el => {\r\n if (el.settingsId == \"MemberEligibilitySurname\" && type == 3) {\r\n check = el.administratorRequired\r\n }\r\n if (el.settingsId === \"MemberEligibilitySurname\" && type == 1) {\r\n check = el.providerRequired\r\n }\r\n });\r\n\r\n return check;\r\n\r\n }\r\n public get openBenresult(): boolean {\r\n return this._openBenresult;\r\n }\r\n public set openBenresult(value: boolean) {\r\n this._openBenresult = value;\r\n }\r\n get MemberEligibilityDOB(): boolean {\r\n let type = this._securityService.CurrentLoggedInUser.userType;\r\n let check: boolean;\r\n this._loginService.Settings.forEach(el => {\r\n if (el.settingsId == \"MemberEligibilityDOB\" && type == 3) {\r\n check = el.administrator\r\n }\r\n if (el.settingsId === \"MemberEligibilityDOB\" && type == 1) {\r\n check = el.provider\r\n }\r\n });\r\n\r\n return check;\r\n }\r\n public get orgHistLIst(): BenHist[] {\r\n return this._orgHistLIst;\r\n }\r\n public set orgHistLIst(value: BenHist[]) {\r\n this._orgHistLIst = value;\r\n }\r\n get CheckRequiredMemberEligibilityDOB(): boolean {\r\n let type = this._securityService.CurrentLoggedInUser.userType;\r\n let check: boolean;\r\n this._loginService.Settings.forEach(el => {\r\n if (el.settingsId == \"MemberEligibilityDOB\" && type == 3) {\r\n check = el.administratorRequired\r\n }\r\n if (el.settingsId === \"MemberEligibilityDOB\" && type == 1) {\r\n check = el.providerRequired\r\n }\r\n });\r\n\r\n return check;\r\n\r\n }\r\n public get benHisList(): BenHist[] {\r\n return this._benHisList;\r\n }\r\n public set benHisList(value: BenHist[]) {\r\n this._benHisList = value;\r\n }\r\n public get busy(): boolean {\r\n return this._busy;\r\n }\r\n public set busy(value: boolean) {\r\n this._busy = value;\r\n }\r\n public get allHist(): boolean {\r\n return this._allHist;\r\n }\r\n public set allHist(value: boolean) {\r\n this._allHist = value;\r\n }\r\n public get token(): string {\r\n return localStorage.getItem(\"jwt\");\r\n }\r\n public set token(value: string) {\r\n localStorage.setItem(\"jwt\", value);\r\n }\r\n public get specificHist(): boolean {\r\n return this._specificHist;\r\n }\r\n public set specificHist(value: boolean) {\r\n this._specificHist = value;\r\n }\r\n\r\n /*Member elgibility check done from membership screen for providers*/\r\n ValidateForm() {\r\n let temparray = []\r\n let testboolean: boolean\r\n let enabled: boolean;\r\n let required: boolean;\r\n\r\n enabled = this._loginService.GetSettingEnabled('ViewClaimSelectHealthPlan');\r\n required = this._loginService.GetSettingRequired('ViewClaimSelectHealthPlan');\r\n\r\n if (this.MemberEligibilityID == true) {\r\n if (this._memberDetails.membid != \"\") {\r\n testboolean = true\r\n } else {\r\n if (this.CheckRequiredMemberEligibilityID == true) {\r\n temparray.push(\"Enter a Member Number\")\r\n testboolean = false\r\n } else {\r\n testboolean = true\r\n }\r\n }\r\n }\r\n if (this.MemberEligibilitySelectHealthPlan == true) {\r\n if (this.hpContract.hpcode != \"000\") {\r\n testboolean = true\r\n } else {\r\n if (this.CheckRequiredMemberEligibilitySelectHealthPlan == true) {\r\n temparray.push(\"Select a Healthplan\")\r\n testboolean = false\r\n } else {\r\n testboolean = true\r\n }\r\n }\r\n }\r\n if (this.MemberEligibilityName == true) {\r\n if (this._memberDetails.firstnm != \"\") {\r\n testboolean = true\r\n } else {\r\n if (this.CheckRequiredMemberEligibilityName == true) {\r\n temparray.push(\"Enter a Member's First Name\")\r\n testboolean = false\r\n } else {\r\n testboolean = true\r\n }\r\n }\r\n }\r\n if (this.MemberEligibilityLastName == true) {\r\n if (this._memberDetails.lastnm != \"\") {\r\n testboolean = true\r\n } else {\r\n if (this.CheckRequiredMemberEligibilityLastName == true) {\r\n temparray.push(\"Enter a Member's Last Name\")\r\n testboolean = false\r\n } else {\r\n testboolean = true\r\n }\r\n }\r\n }\r\n if (this.MemberEligibilityDOB == true) {\r\n if (this._memberDetails.birth != null && this._memberDetails.birth != \"\") {\r\n\r\n if (this.ValidateDOB(this._memberDetails.birth)) {\r\n testboolean = true\r\n } else {\r\n temparray.push(\"Incorrect date or date format. Enter a valid date in the yyyy/mm/dd format e.g. 2005/01/28\")\r\n testboolean = false\r\n }\r\n\r\n } else {\r\n if (this.CheckRequiredMemberEligibilityDOB == true) {\r\n temparray.push(\"Enter Member's Date Of Birth\")\r\n testboolean = false\r\n } else {\r\n testboolean = true\r\n }\r\n }\r\n }\r\n\r\n this._testCompleteness = testboolean\r\n this._listOfrequiredFields = temparray\r\n\r\n if (this._listOfrequiredFields.length == 0) {\r\n this._testCompleteness = true\r\n }\r\n\r\n if (this._listOfrequiredFields.length > 0) {\r\n this._testCompleteness = false\r\n }\r\n if (this._testCompleteness == false) {\r\n this._emptyFormerror = true\r\n this._displayMembertable = false\r\n this._displayChronicConditionstable = false\r\n } else {\r\n this.SearchEligibleMember()\r\n }\r\n }\r\n\r\n ValidateDOB(dob: string): boolean {\r\n\r\n //Check that two \"/\" exist\r\n var splitArray = dob.split(\"/\");\r\n if (splitArray.length != 3) return false;\r\n\r\n //Check if year is valid\r\n let curYear = new Date().getFullYear();\r\n if (!(Number(splitArray[0]) >= 1900 && Number(splitArray[0]) <= Number(curYear))) return false;\r\n\r\n //Check if month is valid\r\n if (!(Number(splitArray[1]) >= 1 && Number(splitArray[1]) <= 12)) return false;\r\n\r\n //Validate day and month combination (31 day months)\r\n //if ((Number(splitArray[1]) % 2 != 0) && !(Number(splitArray[2]) >= 1 && Number(splitArray[2]) <= 31)) return false; // Jaco 2023-04-19 wrong\r\n\r\n //Validate day and month combination (30 day months)\r\n //if ((Number(splitArray[1]) % 2 == 0) && !(Number(splitArray[2]) >= 1 && Number(splitArray[2]) <= 30)) return false; // Jaco 2023-04-19 wrong\r\n\r\n //Validate day and month combination // Jaco 2023-04-19\r\n if ((Number(splitArray[1]) == 1) && !(Number(splitArray[2]) >= 1 && Number(splitArray[2]) <= 31)) return false;\r\n if ((Number(splitArray[1]) == 2) && !(Number(splitArray[2]) >= 1 && Number(splitArray[2]) <= 28)) return false;\r\n if ((Number(splitArray[1]) == 3) && !(Number(splitArray[2]) >= 1 && Number(splitArray[2]) <= 31)) return false;\r\n if ((Number(splitArray[1]) == 4) && !(Number(splitArray[2]) >= 1 && Number(splitArray[2]) <= 30)) return false;\r\n if ((Number(splitArray[1]) == 5) && !(Number(splitArray[2]) >= 1 && Number(splitArray[2]) <= 31)) return false;\r\n if ((Number(splitArray[1]) == 6) && !(Number(splitArray[2]) >= 1 && Number(splitArray[2]) <= 30)) return false;\r\n if ((Number(splitArray[1]) == 7) && !(Number(splitArray[2]) >= 1 && Number(splitArray[2]) <= 31)) return false;\r\n if ((Number(splitArray[1]) == 8) && !(Number(splitArray[2]) >= 1 && Number(splitArray[2]) <= 31)) return false;\r\n if ((Number(splitArray[1]) == 9) && !(Number(splitArray[2]) >= 1 && Number(splitArray[2]) <= 30)) return false;\r\n if ((Number(splitArray[1]) == 10) && !(Number(splitArray[2]) >= 1 && Number(splitArray[2]) <= 31)) return false;\r\n if ((Number(splitArray[1]) == 11) && !(Number(splitArray[2]) >= 1 && Number(splitArray[2]) <= 30)) return false;\r\n if ((Number(splitArray[1]) == 12) && !(Number(splitArray[2]) >= 1 && Number(splitArray[2]) <= 31)) return false;\r\n\r\n //Check if birth leap year\r\n //let boolLeapYr = 0;\r\n //if ((curYear % 400) == 0) boolLeapYr = 1\r\n //else if ((curYear % 100) == 0) boolLeapYr = 0\r\n //else if ((curYear % 4) == 0) boolLeapYr = 1\r\n //else boolLeapYr = 0\r\n //if ((Number(splitArray[1]) == 2) && (boolLeapYr == 1) && !(Number(splitArray[2]) >= 1 && Number(splitArray[2]) <= 29)) return false;\r\n //if ((Number(splitArray[1]) == 2) && (boolLeapYr == 0) && !(Number(splitArray[2]) >= 1 && Number(splitArray[2]) <= 28)) return false;\r\n if ((Number(splitArray[1]) == 2) && !(Number(splitArray[2]) >= 1 && Number(splitArray[2]) <= 28)) return false;\r\n\r\n //Check if date is in future\r\n let dobDt = new Date(dob);\r\n let currDate = new Date(formatDate(new Date(), 'yyyy/MM/dd', 'en'));\r\n if (dobDt > currDate) return false;\r\n\r\n return true;\r\n }\r\n\r\n /*Member elgibility check done from benefit lookup screen for providers*/\r\n ValidateFormVaiBenefitScreen() {\r\n let temparray = []\r\n let testboolean: boolean\r\n let enabled: boolean;\r\n let required: boolean;\r\n\r\n enabled = this._loginService.GetSettingEnabled('ViewClaimSelectHealthPlan');\r\n required = this._loginService.GetSettingRequired('ViewClaimSelectHealthPlan');\r\n\r\n if (this.MemberEligibilityID == true) {\r\n if (this._memberDetailsBenefitScreen.membid != \"\") {\r\n let c: string[] = [];\r\n c = this._memberDetailsBenefitScreen.membid.split(\"-\");\r\n if (c.length < 2) {\r\n temparray.push(\"Enter a Member Number With Dependant Code\")\r\n testboolean = false\r\n } else if (c[c.length - 1].length == 2) {\r\n testboolean = true;\r\n } else {\r\n temparray.push(\"Enter a Member Number With Dependant Code\")\r\n testboolean = false\r\n }\r\n\r\n } else {\r\n if (this.CheckRequiredMemberEligibilityID == true) {\r\n temparray.push(\"Enter a Member Number\")\r\n testboolean = false\r\n } else {\r\n testboolean = true\r\n }\r\n }\r\n }\r\n if (this.MemberEligibilitySelectHealthPlan == true) {\r\n if (this.hpContractBenScreen.hpcode != \"000\") {\r\n testboolean = true\r\n } else {\r\n if (this.CheckRequiredMemberEligibilitySelectHealthPlan == true) {\r\n temparray.push(\"Select a Healthplan\")\r\n testboolean = false\r\n } else {\r\n testboolean = true\r\n }\r\n }\r\n }\r\n if (this.MemberEligibilityName == true) {\r\n if (this._memberDetailsBenefitScreen.firstnm != \"\") {\r\n testboolean = true\r\n } else {\r\n if (this.CheckRequiredMemberEligibilityName == true) {\r\n temparray.push(\"Enter a Member's First Name\")\r\n testboolean = false\r\n } else {\r\n testboolean = true\r\n }\r\n }\r\n }\r\n if (this.MemberEligibilityLastName == true) {\r\n if (this._memberDetailsBenefitScreen.lastnm != \"\") {\r\n testboolean = true\r\n } else {\r\n if (this.CheckRequiredMemberEligibilityLastName == true) {\r\n temparray.push(\"Enter a Member's Last Name\")\r\n testboolean = false\r\n } else {\r\n testboolean = true\r\n }\r\n }\r\n }\r\n if (this.MemberEligibilityDOB == true) {\r\n if (this._memberDetailsBenefitScreen.birth != null && this._memberDetails.birth != \"\") {\r\n testboolean = true\r\n } else {\r\n if (this.CheckRequiredMemberEligibilityDOB == true) {\r\n temparray.push(\"Enter Member's Date Of Birth\")\r\n testboolean = false\r\n } else {\r\n testboolean = true\r\n }\r\n }\r\n }\r\n\r\n this._testCompleteness = testboolean\r\n this._listOfrequiredFields = temparray\r\n\r\n if (this._listOfrequiredFields.length == 0) {\r\n this._testCompleteness = true\r\n }\r\n\r\n if (this._listOfrequiredFields.length > 0) {\r\n this._testCompleteness = false\r\n }\r\n if (this._testCompleteness == false) {\r\n this._emptyFormerror = true\r\n this._displayMembertable = false\r\n this._displayChronicConditionstable = false\r\n } else {\r\n this.SearchEligibleMemberVaiBenefitScreen()\r\n }\r\n }\r\n\r\n // Return observable to calling controller\r\n SearchEligibleMemberApi(membid: string, firstnm: string, lastnm: string, birth: string, hpcode: string) {\r\n let token = localStorage.getItem(\"jwt\");\r\n\r\n const headers = new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n });\r\n\r\n return this._http.post(this._baseUrl + 'api/Member/MemberDetails', {\r\n MEMBID: membid,\r\n FIRSTNM: firstnm,\r\n LASTNM: lastnm,\r\n BIRTH: birth,\r\n HPCODE: hpcode,\r\n LOBCODE: this._securityService.CurrentLoggedInUser.lobcode,\r\n USER: this._securityService.CurrentLoggedInUser.username,\r\n USERTYPE: this._securityService.CurrentLoggedInUser.userType\r\n }, { headers: headers });\r\n }\r\n\r\n SearchEligibleMember() {\r\n this._ValidationSpinner = true\r\n this._disableValidatebtn = true\r\n if (this._memberDetails.birth === null) {\r\n this._memberDetails.birth = \"1900/01/01\";\r\n }\r\n this._http.post(this._baseUrl + \"api/Member/MemberDetails\", {\r\n MEMBID: this._memberDetails.membid,\r\n FIRSTNM: this._memberDetails.firstnm,\r\n LASTNM: this._memberDetails.lastnm,\r\n BIRTH: this._memberDetails.birth,\r\n HPCODE: this.hpContract.hpcode,\r\n LOBCODE: this._securityService.CurrentLoggedInUser.lobcode,\r\n USER: this._securityService.CurrentLoggedInUser.username,\r\n USERTYPE: this._securityService.CurrentLoggedInUser.userType\r\n },\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this._securityService.token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }).subscribe((returnedmemberdetail: MemberEligibilityModel[]) => {\r\n this._listOfmembers = returnedmemberdetail\r\n // console.log(\"returned member:\", this._listOfmembers )\r\n\r\n if (this._listOfmembers.length > 0) {\r\n //this.MemberDetailsBenefitScreen.membid = this._memberDetails.membid;\r\n //this.MemberDetailsBenefitScreen.birth = this._memberDetails.birth; \r\n this._displayMembertable = true\r\n this._ValidationSpinner = false\r\n this._disableValidatebtn = false\r\n this.currMember = this._memberDetails.membid;\r\n this._currHpCode = this.hpContract.hpcode;\r\n\r\n this.SearchEligibleMemberChronicConditions(this._listOfmembers);\r\n\r\n } else {\r\n this._displayMembertable = false\r\n this._noMembersfound = true\r\n this._ValidationSpinner = false\r\n this._disableValidatebtn = false\r\n }\r\n\r\n },\r\n (error) => {\r\n console.log(error);\r\n },\r\n () => {\r\n\r\n if (this._securityService.CurrentLoggedInUser.userType == 1) {\r\n if (this._securityService.CurrentLoggedInUser.hospital == false) {\r\n this.CheckAllowedOptions();\r\n }\r\n }\r\n\r\n });\r\n }\r\n\r\n SearchEligibleMemberChronicConditions(listofMembers: MemberEligibilityModel[]) {\r\n\r\n //this.busy = true;\r\n\r\n this._ValidationSpinner = true\r\n this._disableValidatebtn = true\r\n\r\n let submissionHist: ChronicConditionApplicationModel = new ChronicConditionApplicationModel();\r\n submissionHist.provId = this._securityService.CurrentLoggedInUser.provID;\r\n submissionHist.familyMembers = listofMembers;\r\n\r\n this._chronicConditionService.GetSubmissionHistory(submissionHist)\r\n .subscribe(\r\n (results: ChronicConditionApplicationModel[]) => {\r\n\r\n if (results.length > 0) {\r\n\r\n if (results[0].success) {\r\n //results.forEach((el) => {\r\n // this.submissionHistory.push(el);\r\n //})\r\n this._chronicConditionsubmissionHistory = results;\r\n \r\n this._ValidationSpinner = false\r\n this._disableValidatebtn = false\r\n\r\n this._displayChronicConditionstable = true;\r\n console.log(this.ChronicConditionstable)\r\n }\r\n else {\r\n //this.error = true;\r\n //this.errorMessageHeading = \"Could not get submission history\";\r\n //this.errorMessage = results[0].message;\r\n this._displayChronicConditionstable = false;\r\n }\r\n\r\n }\r\n },\r\n (error) => {\r\n //console.log(error)\r\n //this.error = true;\r\n //this.errorMessageHeading = \"Could not get submission history\";\r\n //this.errorMessage = \"Unexpected error occured\";\r\n //this.busy = false;\r\n\r\n this._ValidationSpinner = false\r\n this._disableValidatebtn = false\r\n this._displayChronicConditionstable = false;\r\n },\r\n () => {\r\n //this.busy = false;\r\n\r\n this._ValidationSpinner = false\r\n this._disableValidatebtn = false\r\n }\r\n )\r\n }\r\n \r\n\r\n SearchEligibleMemberVaiBenefitScreen() {\r\n this._ValidationSpinner = true\r\n this._disableValidatebtn = true\r\n if (this._memberDetailsBenefitScreen.birth === null) {\r\n this._memberDetailsBenefitScreen.birth = \"1900/01/01\";\r\n }\r\n this._http.post(this._baseUrl + \"api/Member/MemberDetailsBenefitScreen\", {\r\n MEMBID: this._memberDetailsBenefitScreen.membid,\r\n FIRSTNM: this._memberDetailsBenefitScreen.firstnm,\r\n LASTNM: this._memberDetailsBenefitScreen.lastnm,\r\n BIRTH: this._memberDetailsBenefitScreen.birth,\r\n HPCODE: this.hpContractBenScreen.hpcode,\r\n LOBCODE: this._securityService.CurrentLoggedInUser.lobcode,\r\n USER: this._securityService.CurrentLoggedInUser.username,\r\n USERTYPE: this._securityService.CurrentLoggedInUser.userType\r\n },\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this._securityService.token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }).subscribe((returnedmemberdetail: MemberEligibilityModel[]) => {\r\n this._listOfmembersBenScreen = returnedmemberdetail\r\n // console.log(\"returned member:\", this._listOfmembers )\r\n\r\n if (this._listOfmembersBenScreen.length > 0) {\r\n this._displayMembertable = true\r\n this._ValidationSpinner = false\r\n this._disableValidatebtn = false\r\n // this.currMember = this._memberDetails.membid;\r\n this._currHpCode = this.hpContract.hpcode;\r\n } else {\r\n this._displayMembertable = false\r\n this._noMembersfound = true\r\n this._ValidationSpinner = false\r\n this._disableValidatebtn = false\r\n }\r\n\r\n\r\n },\r\n (error) => {\r\n console.log(error);\r\n },\r\n () => {\r\n\r\n\r\n if (this._securityService.CurrentLoggedInUser.userType == 1) {\r\n if (this._securityService.CurrentLoggedInUser.hospital == false) {\r\n this.CheckAllowedOptions();\r\n }\r\n }\r\n });\r\n }\r\n\r\n SearchEligibleMemberLastServDate() {\r\n this._ValidationSpinner = true\r\n this._disableValidatebtn = true\r\n if (this._memberDetails.birth === null) {\r\n this._memberDetails.birth = \"1900/01/01\";\r\n }\r\n this._http.post(this._baseUrl + \"api/Member/GetLastServDatePerMemb\",\r\n this._listOfmembers\r\n ,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this._securityService.token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }).subscribe((returnedmemberdetail: MemberEligibilityModel[]) => {\r\n this._listOfmembers = [];\r\n this._listOfmembers = returnedmemberdetail\r\n if (this._listOfmembers.length > 0) {\r\n this._displayMembertable = true\r\n this._ValidationSpinner = false\r\n this._disableValidatebtn = false\r\n } else {\r\n this._displayMembertable = false\r\n this._noMembersfound = true\r\n this._ValidationSpinner = false\r\n this._disableValidatebtn = false\r\n }\r\n // console.log(\"returned member:\", this._listOfmembers )\r\n },\r\n (error) => {\r\n console.log(error);\r\n },\r\n () => {\r\n\r\n });\r\n }\r\n private _contractMessage: string[] = [];\r\n private _modelContractShow: boolean;\r\n\r\n public get modelContractShow(): boolean {\r\n return this._modelContractShow;\r\n }\r\n public set modelContractShow(value: boolean) {\r\n this._modelContractShow = value;\r\n }\r\n public get contractMessage(): string[] {\r\n return this._contractMessage;\r\n }\r\n public set contractMessage(value: string[]) {\r\n this._contractMessage = value;\r\n }\r\n\r\n CheckAllowedOptions() {\r\n this._contractMessage = [];\r\n let list: string[] = [];\r\n let opt: string[] = [];\r\n this._loginService.Settings.forEach((el) => {\r\n if (this._securityService.isDentist) {\r\n if (el.settingsId == 'ContractBoundOptionsDentist') {\r\n opt = el.description.split(',');\r\n }\r\n }\r\n if (this._securityService.isSpecialist) {\r\n if (el.settingsId == 'ContractBoundOptionsGP') {\r\n opt = el.description.split(',');\r\n }\r\n }\r\n });\r\n let p = this;\r\n if (this._securityService.CurrentLoggedInUser.contract == 'NON-CONTRACTED') {\r\n p._listOfmembers.forEach((el) => {\r\n opt.forEach((op) => {\r\n // console.log(el);\r\n if (op == el.opt) {\r\n let found: boolean = false;\r\n if (list.length > 0) {\r\n for (var i = 0; i < list.length; i++) {\r\n if (list[i].toUpperCase() == el.membid.toUpperCase()) {\r\n found = true;\r\n break;\r\n }\r\n }\r\n } else {\r\n list.push(el.membid);\r\n found = true;\r\n }\r\n\r\n if (found == false) {\r\n list.push(el.membid);\r\n\r\n }\r\n }\r\n });\r\n });\r\n }\r\n let d: string = \"\";\r\n\r\n\r\n this._contractMessage.push(\"The Following Member/s is bound to a network option:\");\r\n list.forEach((el) => {\r\n this._contractMessage.push(\"• \" + el);\r\n });\r\n this._contractMessage.push(\"and you are a non network provider, therefore you can not see this member/s details.\")\r\n if ((list.length > 0) && (this._securityService.CurrentLoggedInUser.contract == 'NON-CONTRACTED')) {\r\n this._modelContractShow = true;\r\n this._showTabels = this._loginService.GetSettingEnabled('NetworkBoundShow');\r\n } else {\r\n this._showTabels = true;\r\n }\r\n\r\n if (this._securityService.CurrentLoggedInUser.contract == 'NON-CONTRACTED') {\r\n this._loginService.expSettings.forEach((el) => {\r\n p._listOfmembers.forEach((e) => {\r\n if (e.opt.toUpperCase() == el.opt) {\r\n let c: string[] = [];\r\n c = el.specs.split(',');\r\n c.forEach((l) => {\r\n if (l.trim() == this._securityService.CurrentLoggedInUser.specCode) {\r\n if (this._showTabels == false) {\r\n this._showTabels = true;\r\n }\r\n this._modelContractShow = false;\r\n }\r\n })\r\n }\r\n });\r\n });\r\n }\r\n }\r\n\r\n SubmitVaiBenefit() {\r\n this.ValidateFormVaiBenefitScreen();\r\n }\r\n\r\n Submit() {\r\n this.ValidateForm();\r\n }\r\n\r\n //exposing the member details\r\n get MemberDetails() {\r\n return this._memberDetails\r\n }\r\n set MemberDetails(details: MemberEligibilityModel) {\r\n this._memberDetails = details\r\n }\r\n\r\n get MemberDetailsBenefitScreen() {\r\n return this._memberDetailsBenefitScreen\r\n }\r\n set MemberDetailsBenefitScreen(details: MemberEligibilityModel) {\r\n this._memberDetailsBenefitScreen = details\r\n }\r\n\r\n //exposing the HealthPlans\r\n get HealthplanContracts() {\r\n return this.hpContract\r\n }\r\n set HealthplanContracts(healthplan: HP_ContractsModel) {\r\n this.hpContract = healthplan\r\n }\r\n\r\n get HealthplanContractsBenScreen() {\r\n return this.hpContractBenScreen\r\n }\r\n set HealthplanContractsBenScreen(healthplan: HP_ContractsModel) {\r\n this.hpContractBenScreen = healthplan\r\n }\r\n\r\n //exposing the validation spinner\r\n get Validation() {\r\n return this._ValidationSpinner\r\n }\r\n set Validation(isValid) {\r\n this._ValidationSpinner = isValid\r\n }\r\n\r\n //disable submit button\r\n get DisableSubmitBtn() {\r\n return this._disableValidatebtn\r\n }\r\n set DisableSubmitBtn(isValid) {\r\n this._disableValidatebtn = isValid\r\n }\r\n\r\n public get benRights(): BenifitRights[] {\r\n return this._benRights;\r\n }\r\n public set benRights(value: BenifitRights[]) {\r\n this._benRights = value;\r\n }\r\n\r\n //boolean to display the member table\r\n get MemberTable() {\r\n return this._displayMembertable\r\n }\r\n set MemberTable(isValid) {\r\n this._displayMembertable = isValid\r\n }\r\n\r\n get ChronicConditionstable() {\r\n return this._displayChronicConditionstable\r\n }\r\n set ChronicConditionstable(isValid) {\r\n this._displayChronicConditionstable = isValid\r\n }\r\n\r\n get AllMembersBenScreen() {\r\n return this._listOfmembersBenScreen\r\n }\r\n set AllMembersBenScreen(member: MemberEligibilityModel[]) {\r\n this._listOfmembersBenScreen = member\r\n }\r\n\r\n get AllMembers() {\r\n return this._listOfmembers\r\n }\r\n set AllMembers(member: MemberEligibilityModel[]) {\r\n this._listOfmembers = member\r\n }\r\n\r\n get EmptyForm() {\r\n return this._emptyFormerror\r\n }\r\n set EmptyForm(isValid) {\r\n this._emptyFormerror = isValid\r\n }\r\n\r\n get Requirements() {\r\n return this._listOfrequiredFields\r\n }\r\n\r\n get NoMembersFound() {\r\n return this._noMembersfound\r\n }\r\n set NoMembersFound(isValid) {\r\n this._noMembersfound = isValid\r\n }\r\n\r\n private _returnBenSet: BenifitRights = new BenifitRights();\r\n\r\n public get returnBenSet(): BenifitRights {\r\n return this._returnBenSet;\r\n }\r\n public set returnBenSet(value: BenifitRights) {\r\n this._returnBenSet = value;\r\n }\r\n\r\n GetBenRights(data: MemberEligibilityModel) {\r\n let token = localStorage.getItem(\"jwt\");\r\n data.type = this._securityService.CurrentLoggedInUser.userType;\r\n data.dentist = this._securityService.CurrentLoggedInUser.dentist;\r\n if (this._securityService.isDentist) {\r\n data.dentist = true;\r\n } else {\r\n data.dentist = false;\r\n }\r\n this.benRights = []\r\n this._busy = true;\r\n this._http.post(this._baseUrl + 'api/Benefit/GetBenRights', data,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }\r\n ).subscribe((results: BenifitRights[]) => {\r\n this.benRights = results;\r\n\r\n\r\n },\r\n (error) => {\r\n console.log(error);\r\n },\r\n () => {\r\n this._busy = false\r\n });\r\n\r\n }\r\n\r\n public resultSetDisplay: BenifitResults[] = [];\r\n\r\n GetBenifitResult(data: BenifitRights) {\r\n let token = localStorage.getItem(\"jwt\");\r\n let error: boolean = false;\r\n this.busy = true;\r\n this.resultSetDisplay = [];\r\n data.dentice = this._securityService.CurrentLoggedInUser.dentist;\r\n this._http.post(this._baseUrl + 'api/Benefit/BenifitResult', data,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }\r\n ).subscribe((result: BenifitRights) => {\r\n this.returnBenSet = result;\r\n\r\n if (data.defaultProc) {\r\n this.returnBenSet.results.forEach((el) => {\r\n let c: string[] = el.split(\";\");\r\n let d: BenifitResults = new BenifitResults();\r\n d.indicate = c[0];\r\n if (d.indicate == 'Y') {\r\n error = false;\r\n }\r\n if (d.indicate == 'N') {\r\n error = true;\r\n }\r\n d.ageMessage = c[1];\r\n d.age = c[2];\r\n d.provid = c[3];\r\n if (c[4] !== 'N/A') {\r\n d.svcDate = c[4].substr(0, 10);\r\n } else {\r\n d.svcDate = c[4];\r\n }\r\n\r\n this.resultSetDisplay.push(d);\r\n });\r\n } else {\r\n this.returnBenSet.results.forEach((el) => {\r\n let c: string[] = el.split(\";\");\r\n let d: BenifitResults = new BenifitResults();\r\n d.provid = c[0];\r\n d.tootno = c[1];\r\n d.svcDate = c[2];\r\n\r\n if (c.length == 4) {\r\n d.months = +c[3];\r\n }\r\n\r\n\r\n\r\n this.resultSetDisplay.push(d);\r\n\r\n if (d.tootno == \"N/A\") {\r\n error = true;\r\n }\r\n });\r\n }\r\n\r\n\r\n },\r\n (error) => {\r\n console.log(error);\r\n },\r\n () => {\r\n this._busy = false;\r\n let m: string = `Reference No: ${this.returnBenSet.reff}
Member No: ${this.returnBenSet.membid}
\r\nBenefit Type: ${this.returnBenSet.benName}`;\r\n if (error) {\r\n this._toastService.error(m, \"BENEFIT CONFORMATION\", {\r\n timeOut: 1200000,\r\n enableHtml: true,\r\n closeButton: true\r\n\r\n });\r\n } else {\r\n this._toastService.success(m, \"BENEFIT CONFORMATION\", {\r\n timeOut: 1200000,\r\n enableHtml: true,\r\n closeButton: true\r\n\r\n });\r\n }\r\n\r\n this.openBenresult = true;\r\n\r\n })\r\n }\r\n\r\n GetAllBeifitSearchHist() {\r\n let token = localStorage.getItem(\"jwt\");\r\n this._busy = true;\r\n this._http.post(this._baseUrl + 'api/Benefit/EntireBenifitHistSearch', this._securityService.CurrentLoggedInUser,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }).subscribe((results: BenHist[]) => {\r\n this.benHisList = [];\r\n this.benHisList = results;\r\n this.orgHistLIst = results;\r\n },\r\n (error) => {\r\n console.log(error);\r\n },\r\n () => {\r\n this.busy = false;\r\n })\r\n\r\n }\r\n\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpHeaders, HttpClient } from '@angular/common/http';\r\nimport { PatientWellnessFormModel } from '../models/PatientWellnessFormModel';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class PatientWellnessService {\r\n\r\n constructor(private _http: HttpClient, @Inject('BASE_URL') public _baseUrl: string) { }\r\n\r\n CheckIfPatientExist(idNoData: PatientWellnessFormModel) {\r\n let token = localStorage.getItem(\"jwt\");\r\n\r\n const headers = new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n });\r\n\r\n return this._http.post(this._baseUrl + 'api/PatientWellness/CheckIfPatientExist', idNoData, { headers: headers });\r\n }\r\n\r\n SubmitPatientWellnessForm(formData: PatientWellnessFormModel) {\r\n let token = localStorage.getItem(\"jwt\");\r\n\r\n const headers = new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n });\r\n\r\n return this._http.post(this._baseUrl + 'api/PatientWellness/SubmitPatientWellnessForm', formData, { headers: headers });\r\n }\r\n\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { LoginService } from './login.service';\r\nimport { SettingsService } from './settings.service';\r\nimport { ClaimHeadersModel } from '../models/ClaimHeadersModel';\r\nimport { HP_ContractsModel } from '../models/HP_ContractsModel';\r\nimport { HttpHeaders, HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Router } from '@angular/router';\r\nimport { ClaimLineModel } from '../models/ClaimLineModel';\r\nimport { ClaimAdjustModel } from '../models/ClaimAdjustModel';\r\nimport { DetailLinesModel } from '../models/DetailLinesModel';\r\nimport { CheckRunDetailsModel } from '../models/CheckRunDetailsModel';\r\nimport { Diagcodes } from '../models/diagcodes';\r\nimport { ValidationResultsModel } from '../models/ValidationResultsModel';\r\nimport { MemberNoModel } from '../models/MemberNoModel';\r\nimport { RejectClaimDetailModel } from '../models/RejectClaimDetaiModel';\r\nimport { ClaimReversalModel } from '../models/ClaimReversalModel';\r\nimport { AccountingBureauRemittancesModel } from '../models/AccountingBureauRemittancesModel';\r\nimport { ReturnedFileInformationModel } from '../models/ReturnedFileInformationModel';\r\nimport { ProviderRemittancesModel } from '../models/ProviderRemittancesModel';\r\nimport { ProviderDetailedRemittanceModel } from '../models/ProviderDetailedRemittanceModel';\r\nimport { AccountingBureauDetailedRemittancesModel } from '../models/AccountingBureauDetailedRemittancesModel';\r\nimport { SpecCodes } from '../models/SpecCodes';\r\nimport { Specmasters } from '../models/specmasters';\r\nimport { BenTrackCodes } from '../models/ben-track-codes';\r\nimport { Faq } from '../models/faq';\r\nimport { VendorInfoModel } from '../models/VendorInfoModel';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SecurityService {\r\n\r\n private _faqList: Faq[] = [];\r\n private _openFaq: boolean = false;\r\n private _selectedRemittance: AccountingBureauRemittancesModel = new AccountingBureauRemittancesModel()\r\n private _claimDetails: ClaimHeadersModel = new ClaimHeadersModel();\r\n private _invalidProvderidModal: boolean;\r\n private _hpContract: HP_ContractsModel = new HP_ContractsModel();\r\n private _listOfrequirements = [];\r\n private _testClaimcompleteness: boolean;\r\n private _emptyClaimform: boolean = false\r\n private _displayClaimtable: boolean = false;\r\n private _paidTo: string;\r\n private _validationSpinner: boolean = false;\r\n private _disableClaimssearch: boolean;\r\n private _subscribeClaimerror: boolean = false;\r\n private _busyReverse: boolean = false;\r\n private _listOfclaims: ClaimHeadersModel[] = [];\r\n private _historyOfclaims: ClaimHeadersModel[] = [];\r\n\r\n private _familyName: string;\r\n private _noClaimsfound: boolean = false\r\n private _contractMessage: string[] = [];\r\n private _familyNo: string;\r\n private _modelContractShow: boolean;\r\n private _showTabels: boolean = true;\r\n private _selectedClaim: ClaimHeadersModel = new ClaimHeadersModel();\r\n private _claimReversalinfo: ClaimReversalModel = new ClaimReversalModel();\r\n private _returnedClaimdetail = [Array, Array]\r\n private _selectedClaimdetail: ClaimLineModel[] = [];\r\n private _selectedClaimadjust: ClaimAdjustModel[] = [];\r\n private _details: CheckRunDetailsModel = new CheckRunDetailsModel();\r\n private _refProvInfo: DetailLinesModel = new DetailLinesModel();\r\n private _LoadingModel: boolean = false;\r\n private _claimInfo: DetailLinesModel[];\r\n private _vendorInfo: VendorInfoModel = new VendorInfoModel();\r\n private _diacodes: Diagcodes[] = [];\r\n private _visitCounts: number;\r\n private _authNo: string;\r\n private _AdjustInfo: DetailLinesModel[];\r\n private _showClaimdetail: boolean;\r\n private _rejectionNote: string;\r\n private _rejectModalShow: boolean = false;\r\n private _unreverseBtn: boolean = false;\r\n private _rejectionReason: string;\r\n private _hasRejections: boolean;\r\n private _rejectionReasons: ClaimAdjustModel[] = []\r\n private _claimNumber: string;\r\n private _claimpaidDate: string\r\n private _downloadClaimclicked: boolean\r\n private _remittancedownloadmodal: boolean = false;\r\n private _viewClaimSpinnerModel: boolean = false;\r\n private _parseddate: any;\r\n private _filename: string;\r\n private _filesource: string;\r\n private _errorRemittance: boolean = false;\r\n private _selectedProviderremittance: ProviderRemittancesModel = new ProviderRemittancesModel();\r\n private _providerDetailedremittanceModal: boolean = false;\r\n private _detailedProviderremittances: ProviderDetailedRemittanceModel[] = [];\r\n private _detailedProviderremittancesDownload: ProviderDetailedRemittanceModel[] = [];\r\n private _detailedRemittancemodal: boolean;\r\n public _detailedremittance: AccountingBureauDetailedRemittancesModel[] = [];\r\n private _stringamount: any;\r\n private _specList: SpecCodes[] = [];\r\n private _busy: boolean = false;\r\n private _existingBen: Specmasters[] = [];\r\n private _bencodes: BenTrackCodes[] = [];\r\n private _selectedList: SpecCodes[] = [];\r\n private _selectedSpecs: SpecCodes[] = [];\r\n private _displayGrid: boolean = false;\r\n private _procerror: boolean = false;\r\n\r\n constructor(private _loginService: LoginService, private _settingsService: SettingsService, private _router: Router,\r\n private _http: HttpClient, @Inject('BASE_URL') public _baseUrl: string) { }\r\n\r\n public get displayGrid(): boolean {\r\n return this._displayGrid;\r\n }\r\n public set displayGrid(value: boolean) {\r\n this._displayGrid = value;\r\n }\r\n public get selectedSpecs(): SpecCodes[] {\r\n return this._selectedSpecs;\r\n }\r\n public set selectedSpecs(value: SpecCodes[]) {\r\n this._selectedSpecs = value;\r\n }\r\n public get bencodes(): BenTrackCodes[] {\r\n return this._bencodes;\r\n }\r\n public set bencodes(value: BenTrackCodes[]) {\r\n this._bencodes = value;\r\n }\r\n public get selectedList(): SpecCodes[] {\r\n return this._selectedList;\r\n }\r\n public set selectedList(value: SpecCodes[]) {\r\n this._selectedList = value;\r\n }\r\n get DetailedProviderRemittance() {\r\n return this._detailedProviderremittances;\r\n }\r\n set DetailedProviderRemittance(detail: ProviderDetailedRemittanceModel[]) {\r\n this._detailedProviderremittances = detail;\r\n }\r\n get DetailRemittanceModal() {\r\n return this._detailedRemittancemodal\r\n }\r\n set DetailRemittanceModal(isValid) {\r\n this._detailedRemittancemodal = isValid\r\n }\r\n get ProviderRemittanceInfo() {\r\n return this._selectedProviderremittance;\r\n }\r\n set ProviderRemittanceInfo(remit: ProviderRemittancesModel) {\r\n this._selectedProviderremittance = remit;\r\n }\r\n get ProviderRemittancDetail() {\r\n return this._providerDetailedremittanceModal;\r\n }\r\n set ProviderRemittancDetail(isValid) {\r\n this._providerDetailedremittanceModal = isValid;\r\n }\r\n public get busy(): boolean {\r\n return this._busy;\r\n }\r\n public set busy(value: boolean) {\r\n this._busy = value;\r\n }\r\n public get existingBen(): Specmasters[] {\r\n return this._existingBen;\r\n }\r\n public set existingBen(value: Specmasters[]) {\r\n this._existingBen = value;\r\n }\r\n get DownloadRemittanceModel() {\r\n return this._remittancedownloadmodal\r\n }\r\n set DownloadRemittanceModel(isValid) {\r\n this._remittancedownloadmodal = isValid\r\n }\r\n get ViewClaimSpinnerModel() {\r\n return this._viewClaimSpinnerModel\r\n }\r\n set ViewClaimSpinnerModel(isValid) {\r\n this._viewClaimSpinnerModel = isValid\r\n }\r\n public get errorRemittance(): boolean {\r\n return this._errorRemittance;\r\n }\r\n public set errorRemittance(value: boolean) {\r\n this._errorRemittance = value;\r\n }\r\n get ClaimModal() {\r\n return this._claimReversalinfo\r\n }\r\n set ClaimModal(val) {\r\n this._claimReversalinfo = val\r\n }\r\n public get rejectionReason(): string {\r\n return this._rejectionReason;\r\n }\r\n public set rejectionReason(value: string) {\r\n this._rejectionReason = value;\r\n }\r\n public get rejectionNote(): string {\r\n return this._rejectionNote;\r\n }\r\n public set rejectionNote(value: string) {\r\n this._rejectionNote = value;\r\n }\r\n get ClaimInfo() {\r\n return this._showClaimdetail;\r\n }\r\n set ClaimInfo(isValid) {\r\n this._showClaimdetail = isValid;\r\n }\r\n get ClaimRequirements() {\r\n return this._listOfrequirements;\r\n }\r\n set ClaimRequirements(isValid) {\r\n this._listOfrequirements = isValid;\r\n }\r\n public get modelContractShow(): boolean {\r\n return this._modelContractShow;\r\n }\r\n public set modelContractShow(value: boolean) {\r\n this._modelContractShow = value;\r\n }\r\n public get showTabels(): boolean {\r\n return this._showTabels;\r\n }\r\n public set showTabels(value: boolean) {\r\n this._showTabels = value;\r\n }\r\n get EmptyClaimForm() {\r\n return this._emptyClaimform;\r\n }\r\n set EmptyClaimForm(isValid) {\r\n this._emptyClaimform = isValid;\r\n }\r\n get NoClaims() {\r\n return this._noClaimsfound;\r\n }\r\n set NoClaims(isValid) {\r\n this._noClaimsfound = isValid;\r\n }\r\n get DisplayClaimTable() {\r\n return this._displayClaimtable\r\n }\r\n set DisplayClaimTable(isValid) {\r\n this._displayClaimtable = isValid\r\n }\r\n get isMemberClaim(): boolean {\r\n let check: boolean;\r\n if (this._router.url == \"/member-claims\") {\r\n check = true\r\n } else {\r\n check = false\r\n }\r\n return check;\r\n }\r\n public get busyReverse(): boolean {\r\n return this._busyReverse;\r\n }\r\n public set busyReverse(value: boolean) {\r\n this._busyReverse = value;\r\n }\r\n public get contractMessage(): string[] {\r\n return this._contractMessage;\r\n }\r\n public set contractMessage(value: string[]) {\r\n this._contractMessage = value;\r\n }\r\n get ClaimValidationSpinner() {\r\n return this._validationSpinner\r\n }\r\n set ClaimValidationSpinner(isValid) {\r\n this._validationSpinner = isValid\r\n }\r\n get InvalidProvider() {\r\n return this._invalidProvderidModal\r\n }\r\n set InvalidProvider(isValid) {\r\n this._invalidProvderidModal = isValid;\r\n }\r\n get refProviderInfo() {\r\n return this._refProvInfo;\r\n }\r\n public get diacodes(): Diagcodes[] {\r\n return this._diacodes;\r\n }\r\n public set diacodes(value: Diagcodes[]) {\r\n this._diacodes = value;\r\n }\r\n public get LoadingModel(): boolean {\r\n return this._LoadingModel;\r\n }\r\n public set LoadingModel(value: boolean) {\r\n this._LoadingModel = value;\r\n }\r\n get DisableClaimSearchBtn() {\r\n return this._disableClaimssearch\r\n }\r\n set DisableClaimSearchBtn(isValid) {\r\n this._disableClaimssearch = isValid\r\n }\r\n public get familyName(): string {\r\n return this._familyName;\r\n }\r\n public set familyName(value: string) {\r\n this._familyName = value;\r\n }\r\n public get familyNo(): string {\r\n return this._familyNo;\r\n }\r\n public set familyNo(value: string) {\r\n this._familyNo = value;\r\n }\r\n get ClaimError() {\r\n return this._subscribeClaimerror\r\n }\r\n set ClaimError(val) {\r\n this._subscribeClaimerror = val\r\n }\r\n get RecievedClaims() {\r\n return this._listOfclaims\r\n }\r\n get RecievedHistoryClaims() {\r\n return this._historyOfclaims;\r\n }\r\n public get AdjustInfo() {\r\n return this._AdjustInfo;\r\n }\r\n get ClaimHeaders() {\r\n return this._claimDetails;\r\n }\r\n set ClaimHeaders(val: ClaimHeadersModel) {\r\n this._claimDetails = val\r\n }\r\n public get visitCounts(): number {\r\n return this._visitCounts;\r\n }\r\n public set visitCounts(value: number) {\r\n this._visitCounts = value;\r\n }\r\n get HP_Contracts() {\r\n return this._hpContract;\r\n }\r\n set HP_Contracts(val: HP_ContractsModel) {\r\n this._hpContract = val;\r\n }\r\n public get rejectModalShow(): boolean {\r\n return this._rejectModalShow;\r\n }\r\n public set rejectModalShow(value: boolean) {\r\n this._rejectModalShow = value;\r\n }\r\n get SelectedClaim() {\r\n return this._selectedClaim\r\n }\r\n set SelectedClaim(claim: ClaimHeadersModel) {\r\n this._selectedClaim = claim\r\n }\r\n get ShowClaimReversalModal() {\r\n return this._claimReversalinfo.showClaimModal\r\n }\r\n set ShowClaimReversalModal(isValid) {\r\n this._claimReversalinfo.showClaimModal = isValid\r\n }\r\n get ClaimInformation() {\r\n return this._selectedClaimdetail;\r\n }\r\n set ClaimInformation(claim: ClaimLineModel[]) {\r\n this._selectedClaimdetail = claim;\r\n }\r\n get RejectionReasons() {\r\n return this._rejectionReasons\r\n }\r\n set RejectionReasons(claim: ClaimAdjustModel[]) {\r\n this._rejectionReasons = claim\r\n }\r\n get ClaimHasRejections() {\r\n return this._hasRejections\r\n }\r\n set ClaimHasRejections(isValid) {\r\n this._hasRejections = isValid\r\n }\r\n get SpecificClaimDownload() {\r\n return this._downloadClaimclicked\r\n }\r\n set SpecificClaimDownload(isValid) {\r\n this._downloadClaimclicked = isValid\r\n }\r\n get vendorInfo() {\r\n return this._vendorInfo;\r\n }\r\n get SelectedRemittance() {\r\n return this._selectedRemittance\r\n }\r\n get claimInfo() {\r\n return this._claimInfo;\r\n }\r\n public get unreverseBtn(): boolean {\r\n return this._unreverseBtn;\r\n }\r\n public set unreverseBtn(value: boolean) {\r\n this._unreverseBtn = value;\r\n }\r\n public get authNo(): string {\r\n return this._authNo;\r\n }\r\n public set authNo(value: string) {\r\n this._authNo = value;\r\n }\r\n get details() {\r\n return this._details;\r\n } \r\n get DetailedRemittance() {\r\n return this._detailedremittance\r\n }\r\n public get procerror(): boolean {\r\n return this._procerror;\r\n }\r\n public set procerror(value: boolean) {\r\n this._procerror = value;\r\n }\r\n public get specList(): SpecCodes[] {\r\n return this._specList;\r\n }\r\n public set specList(value: SpecCodes[]) {\r\n this._specList = value;\r\n }\r\n public get faqList(): Faq[] {\r\n return this._faqList;\r\n }\r\n public set faqList(value: Faq[]) {\r\n this._faqList = value;\r\n }\r\n public get openFaq(): boolean {\r\n return this._openFaq;\r\n }\r\n public set openFaq(value: boolean) {\r\n this._openFaq = value;\r\n }\r\n\r\n\r\n ValidateForm() {\r\n if (this._loginService.CurrentLoggedInUser.userType == 2) {\r\n this.CheckProviderID();\r\n this.BureauValidation();\r\n }\r\n if (this._loginService.CurrentLoggedInUser.userType == 1) {\r\n this.ProviderValidation();\r\n }\r\n if (this._loginService.CurrentLoggedInUser.userType == 3) {\r\n this.CheckAdministratorProviderID();\r\n this.AdministratorValidation();\r\n\r\n } if (this._loginService.CurrentLoggedInUser.userType == 5) {\r\n this.BrokerValidation();\r\n }\r\n }\r\n\r\n CloseNoClaims() {\r\n this.ClearAllInputFields();\r\n this._noClaimsfound = false\r\n }\r\n\r\n DisableDownloadBtn(x: string): boolean {\r\n let isDisabled: boolean;\r\n\r\n let inputDate: Date = new Date(x);\r\n \r\n if (x == \"In Process\") {\r\n isDisabled = true;\r\n }\r\n else if (isNaN(inputDate.getTime())) // Check if date is invalid\r\n {\r\n isDisabled = true;\r\n }\r\n else // Valid date\r\n {\r\n //Get delayDays\r\n let delayDaySetting: number;\r\n\r\n if (this._loginService.CurrentLoggedInUser.userType == 1) //Provider\r\n {\r\n delayDaySetting = Math.abs(parseInt(this._settingsService.GetSettingsDesc('payrunlag_prov')));\r\n }\r\n else if (this._loginService.CurrentLoggedInUser.userType == 2 || this._loginService.CurrentLoggedInUser.userType == 3 || this._loginService.CurrentLoggedInUser.userType == 5) //Bureau, Client, Broker\r\n {\r\n delayDaySetting = Math.abs(parseInt(this._settingsService.GetSettingsDesc('payrunlag')));\r\n }\r\n\r\n //let currentDate: Date = new Date(); //return datetime object\r\n //let currentDate = Date.now(); //returns Epoch date (milliseconds from 1 Jan 1970)\r\n //let testDate = inputDate.setDate(inputDate.getDate() + 3); //returns Epoch date (milliseconds from 1 Jan 1970)\r\n\r\n if (inputDate.setDate(inputDate.getDate() + delayDaySetting) > Date.now())\r\n {\r\n isDisabled = true;\r\n }\r\n else\r\n {\r\n isDisabled = false;\r\n }\r\n }\r\n\r\n return isDisabled\r\n }\r\n\r\n ShowClaimDetailModal(claim: ClaimHeadersModel) {\r\n\r\n this._viewClaimSpinnerModel = true;\r\n this._selectedClaim = claim\r\n\r\n //let token = localStorage.getItem(\"jwt\"); // Jaco 2023-12-04 not used anymore \r\n //this._http.post(this._baseUrl + \"api/Security/ClaimInfo\", {\r\n // ClaimNo: this._selectedClaim.claimNo\r\n //},\r\n // {\r\n // headers: new HttpHeaders({\r\n // \"Authorization\": \"Bearer \" + token,\r\n // \"Content-Type\": \"application/json\",\r\n // \"Cache-Control\": \"no-store\",\r\n // \"Pragma\": \"no-cache\"\r\n\r\n // })\r\n // }).subscribe((ReturnedDetail: any) => {\r\n // this._returnedClaimdetail = ReturnedDetail\r\n // this._selectedClaimdetail = Object(this._returnedClaimdetail)[\"item1\"]\r\n // this._selectedClaimadjust = Object(this._returnedClaimdetail)[\"item2\"]\r\n // },\r\n // (error) => {\r\n // console.log(error);\r\n // if (error.status == '401') {\r\n // this._router.navigateByUrl('/login');\r\n // }\r\n // this._viewClaimSpinnerModel = false;\r\n // },\r\n // () => { \r\n // this.GetDetailsOfRefProv();\r\n // })\r\n\r\n let token = localStorage.getItem(\"jwt\"); // Jaco 2023-12-04 \r\n this._http.post(this._baseUrl + \"api/Security/GetVendorInfo\", claim,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n })\r\n }\r\n ).subscribe(\r\n (result: VendorInfoModel) => {\r\n this._vendorInfo = result; \r\n },\r\n (error) => {\r\n console.log(error);\r\n if (error.status == '401') {\r\n this._router.navigateByUrl('/login');\r\n }\r\n this._viewClaimSpinnerModel = false;\r\n },\r\n () => { \r\n this.GetDetailsOfRefProv();\r\n }) \r\n }\r\n\r\n GetDetailsOfRefProv() {\r\n\r\n this._details = new CheckRunDetailsModel();\r\n this._details.claimNo = this._selectedClaim.claimNo;\r\n let token = localStorage.getItem(\"jwt\");\r\n\r\n this._http.post(this._baseUrl + 'api/Security/GetDetailsOfRefProv', this._details,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n })\r\n })\r\n .subscribe((recievedData: DetailLinesModel) => {\r\n this._refProvInfo = new DetailLinesModel();\r\n this._refProvInfo.claimNo = recievedData.claimNo;\r\n this._refProvInfo.refProvId = recievedData.refProvId;\r\n this._refProvInfo.refProfName = recievedData.refProfName;\r\n this._refProvInfo.specCode = recievedData.specCode;\r\n this._refProvInfo.desc = recievedData.desc;\r\n this._refProvInfo.provid = recievedData.provid;\r\n this._refProvInfo.provname = recievedData.provname;\r\n this._refProvInfo.provspec = recievedData.provspec;\r\n this._refProvInfo.provdesc = recievedData.provdesc\r\n if (recievedData.claimOriginal === '') {\r\n this._refProvInfo.claimOriginal = recievedData.claimNo;\r\n } else {\r\n this._refProvInfo.claimOriginal = recievedData.claimOriginal;\r\n }\r\n if (recievedData.claimreverse === '') {\r\n this._refProvInfo.claimreverse = 'No Reversal';\r\n } else {\r\n this._refProvInfo.claimreverse = recievedData.claimreverse;\r\n }\r\n if (recievedData.reversedate === '') {\r\n this._refProvInfo.reversedate = 'No Reverse Date';\r\n } else {\r\n this._refProvInfo.reversedate = recievedData.reversedate;\r\n }\r\n },\r\n (error) => {\r\n console.log(error);\r\n if (error.status == '401') {\r\n this._router.navigateByUrl('/login');\r\n }\r\n this._viewClaimSpinnerModel = false;\r\n },\r\n () => {\r\n this.GetDetailsOfClaim();\r\n });\r\n }\r\n\r\n GetDetailsOfClaim() {\r\n this.LoadingModel = true;\r\n let token = localStorage.getItem(\"jwt\");\r\n this._http.post(this._baseUrl + 'api/Security/GetDetailsOfClaim', this._details,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n })\r\n .subscribe((recievedData: DetailLinesModel[]) => { \r\n this._claimInfo = [];\r\n let x = recievedData;\r\n x.forEach((dl) => {\r\n this._claimInfo.push(dl);\r\n });\r\n //console.log(this._claimInfo);\r\n this._diacodes = [];\r\n },\r\n (error) => {\r\n console.log(error);\r\n if (error.status == '401') {\r\n this._router.navigateByUrl('/login');\r\n }\r\n this._viewClaimSpinnerModel = false;\r\n },\r\n () => {\r\n\r\n // Jaco 2024-08-27 This only gets the diag codes that are linked to a line, we will have to get all diags from CLAIM_DIAGS in a seperate call below\r\n //let temparr: Diagcodes[] = []\r\n\r\n //this._claimInfo.forEach((ifo) => {\r\n // temparr.push({ code: ifo.diagcode, desc: ifo.diagdesc });\r\n //});\r\n\r\n //temparr.sort((a, b) => a.code < b.code ? -1 : 1);\r\n //let temp: Diagcodes = new Diagcodes();\r\n //temparr.forEach((tmp) => {\r\n // if (tmp.code !== temp.code) {\r\n // this._diacodes.push(tmp);\r\n // temp.code = tmp.code;\r\n // }\r\n //});\r\n\r\n //console.log(this.diacodes);\r\n this.GetClaimDiags();\r\n });\r\n }\r\n\r\n GetClaimDiags() {\r\n\r\n let token = localStorage.getItem(\"jwt\");\r\n const params = new HttpParams().append('claimNo', this._details.claimNo);\r\n this._http.post(this._baseUrl + 'api/Security/GetClaimDiags', this._details.claimNo,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n }),\r\n params\r\n })\r\n .subscribe((recievedData: Diagcodes[]) => {\r\n let temparr: Diagcodes[] = [];\r\n\r\n recievedData.forEach((ifo) => {\r\n temparr.push(ifo);\r\n });\r\n\r\n temparr.sort((a, b) => a.code < b.code ? -1 : 1);\r\n let temp: Diagcodes = new Diagcodes();\r\n temparr.forEach((tmp) => {\r\n if (tmp.code !== temp.code) {\r\n this._diacodes.push(tmp);\r\n temp.code = tmp.code;\r\n }\r\n }); \r\n },\r\n (error) => {\r\n console.log(error);\r\n if (error.status == '401') {\r\n this._router.navigateByUrl('/login');\r\n }\r\n this._viewClaimSpinnerModel = false;\r\n },\r\n () => {\r\n this.GetAdjustOfClaim();\r\n });\r\n }\r\n\r\n GetAdjustOfClaim() {\r\n let token = localStorage.getItem(\"jwt\");\r\n this._http.post(this._baseUrl + 'api/Security/GetAdjustOfClaim', this._details,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n })\r\n .subscribe((recievedData: DetailLinesModel[]) => { \r\n this._AdjustInfo = [];\r\n let x = recievedData;\r\n let y: boolean = false;\r\n x.forEach((dl) => {\r\n this._AdjustInfo.forEach((ad) => {\r\n if (dl.adjCode2 === ad.adjCode2) {\r\n y = true;\r\n }\r\n });\r\n if (y === true) {\r\n y = false;\r\n } else {\r\n this._AdjustInfo.push(dl);\r\n y = false;\r\n }\r\n });\r\n //console.log(this._claimInfo);\r\n },\r\n (error) => {\r\n console.log(error);\r\n if (error.status == '401') {\r\n this._router.navigateByUrl('/login');\r\n }\r\n this._viewClaimSpinnerModel = false;\r\n },\r\n () => {\r\n\r\n this.GetVisitCounts();\r\n });\r\n }\r\n\r\n GetVisitCounts() {\r\n let token = localStorage.getItem(\"jwt\")\r\n let memb: MemberNoModel = new MemberNoModel();\r\n memb.hpcode = this._loginService.CurrentLoggedInUser.username;\r\n memb.memberNo = this._selectedClaim.memberNo;\r\n if (this._loginService.CurrentLoggedInUser.userType !== 3) {\r\n memb.usertype = this._loginService.CurrentLoggedInUser.userType.toString();\r\n }\r\n this._http.post(this._baseUrl + 'api/Security/GetVisitClaims', memb,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n })\r\n })\r\n .subscribe((recievedCount: MemberNoModel) => {\r\n let x: string = recievedCount.memberNo\r\n this.visitCounts = parseInt(x);\r\n },\r\n (error) => {\r\n console.log(error);\r\n if (error.status == '401') {\r\n this._router.navigateByUrl('/login');\r\n }\r\n this._viewClaimSpinnerModel = false;\r\n },\r\n () => {\r\n this.GetAuthNo();\r\n });\r\n\r\n }\r\n\r\n GetAuthNo() {\r\n let token = localStorage.getItem(\"jwt\");\r\n let x: ValidationResultsModel = new ValidationResultsModel();\r\n x.message = this.details.claimNo;\r\n this._http.post(this._baseUrl + 'api/Security/GetAuthNo', x,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n })\r\n })\r\n .subscribe((recievedData: ValidationResultsModel) => {\r\n this.authNo = recievedData.message;\r\n },\r\n (error) => {\r\n console.log(error);\r\n if (error.status == '401') {\r\n this._router.navigateByUrl('/login');\r\n }\r\n this._viewClaimSpinnerModel = false;\r\n },\r\n () => {\r\n this._showClaimdetail = true;\r\n this.LoadingModel = false;\r\n this._viewClaimSpinnerModel = false;\r\n });\r\n }\r\n\r\n DisableReversal(paid: string, negativeNumcheck: string, reverseDate: string, datePaid: string): boolean {\r\n let isDisabled: boolean\r\n if (negativeNumcheck.includes(\"-\") || reverseDate != null || datePaid == 'In Process' || paid == '0.00' || paid == '0,00') {\r\n isDisabled = true\r\n } else {\r\n isDisabled = false\r\n }\r\n return isDisabled\r\n }\r\n\r\n ClearAllInputFields() {\r\n this.HP_Contracts.hpcode = \"000\";\r\n this._claimDetails.memberNo = \"\";\r\n this._claimDetails.memberId = \"\";\r\n this._claimDetails.providerId = \"\";\r\n this._claimDetails.memberDOB = null;\r\n this._claimDetails.serviceDate = null;\r\n this._claimDetails.datePaid = null;\r\n }\r\n\r\n CheckAdministratorProviderID() {\r\n this._paidTo = \"P\";\r\n this._loginService.CurrentLoggedInUser.provID = \"\"\r\n if (this._loginService.CurrentLoggedInUser.provID == \"\") {\r\n this._loginService.CurrentLoggedInUser.provID = this._claimDetails.providerId\r\n }\r\n }\r\n\r\n CheckProviderID() {\r\n let filterprovID = this._loginService.ProvidersLinkedToBureau.filter(x => x.vendorid === this._claimDetails.providerId)\r\n if (filterprovID.length != 0) {\r\n this._loginService.CurrentLoggedInUser.provID = \"\";\r\n filterprovID.forEach(el => {\r\n this._loginService.CurrentLoggedInUser.provID = el.vendorid\r\n this._invalidProvderidModal = false\r\n });\r\n } else {\r\n this._loginService.CurrentLoggedInUser.provID = this._claimDetails.providerId\r\n if (filterprovID.length == 0 && this._claimDetails.providerId.length > 0) {\r\n this._invalidProvderidModal = true\r\n }\r\n }\r\n }\r\n\r\n BureauValidation() {\r\n let tempArray = []\r\n let testBoolean: boolean;\r\n let enabled: boolean;\r\n let required: boolean;\r\n\r\n enabled = this._settingsService.GetSettingEnabled('ViewClaimSelectHealthPlan');\r\n required = this._settingsService.GetSettingRequired('ViewClaimSelectHealthPlan');\r\n\r\n if (enabled == true) {\r\n if (this.HP_Contracts.hpcode != \"000\") {\r\n testBoolean = true\r\n } else {\r\n testBoolean = false\r\n if (required == true) {\r\n tempArray.push(\"Select a Health plan\")\r\n }\r\n }\r\n }\r\n\r\n enabled = this._settingsService.GetSettingEnabled('ViewClaimMemberNumber');\r\n required = this._settingsService.GetSettingRequired('ViewClaimMemberNumber');\r\n\r\n if (enabled == true) {\r\n if (this._claimDetails.memberNo != \"\") {\r\n testBoolean = true\r\n } else {\r\n testBoolean = false\r\n if (required == true) {\r\n tempArray.push(\"Enter a Member Number\")\r\n }\r\n }\r\n }\r\n\r\n enabled = this._settingsService.GetSettingEnabled('ViewClaimMemberIDNumber');\r\n required = this._settingsService.GetSettingRequired('ViewClaimMemberIDNumber');\r\n\r\n if (enabled == true) {\r\n if (this._claimDetails.memberId != \"\") {\r\n testBoolean = true\r\n } else {\r\n testBoolean = false\r\n if (required == true) {\r\n tempArray.push(\"Enter The Member's ID Number\")\r\n }\r\n }\r\n }\r\n\r\n enabled = this._settingsService.GetSettingEnabled('ViewClaimMemberDOB');\r\n required = this._settingsService.GetSettingRequired('ViewClaimMemberDOB');\r\n\r\n if (enabled == true) {\r\n if (this._claimDetails.memberDOB != null) {\r\n testBoolean = true\r\n } else {\r\n testBoolean = false\r\n if (required == true) {\r\n tempArray.push(\"Enter the Member's Date Of Birth\")\r\n }\r\n }\r\n }\r\n\r\n enabled = this._settingsService.GetSettingEnabled('ViewClaimMemberServiceDate');\r\n required = this._settingsService.GetSettingRequired('ViewClaimMemberServiceDate');\r\n\r\n if (enabled == true) {\r\n if (this._claimDetails.serviceDate != null && this._claimDetails.serviceDate != \"\") {\r\n testBoolean = true\r\n } else {\r\n testBoolean = false\r\n if (required == true) {\r\n tempArray.push(\"Enter the Claim Service Date\")\r\n }\r\n }\r\n }\r\n if (this._loginService.CurrentLoggedInUser.provID != null && this._loginService.CurrentLoggedInUser.provID != \"\") {\r\n testBoolean = true\r\n } else {\r\n tempArray.push(\"Enter a Practice Number\")\r\n }\r\n\r\n enabled = this._settingsService.GetSettingEnabled('ViewClaimMemberPaidDate');\r\n required = this._settingsService.GetSettingRequired('ViewClaimMemberPaidDate');\r\n\r\n\r\n if (enabled == true) {\r\n if (this._claimDetails.datePaid != null && this._claimDetails.datePaid != \"\") {\r\n testBoolean = true\r\n } else {\r\n testBoolean = false\r\n if (required == true) {\r\n tempArray.push(\"Enter the Claim Payment Date\")\r\n }\r\n\r\n }\r\n }\r\n this._listOfrequirements = tempArray;\r\n this._testClaimcompleteness = testBoolean;\r\n\r\n if (this._listOfrequirements.length > 0) {\r\n this._testClaimcompleteness = false\r\n }\r\n if (this._invalidProvderidModal == true) {\r\n this._emptyClaimform = false;\r\n this._displayClaimtable = false;\r\n } else {\r\n if (this._testClaimcompleteness == false) {\r\n this._emptyClaimform = true;\r\n this._displayClaimtable = false;\r\n } else {\r\n this.SearchClaim();\r\n }\r\n }\r\n\r\n }\r\n\r\n SearchClaim() {\r\n this._validationSpinner = true\r\n this._disableClaimssearch = true;\r\n\r\n let token = localStorage.getItem('jwt')\r\n this._http.post(this._baseUrl + \"api/Security/ProviderClaimSearch\", {\r\n\r\n Plan: this.HP_Contracts.hpcode,\r\n MemberNo: this._claimDetails.memberNo,\r\n ServiceDate: this._claimDetails.serviceDate,\r\n DatePaid: this._claimDetails.datePaid,\r\n Practice: this._loginService.CurrentLoggedInUser.provID,\r\n UserType: this._loginService.CurrentLoggedInUser.userType,\r\n userName: this._loginService.CurrentLoggedInUser.username,\r\n lobCode: this._loginService.CurrentLoggedInUser.lobcode,\r\n paidTo: this._paidTo,\r\n isMember: this.isMemberClaim,\r\n brokerId: this._loginService.CurrentLoggedInUser.brokerId,\r\n contracted: this._loginService.CurrentLoggedInUser.contract\r\n },\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }).subscribe((returnedclaimdetail: ClaimHeadersModel[]) => {\r\n\r\n this._listOfclaims = returnedclaimdetail\r\n\r\n\r\n }, (error) => {\r\n this._validationSpinner = false;\r\n this._disableClaimssearch = false;\r\n this._subscribeClaimerror = true;\r\n },\r\n () => {\r\n this._busyReverse = false;\r\n this.GetFamilyNameSearch();\r\n });\r\n }\r\n\r\n SearchClaimHistory() {\r\n this._validationSpinner = true\r\n this._disableClaimssearch = true;\r\n\r\n let token = localStorage.getItem('jwt')\r\n this._http.post(this._baseUrl + \"api/Security/ProviderClaimHistorySearch\", {\r\n\r\n Plan: this.HP_Contracts.hpcode,\r\n MemberNo: this._claimDetails.memberNo,\r\n ServiceDate: this._claimDetails.serviceDate,\r\n DatePaid: this._claimDetails.datePaid,\r\n Practice: this._loginService.CurrentLoggedInUser.provID,\r\n UserType: this._loginService.CurrentLoggedInUser.userType,\r\n userName: this._loginService.CurrentLoggedInUser.username,\r\n lobCode: this._loginService.CurrentLoggedInUser.lobcode,\r\n paidTo: this._paidTo,\r\n isMember: this.isMemberClaim,\r\n brokerId: this._loginService.CurrentLoggedInUser.brokerId,\r\n contracted: this._loginService.CurrentLoggedInUser.contract\r\n },\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }).subscribe((returnedclaimdetail: ClaimHeadersModel[]) => {\r\n\r\n this._historyOfclaims = returnedclaimdetail\r\n if (this._historyOfclaims.length > 0) {\r\n if (this._loginService.CurrentLoggedInUser.userType == 1) {\r\n if (this._loginService.CurrentLoggedInUser.hospital == false) {\r\n this.CheckAllowedOptions();\r\n }\r\n }\r\n this._displayClaimtable = true;\r\n this._validationSpinner = false;\r\n this._disableClaimssearch = false;\r\n } else {\r\n this._displayClaimtable = false;\r\n this._noClaimsfound = true;\r\n this._validationSpinner = false;\r\n this._disableClaimssearch = false;\r\n }\r\n\r\n }, (error) => {\r\n this._validationSpinner = false;\r\n this._disableClaimssearch = false;\r\n this._subscribeClaimerror = true;\r\n },\r\n () => {\r\n this._busyReverse = false;\r\n\r\n // this.GetFamilyNameSearch();\r\n });\r\n }\r\n\r\n GetFamilyNameSearch() {\r\n let token = localStorage.getItem(\"jwt\");\r\n\r\n this._http.post(this._baseUrl + 'api/Security/ProviderClaimSearchFamilyName', {\r\n\r\n Plan: this.HP_Contracts.hpcode,\r\n MemberNo: this._claimDetails.memberNo,\r\n ServiceDate: this._claimDetails.serviceDate,\r\n DatePaid: this._claimDetails.datePaid,\r\n Practice: this._loginService.CurrentLoggedInUser.provID,\r\n UserType: this._loginService.CurrentLoggedInUser.userType,\r\n userName: this._loginService.CurrentLoggedInUser.username,\r\n lobCode: this._loginService.CurrentLoggedInUser.lobcode,\r\n paidTo: this._paidTo,\r\n isMember: this.isMemberClaim,\r\n brokerId: this._loginService.CurrentLoggedInUser.brokerId\r\n },\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }).subscribe((returnedFamily: ClaimHeadersModel) => {\r\n\r\n\r\n if (this._listOfclaims.length > 0) {\r\n if (this._loginService.CurrentLoggedInUser.userType == 1) {\r\n if (this._loginService.CurrentLoggedInUser.hospital == false) {\r\n this.CheckAllowedOptions();\r\n }\r\n }\r\n this._displayClaimtable = true;\r\n this._validationSpinner = false;\r\n this._disableClaimssearch = false;\r\n this._familyName = \"\";\r\n this._familyName = \"Main Policy Holder: \" + returnedFamily.memberFirstName + \" \" + returnedFamily.memberLastName;\r\n } else {\r\n this._displayClaimtable = false;\r\n this._noClaimsfound = true;\r\n this._validationSpinner = false;\r\n this._disableClaimssearch = false;\r\n this._familyName = \"\";\r\n }\r\n\r\n },\r\n (error) => {\r\n this._validationSpinner = false;\r\n this._disableClaimssearch = false;\r\n this._subscribeClaimerror = true;\r\n },\r\n () => {\r\n let c: string = this._claimDetails.memberNo;\r\n let y: boolean = c.includes('-');\r\n if (y) {\r\n let x: number = c.lastIndexOf('-');\r\n let v: number = c.length - (x + 1);\r\n if (v == 2) {\r\n let z = c.substring(0, x);\r\n this._familyNo = z;\r\n } else {\r\n this._familyNo = this._claimDetails.memberNo;\r\n }\r\n\r\n } else {\r\n this._familyNo = this._claimDetails.memberNo;\r\n }\r\n\r\n });\r\n }\r\n\r\n CheckAllowedOptions() {\r\n this._contractMessage = [];\r\n let list: string[] = [];\r\n let opt: string[] = [];\r\n this._settingsService.Settings.forEach((el) => {\r\n if (this._loginService.isDentist) {\r\n if (el.settingsId == 'ContractBoundOptionsDentist') {\r\n opt = el.description.split(',');\r\n }\r\n }\r\n if (this._loginService.isSpecialist) {\r\n if (el.settingsId == 'ContractBoundOptionsGP') {\r\n opt = el.description.split(',');\r\n }\r\n }\r\n });\r\n let p = this;\r\n if (this._loginService.CurrentLoggedInUser.contract == 'NON-CONTRACTED') {\r\n p._listOfclaims.forEach((el) => {\r\n opt.forEach((op) => {\r\n // console.log(el);\r\n if (op == el.opt) {\r\n let found: boolean = false;\r\n if (list.length > 0) {\r\n for (var i = 0; i < list.length; i++) {\r\n if (list[i].toUpperCase() == el.memberNo.toUpperCase()) {\r\n found = true;\r\n break;\r\n }\r\n }\r\n } else {\r\n list.push(el.memberNo);\r\n found = true;\r\n }\r\n\r\n if (found == false) {\r\n list.push(el.memberNo);\r\n\r\n }\r\n }\r\n });\r\n });\r\n }\r\n let d: string = \"\";\r\n\r\n this._contractMessage.push(\"The Following Member/s is bound to a network option:\");\r\n list.forEach((el) => {\r\n this._contractMessage.push(\"• \" + el);\r\n });\r\n this._contractMessage.push(\"and you are a non network provider, therefore you can not view the claims.\")\r\n if ((list.length > 0) && (this._loginService.CurrentLoggedInUser.contract == 'NON-CONTRACTED')) {\r\n this._modelContractShow = true;\r\n this._showTabels = this._settingsService.GetSettingEnabled('NetworkBoundShow');\r\n } else {\r\n this._showTabels = true;\r\n }\r\n\r\n if (this._loginService.CurrentLoggedInUser.contract == 'NON-CONTRACTED') {\r\n this._settingsService.expSettings.forEach((el) => {\r\n p._listOfclaims.forEach((e) => {\r\n if (e.opt.toUpperCase() == el.opt) {\r\n let c: string[] = [];\r\n c = el.specs.split(',');\r\n c.forEach((l) => {\r\n if (l.trim() == this._loginService.CurrentLoggedInUser.specCode) {\r\n if (this._showTabels == false) {\r\n this._showTabels = true;\r\n }\r\n\r\n this._modelContractShow = false;\r\n }\r\n })\r\n }\r\n });\r\n });\r\n }\r\n }\r\n\r\n ProviderValidation() {\r\n let temparray = []\r\n let TestBoolean: boolean\r\n let enabled: boolean;\r\n let required: boolean;\r\n\r\n enabled = this._settingsService.GetSettingEnabled('ProviderViewClaiMemberNumber');\r\n required = this._settingsService.GetSettingRequired('ProviderViewClaiMemberNumber');\r\n\r\n if (enabled == true) {\r\n if (this._claimDetails.memberNo != \"\") {\r\n TestBoolean = true\r\n } else {\r\n TestBoolean = false\r\n if (required == true) {\r\n temparray.push(\"Enter a Member Number\")\r\n }\r\n }\r\n }\r\n\r\n enabled = this._settingsService.GetSettingEnabled('ProviderViewClaimSelectHealthPlan');\r\n required = this._settingsService.GetSettingRequired('ProviderViewClaimSelectHealthPlan');\r\n\r\n if (enabled == true) {\r\n if (this._hpContract.hpcode != \"000\") {\r\n TestBoolean = true\r\n } else {\r\n TestBoolean = false\r\n if (required == true) {\r\n temparray.push(\"Select a Health plan\")\r\n }\r\n }\r\n }\r\n\r\n enabled = this._settingsService.GetSettingEnabled('ProviderviewClaimmemberIDNumber');\r\n required = this._settingsService.GetSettingRequired('ProviderviewClaimmemberIDNumber');\r\n\r\n if (enabled == true) {\r\n if (this._claimDetails.memberId != \"\") {\r\n TestBoolean = true\r\n } else {\r\n TestBoolean = false\r\n if (required == true) {\r\n temparray.push(\"Enter The Member's ID Number\")\r\n }\r\n }\r\n }\r\n\r\n enabled = this._settingsService.GetSettingEnabled('ProviderViewClaimMemberDOB');\r\n required = this._settingsService.GetSettingRequired('ProviderViewClaimMemberDOB');\r\n\r\n if (enabled == true) {\r\n if (this._claimDetails.memberDOB != null) {\r\n TestBoolean = true\r\n } else {\r\n TestBoolean = false\r\n if (required == true) {\r\n temparray.push(\"Enter the Member's Date Of Birth\")\r\n }\r\n }\r\n }\r\n\r\n enabled = this._settingsService.GetSettingEnabled('ProviderViewClaimMemberServiceDate');\r\n required = this._settingsService.GetSettingRequired('ProviderViewClaimMemberServiceDate');\r\n\r\n if (enabled == true) {\r\n if (this._claimDetails.serviceDate != null && this._claimDetails.serviceDate != \"\") {\r\n TestBoolean = true\r\n } else {\r\n TestBoolean = false\r\n if (required == true) {\r\n temparray.push(\"Enter the Claim Service Date\")\r\n }\r\n }\r\n }\r\n if (this._loginService.CurrentLoggedInUser.provID != null && this._loginService.CurrentLoggedInUser.provID != \"\") {\r\n TestBoolean = true\r\n } else {\r\n temparray.push(\"Enter a Practice Number\")\r\n }\r\n\r\n enabled = this._settingsService.GetSettingEnabled('ProviderViewClaimMemberPaidDate');\r\n required = this._settingsService.GetSettingRequired('ProviderViewClaimMemberPaidDate');\r\n\r\n if (enabled == true) {\r\n if (this._claimDetails.datePaid != null && this._claimDetails.datePaid != \"\") {\r\n TestBoolean = true\r\n } else {\r\n TestBoolean = false\r\n if (required == true) {\r\n temparray.push(\"Enter the Claim Payment Date\")\r\n }\r\n\r\n }\r\n }\r\n this._listOfrequirements = temparray\r\n this._testClaimcompleteness = TestBoolean\r\n\r\n if (this._listOfrequirements.length > 0) {\r\n this._testClaimcompleteness = false\r\n }\r\n if (this._invalidProvderidModal == true) {\r\n this._emptyClaimform = false\r\n this._displayClaimtable = false\r\n } else {\r\n if (this._testClaimcompleteness == false) {\r\n this._emptyClaimform = true\r\n this._displayClaimtable = false\r\n } else {\r\n this.SearchClaim()\r\n }\r\n }\r\n }\r\n\r\n AdministratorValidation() {\r\n let temparray = []\r\n let TestBoolean: boolean\r\n let enabled: boolean;\r\n let required: boolean;\r\n\r\n\r\n\r\n if (this._loginService.CurrentLoggedInUser.provID != null && this._loginService.CurrentLoggedInUser.provID != \"\") {\r\n TestBoolean = true\r\n } else {\r\n temparray.push(\"Enter a Practice Number\")\r\n }\r\n enabled = this._settingsService.GetSettingEnabled('AdministratorViewClaimMemberNumber');\r\n required = this._settingsService.GetSettingRequired('AdministratorViewClaimMemberNumber');\r\n\r\n if (enabled == true) {\r\n if (this._claimDetails.memberNo != \"\") {\r\n TestBoolean = true\r\n } else {\r\n TestBoolean = false\r\n if (required == true) {\r\n temparray.push(\"Enter a Member Number\")\r\n }\r\n }\r\n }\r\n enabled = this._settingsService.GetSettingEnabled('AdministratorViewClaimSelectHealthPlan');\r\n required = this._settingsService.GetSettingRequired('AdministratorViewClaimSelectHealthPlan');\r\n\r\n if (enabled == true) {\r\n if (this._hpContract.hpcode != \"000\") {\r\n TestBoolean = true\r\n } else {\r\n TestBoolean = false\r\n if (required == true) {\r\n temparray.push(\"Select a Health plan\")\r\n }\r\n }\r\n }\r\n\r\n enabled = this._settingsService.GetSettingEnabled('AdministratorviewClaimmemberIDNumber');\r\n required = this._settingsService.GetSettingRequired('AdministratorviewClaimmemberIDNumber');\r\n\r\n if (enabled == true) {\r\n if (this._claimDetails.memberId != \"\") {\r\n TestBoolean = true\r\n } else {\r\n TestBoolean = false\r\n if (required == true) {\r\n temparray.push(\"Enter The Member's ID Number\")\r\n }\r\n }\r\n }\r\n\r\n enabled = this._settingsService.GetSettingEnabled('AdministratorViewClaimMemberDOB');\r\n required = this._settingsService.GetSettingRequired('AdministratorViewClaimMemberDOB');\r\n\r\n if (enabled == true) {\r\n if (this._claimDetails.memberDOB != null) {\r\n TestBoolean = true\r\n } else {\r\n TestBoolean = false\r\n if (required == true) {\r\n temparray.push(\"Enter the Member's Date Of Birth\")\r\n }\r\n }\r\n }\r\n enabled = this._settingsService.GetSettingEnabled('AdministratorViewClaimMemberServiceDate');\r\n required = this._settingsService.GetSettingRequired('AdministratorViewClaimMemberServiceDate');\r\n\r\n if (enabled == true) {\r\n if (this._claimDetails.serviceDate != null && this._claimDetails.serviceDate != \"\") {\r\n TestBoolean = true\r\n } else {\r\n TestBoolean = false\r\n if (required == true) {\r\n temparray.push(\"Enter the Claim Service Date\")\r\n }\r\n }\r\n }\r\n\r\n enabled = this._settingsService.GetSettingEnabled('AdministratorViewClaimMemberPaidDate');\r\n required = this._settingsService.GetSettingRequired('AdministratorViewClaimMemberPaidDate');\r\n\r\n if (enabled == true) {\r\n if (this._claimDetails.datePaid != null && this._claimDetails.datePaid != \"\") {\r\n TestBoolean = true\r\n } else {\r\n TestBoolean = false\r\n if (required == true) {\r\n temparray.push(\"Enter the Claim Payment Date\")\r\n }\r\n\r\n }\r\n }\r\n this._listOfrequirements = temparray\r\n this._testClaimcompleteness = TestBoolean\r\n\r\n if (this._listOfrequirements.length > 0) {\r\n this._testClaimcompleteness = false\r\n }\r\n if (this._invalidProvderidModal == true) {\r\n this._emptyClaimform = false\r\n this.DisplayClaimTable = false\r\n } else {\r\n if (this._testClaimcompleteness == false) {\r\n this._emptyClaimform = true\r\n this.DisplayClaimTable = false\r\n } else {\r\n this.SearchClaim()\r\n }\r\n }\r\n }\r\n\r\n BrokerValidation() {\r\n let temparray = []\r\n let TestBoolean: boolean = true;\r\n let required: boolean;\r\n\r\n required = this._settingsService.GetSettingRequired('BrokerViewClaimMemberNumber');\r\n if (required == true) {\r\n if (this._claimDetails.memberNo == \"\") {\r\n temparray.push(\"Enter a Member Number\");\r\n TestBoolean = false;\r\n }\r\n }\r\n\r\n required = this._settingsService.GetSettingRequired('BrokerViewClaimMemberNumberID');\r\n if (required == true) {\r\n if (this._claimDetails.memberId == \"\") {\r\n temparray.push(\"Enter The Member's ID Number\")\r\n TestBoolean = false;\r\n }\r\n }\r\n\r\n required = this._settingsService.GetSettingRequired('BrokerViewClaimMemberDOB');\r\n if (required == true) {\r\n if (this._claimDetails.memberDOB == null) {\r\n temparray.push(\"Enter the Member's Date Of Birth\")\r\n TestBoolean = false;\r\n }\r\n\r\n }\r\n\r\n required = this._settingsService.GetSettingRequired('BrokerViewClaimMemberServicedate');\r\n if (required == true) {\r\n if (this._claimDetails.serviceDate == \"\") {\r\n temparray.push(\"Enter the Claim Service Date\")\r\n TestBoolean = false;\r\n }\r\n }\r\n\r\n required = this._settingsService.GetSettingRequired('BrokerViewClaimMemberPaiddate');\r\n\r\n if (required == true) {\r\n if (this._claimDetails.datePaid == \"\") {\r\n temparray.push(\"Enter the Claim Payment Date\")\r\n TestBoolean = false;\r\n }\r\n }\r\n\r\n\r\n required = this._settingsService.GetSettingRequired('BrokerViewClaimMemberHealthPlan');\r\n if (required == true) {\r\n if (this._claimDetails.plan == \"\") {\r\n temparray.push(\"Select a Health plan\")\r\n TestBoolean = false;\r\n }\r\n }\r\n\r\n this._listOfrequirements = temparray\r\n this._testClaimcompleteness = TestBoolean\r\n\r\n if (this._listOfrequirements.length > 0) {\r\n this._testClaimcompleteness = false\r\n }\r\n if (this._invalidProvderidModal == true) {\r\n this._emptyClaimform = false\r\n this.DisplayClaimTable = false\r\n } else {\r\n if (this._testClaimcompleteness == false) {\r\n this._emptyClaimform = true\r\n this.DisplayClaimTable = false\r\n } else {\r\n this.SearchClaim()\r\n }\r\n }\r\n }\r\n\r\n RejectClaim(claimToBeRejected: RejectClaimDetailModel) {\r\n\r\n let token = localStorage.getItem(\"jwt\");\r\n this._http.post(this._baseUrl + 'api/Security/RejectClaim', claimToBeRejected,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }\r\n ).subscribe((recievedData) => {\r\n\r\n },\r\n (error) => {\r\n\r\n console.log(error);\r\n if (error.status == '401') {\r\n this._router.navigateByUrl('/login');\r\n }\r\n },\r\n () => {\r\n this._rejectModalShow = false;\r\n this.RefreshTable(claimToBeRejected);\r\n this.GetDetailsOfClaim();\r\n });\r\n }\r\n\r\n RefreshTable(claimToBeRejected: RejectClaimDetailModel) {\r\n\r\n let token = localStorage.getItem(\"jwt\");\r\n\r\n this._http.post(this._baseUrl + 'api/Security/RefreshTabel', claimToBeRejected,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }\r\n ).subscribe((recieved) => {\r\n\r\n\r\n\r\n },\r\n (error) => {\r\n console.log(error);\r\n if (error.status == '401') {\r\n this._router.navigateByUrl('/login');\r\n }\r\n },\r\n () => {\r\n this.ValidateForm();\r\n });\r\n }\r\n\r\n VerifyRejection(claimToVerify: RejectClaimDetailModel) {\r\n\r\n let token = localStorage.getItem(\"jwt\")\r\n\r\n this._http.post(this._baseUrl + 'api/Security/VerifyRejection', claimToVerify,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }\r\n ).subscribe((recievedData: ValidationResultsModel) => {\r\n\r\n if (recievedData.valid === true) {\r\n this._unreverseBtn = true;\r\n } else {\r\n this._unreverseBtn = false;\r\n }\r\n\r\n },\r\n (error) => {\r\n console.log(error);\r\n if (error.status == '401') {\r\n this._router.navigateByUrl('/login');\r\n }\r\n },\r\n () => { this._rejectModalShow = true; });\r\n }\r\n\r\n CheckExistOnWebReverse(x: RejectClaimDetailModel) {\r\n let token = localStorage.getItem(\"jwt\")\r\n let y: boolean = false;\r\n this.LoadingModel = true;\r\n this._http.post(this._baseUrl + 'api/Security/ConfirmReversal', x, {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }\r\n ).subscribe((results: ValidationResultsModel) => {\r\n y = results.valid;\r\n },\r\n (error) => {\r\n console.log(error);\r\n if (error.status == '401') {\r\n this._router.navigateByUrl('/login');\r\n }\r\n },\r\n () => {\r\n this.LoadingModel = false;\r\n return y\r\n }\r\n )\r\n }\r\n\r\n ClaimReversalModel(claim: ClaimHeadersModel) {\r\n this._claimReversalinfo.claimNumber = claim.claimNo;\r\n this._claimReversalinfo.memberNumber = claim.memberNo;\r\n this._claimReversalinfo.healthPlan = claim.plan;\r\n this._claimReversalinfo.serviceDate = claim.serviceDate;\r\n this._claimReversalinfo.recievedDate = claim.receivedDate;\r\n this._claimReversalinfo.chargedAmount = claim.charged;\r\n this._claimReversalinfo.paidDate = claim.datePaid;\r\n let amountTobeReplaced = this._claimReversalinfo.paidDate.match(/-/gi).length;\r\n for (var i = 0; i < amountTobeReplaced; i++) {\r\n this._claimReversalinfo.paidDate = this._claimReversalinfo.paidDate.replace(\"-\", \"/\")\r\n }\r\n this._claimReversalinfo.paidAmount = claim.paid;\r\n this._claimReversalinfo.showClaimModal = true;\r\n }\r\n\r\n CloseClaimReversalModal() {\r\n this._claimReversalinfo.showClaimModal = false\r\n }\r\n\r\n ReverseClaim() {\r\n let token = localStorage.getItem(\"jwt\");\r\n this._busyReverse = true;\r\n this._http.post(this._baseUrl + \"api/Security/ClaimReversal\", {\r\n claimNumber: this._claimReversalinfo.claimNumber\r\n },\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\"\r\n\r\n })\r\n }).subscribe((claimReversal: ClaimReversalModel[]) => {\r\n this._claimReversalinfo.showClaimModal = false;\r\n this.SearchClaim()\r\n })\r\n }\r\n\r\n CloseClaimDetail() {\r\n this._showClaimdetail = false\r\n this._rejectionReasons = [];\r\n this._hasRejections = false;\r\n }\r\n\r\n ShowRejectionReason(selectedClaim: number) {\r\n let RjectionOfClaim = this._selectedClaimadjust.filter(x => selectedClaim.toString() == x.claimtblrow)\r\n this._rejectionReasons = RjectionOfClaim\r\n this._hasRejections = true\r\n\r\n }\r\n\r\n ClaimDownloadModel(selectedclaimnumber: string, paiddate: string) {\r\n this._claimNumber = selectedclaimnumber;\r\n this._claimpaidDate = paiddate;\r\n this._downloadClaimclicked = true;\r\n }\r\n\r\n DownloadClaimRemit(file: boolean) {\r\n this._selectedRemittance.file = file;\r\n this._downloadClaimclicked = false;\r\n this._remittancedownloadmodal = true;\r\n let token = localStorage.getItem(\"jwt\");\r\n this._http.post(this._baseUrl + \"api/Security/DownloadClaimRemitance\", {\r\n Username: this._loginService.CurrentLoggedInUser.username,\r\n File: this._selectedRemittance.file,\r\n ClaimNumber: this._claimNumber,\r\n UserType: this._loginService.CurrentLoggedInUser.userType,\r\n PaidDate: this._claimpaidDate\r\n\r\n },\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }, ).subscribe(\r\n (specificremittance: ReturnedFileInformationModel) => {\r\n\r\n this._parseddate = specificremittance.parsedDate\r\n this._filename = specificremittance.fileName;\r\n\r\n //this._filesource = './../../PamcPortal/assets/Remittances/' + this._parseddate + '/' + this._filename;\r\n //this._filesource = './../../../assets/Remittances/' + this._parseddate + '/' + this._filename;\r\n\r\n var a = document.createElement('a');\r\n a.target = '_blank';\r\n a.setAttribute('type', 'hidden');\r\n //a.href = this._filesource\r\n a.href = 'assets/Remittances/' + this._parseddate + '/' + this._filename;\r\n a.download = this._filename;\r\n document.body.appendChild(a);\r\n a.click();\r\n a.remove();\r\n\r\n this._remittancedownloadmodal = false\r\n },\r\n (error) => {\r\n console.log(error)\r\n this._remittancedownloadmodal = false;\r\n this._errorRemittance = true;\r\n })\r\n\r\n }\r\n\r\n ProviderRemittanceModal(paidDate: Date, net: any, provId: string, prefix: number) {\r\n this._selectedProviderremittance.datepaid = paidDate;\r\n this._selectedProviderremittance.net = net.toLocaleString('en-US', { minimumFractionDigits: 2 });\r\n this._selectedProviderremittance.provid = provId\r\n this._selectedProviderremittance.chprefix = prefix\r\n this.DetailedProviderRemittancInformation();\r\n this._providerDetailedremittanceModal = true;\r\n\r\n\r\n }\r\n\r\n ProviderRemittanceDownload(paidDate: Date, net: any, provId: string, prefix: number, file: boolean) {\r\n this._selectedProviderremittance.datepaid = paidDate;\r\n this._selectedProviderremittance.net = net.toLocaleString('en-US', { minimumFractionDigits: 2 });\r\n this._selectedProviderremittance.provid = provId\r\n this._selectedProviderremittance.chprefix = prefix\r\n this.DetailedProviderRemittancInformationToDownload(provId, paidDate,file);\r\n\r\n\r\n\r\n }\r\n\r\n\r\n DetailedProviderRemittancInformation() {\r\n\r\n let token = localStorage.getItem(\"jwt\");\r\n this._http.post(this._baseUrl + \"api/Security/DetailedProviderRemittances\", {\r\n provID: this._selectedProviderremittance.provid,\r\n transactionDate: this._selectedProviderremittance.datepaid,\r\n chprefix: this._selectedProviderremittance.chprefix,\r\n loginProvId: this._loginService.CurrentLoggedInUser.provID\r\n\r\n },\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }).subscribe((returneddetailremittance: ProviderDetailedRemittanceModel[]) => {\r\n this._detailedProviderremittances = returneddetailremittance\r\n });\r\n }\r\n\r\n DetailedProviderRemittancInformationToDownload(pracnum: string, paiddate: Date, file: boolean) {\r\n\r\n let token = localStorage.getItem(\"jwt\");\r\n this._http.post(this._baseUrl + \"api/Security/DetailedProviderRemittances\", {\r\n ProvID: this._loginService.CurrentLoggedInUser.provID,\r\n TransactionDate: this._selectedProviderremittance.datepaid,\r\n CHPREFIX: this._selectedProviderremittance.chprefix\r\n\r\n },\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }).subscribe((returneddetailremittance: ProviderDetailedRemittanceModel[]) => {\r\n this._detailedProviderremittancesDownload = returneddetailremittance\r\n },\r\n (error) => {\r\n console.log(error);\r\n },\r\n () => {\r\n this.ProviderDownloadRemittanceClaim(pracnum, paiddate, file);\r\n });\r\n }\r\n\r\n OpenRemittanceModal(paidDate: Date, Totalamount: any, Totalpaymentsmade: number) {\r\n this._detailedRemittancemodal = true;\r\n this._selectedRemittance.datepaid = paidDate;\r\n this._selectedRemittance.amount = Totalamount.toLocaleString('en-US', { minimumFractionDigits: 2 });\r\n this._selectedRemittance.vendorid = Totalpaymentsmade\r\n this.DetailedRemittancInformation();\r\n\r\n }\r\n DetailedRemittancInformation() {\r\n\r\n let token = localStorage.getItem(\"jwt\");\r\n\r\n this._http.post(this._baseUrl + \"api/Security/DetailedRemittances\", {\r\n Username: this._loginService.CurrentLoggedInUser.username,\r\n TransactionDate: this._selectedRemittance.datepaid,\r\n bureauId: this._loginService.CurrentLoggedInUser.bureauId\r\n\r\n },\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }).subscribe((returneddetailremittance: AccountingBureauDetailedRemittancesModel[]) => {\r\n this._detailedremittance = returneddetailremittance\r\n this._detailedremittance.forEach(el => {\r\n this._stringamount = el.amount.toLocaleString('en-US', { minimumFractionDigits: 2 })\r\n });\r\n });\r\n }\r\n ProviderDownloadRemittance(prefix: number,pracnum: string, paiddate: Date, file: boolean) {\r\n this._remittancedownloadmodal = true;\r\n this._selectedProviderremittance.provid = pracnum\r\n this._selectedProviderremittance.datepaid = paiddate\r\n this._selectedProviderremittance.file = file\r\n this._selectedProviderremittance.chprefix = prefix\r\n\r\n let token = localStorage.getItem(\"jwt\")\r\n\r\n this._http.post(this._baseUrl + \"api/Security/DownloadProviderRemitance\", {\r\n File: this._selectedProviderremittance.file,\r\n PaidDate: this._selectedProviderremittance.datepaid,\r\n Username: this._loginService.CurrentLoggedInUser.username,\r\n ProvID: this._selectedProviderremittance.provid,\r\n BureauID: this._loginService.CurrentLoggedInUser.bureauId,\r\n prefix: this._selectedProviderremittance.chprefix,\r\n loginProvId: this._loginService.CurrentLoggedInUser.provID\r\n\r\n },\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }).subscribe((downloadremittancestatus: ReturnedFileInformationModel) => {\r\n // console.log(\"Returned Information:\", downloadremittancestatus)\r\n this._parseddate = downloadremittancestatus.parsedDate\r\n // console.log(\"Folder:\", this._parseddate)\r\n this._filename = downloadremittancestatus.fileName\r\n // console.log(\"File:\", this._filename)\r\n //this._filesource = '../../PamcPortal/assets/Remittances/' + this._parseddate + '/' + this._filename\r\n this._filesource = 'assets/Remittances/' + this._parseddate + '/' + this._filename\r\n //console.log('ProviderDownloadRemittance');\r\n //console.log(this._filesource);\r\n\r\n\r\n var a = document.createElement('a');\r\n a.target = '_blank';\r\n a.setAttribute('type', 'hidden');\r\n a.href = this._filesource;\r\n a.download = this._filename;\r\n document.body.appendChild(a);\r\n a.click();\r\n a.remove();\r\n //console.log(a)\r\n\r\n //console.log(this._filesource);\r\n //console.log(this._filename);\r\n //console.log(this._parseddate);\r\n\r\n this._remittancedownloadmodal = false\r\n },\r\n (error) => {\r\n console.log(error)\r\n this._remittancedownloadmodal = false;\r\n this._errorRemittance = true;\r\n });\r\n }\r\n\r\n ProviderDownloadRemittanceClaim(pracnum: string, paiddate: Date, file: boolean) {\r\n\r\n this._detailedProviderremittancesDownload.forEach((el) => {\r\n \r\n this._remittancedownloadmodal = true;\r\n this._selectedProviderremittance.provid = pracnum\r\n this._selectedProviderremittance.datepaid = paiddate\r\n this._selectedProviderremittance.file = file\r\n this._selectedProviderremittance.claim = el.claimno;\r\n let token = localStorage.getItem(\"jwt\")\r\n\r\n this._http.post(this._baseUrl + \"api/Security/DownloadProviderRemitance\", {\r\n File: this._selectedProviderremittance.file,\r\n PaidDate: this._selectedProviderremittance.datepaid,\r\n Username: this._loginService.CurrentLoggedInUser.username,\r\n ProvID: this._selectedProviderremittance.provid,\r\n BureauID: this._loginService.CurrentLoggedInUser.bureauId,\r\n claim: this._selectedProviderremittance.claim\r\n\r\n\r\n },\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }).subscribe((downloadremittancestatus: ReturnedFileInformationModel) => {\r\n // console.log(\"Returned Information:\", downloadremittancestatus)\r\n this._parseddate = downloadremittancestatus.parsedDate\r\n // console.log(\"Folder:\", this._parseddate)\r\n this._filename = downloadremittancestatus.fileName\r\n // console.log(\"File:\", this._filename)\r\n //this._filesource = '../../PamcPortal/assets/Remittances/' + this._parseddate + '/' + this._filename\r\n this._filesource = 'assets/Remittances/' + this._parseddate + '/' + this._filename\r\n //console.log('ProviderDownloadRemittanceClaim');\r\n //console.log(this._filesource);\r\n\r\n var a = document.createElement('a');\r\n a.target = '_blank';\r\n a.setAttribute('type', 'hidden');\r\n a.href = this._filesource\r\n a.download = this._filename;\r\n document.body.appendChild(a);\r\n a.click();\r\n a.remove();\r\n //console.log(a)\r\n\r\n\r\n this._remittancedownloadmodal = false\r\n\r\n\r\n },\r\n (error) => {\r\n console.log(error)\r\n this._remittancedownloadmodal = false;\r\n this._errorRemittance = true;\r\n });\r\n });\r\n\r\n\r\n\r\n }\r\n\r\n\r\n DownloadRemittance(paiddate: Date, file: boolean) {\r\n\r\n let token = localStorage.getItem(\"jwt\");\r\n this._remittancedownloadmodal = true;\r\n this._selectedRemittance.datepaid = paiddate\r\n this._selectedRemittance.file = file\r\n this._http.post(this._baseUrl + \"api/Security/DownloadRemitance\", {\r\n PaidDate: this._selectedRemittance.datepaid,\r\n Username: this._loginService.CurrentLoggedInUser.username,\r\n BureauID: parseInt( this._loginService.CurrentLoggedInUser.bureauId),\r\n File: this._selectedRemittance.file\r\n\r\n },\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }).subscribe((downloadremittancestatus: ReturnedFileInformationModel) => {\r\n this._parseddate = downloadremittancestatus.parsedDate;\r\n this._filename = downloadremittancestatus.fileName;\r\n\r\n //this._filesource = './../../PamcPortal/assets/Remittances/' + this._parseddate + '/' + this._filename\r\n this._filesource = 'assets/Remittances/' + this._parseddate + '/' + this._filename;\r\n //console.log('DownloadRemittance');\r\n //console.log(this._filesource);\r\n \r\n var a = document.createElement('a');\r\n a.target = '_blank';\r\n a.setAttribute('type', 'hidden');\r\n a.href = this._filesource\r\n a.download = this._filename;\r\n document.body.appendChild(a);\r\n a.click();\r\n a.remove();\r\n this._remittancedownloadmodal = false\r\n\r\n\r\n },\r\n (error) => {\r\n this._remittancedownloadmodal = false;\r\n this._errorRemittance = true;\r\n console.log(error);\r\n });\r\n }\r\n\r\n GetSpecCodes() {\r\n this._busy = true;\r\n let token = localStorage.getItem(\"jwt\");\r\n this._http.get(this._baseUrl + 'api/Benefit/GetSPecCodes',\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }).subscribe((result: SpecCodes[]) => {\r\n this.specList = [];\r\n result.forEach((el) => {\r\n this.specList.push(el);\r\n });\r\n },\r\n (error) => { console.log(error) },\r\n () => {\r\n this._busy = false;\r\n this.GetBenTrackCodes();\r\n })\r\n }\r\n\r\n SubmitBenSpec(item: Specmasters) {\r\n this._busy = true;\r\n let token = localStorage.getItem(\"jwt\");\r\n this._http.post(this._baseUrl + 'api/Benefit/InsuranceMasterSubmit', item,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }).subscribe((result: Specmasters) => {\r\n this._specList.forEach((el) => {\r\n if (el.selected == true) {\r\n el.id = result.id;\r\n el.phcode = item.phcode;\r\n\r\n el.user = this._loginService.CurrentLoggedInUser.username;\r\n } else {\r\n el.id = 0;\r\n }\r\n })\r\n },\r\n (error) => { console.log(error) },\r\n () => {\r\n this.SubmitBenSpecList();\r\n this._busy = false;\r\n });\r\n }\r\n\r\n UpdateBenSpec(item: Specmasters) {\r\n this._busy = true;\r\n let token = localStorage.getItem(\"jwt\");\r\n this._http.post(this._baseUrl + 'api/Benefit/InsuranceMasterUpdate', item,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }).subscribe((result: Specmasters) => {\r\n this._specList.forEach((el) => {\r\n el.id = 0;\r\n if (el.selected == true) {\r\n el.id = item.id;\r\n el.user = this._loginService.CurrentLoggedInUser.username;\r\n el.phcode = item.phcode;\r\n }\r\n })\r\n },\r\n (error) => { console.log(error) },\r\n () => {\r\n this.UpdateBenSpecList();\r\n this._busy = false;\r\n });\r\n }\r\n\r\n DeleteBenSpec(item: Specmasters) {\r\n this._busy = true;\r\n let token = localStorage.getItem(\"jwt\");\r\n this._http.post(this._baseUrl + 'api/Benefit/InsuranceMasterDelete', item,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }).subscribe((result: Specmasters) => {\r\n },\r\n (error) => { console.log(error) },\r\n () => {\r\n this.DeleteBenSpecList(item);\r\n this.GetExistingBenefits();\r\n this._busy = false;\r\n });\r\n }\r\n\r\n DeleteBenSpecList(item: Specmasters) {\r\n this._busy = true;\r\n let token = localStorage.getItem(\"jwt\");\r\n this._http.post(this._baseUrl + 'api/Benefit/InsuranceDetailDelete', item,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }).subscribe((result: ValidationResultsModel) => {\r\n\r\n },\r\n (error) => { console.log(error) },\r\n () => {\r\n this._busy = false;\r\n this.GetExistingBenefits();\r\n });\r\n }\r\n\r\n UpdateBenSpecList() {\r\n this._busy = true;\r\n let token = localStorage.getItem(\"jwt\");\r\n this._http.post(this._baseUrl + 'api/Benefit/InsuranceDetailUpdate', this.specList,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }).subscribe((result: ValidationResultsModel) => {\r\n\r\n },\r\n (error) => { console.log(error) },\r\n () => {\r\n this._busy = false;\r\n this.GetExistingBenefits();\r\n });\r\n }\r\n\r\n SubmitBenSpecList() {\r\n let token = localStorage.getItem(\"jwt\");\r\n this._busy = true;\r\n this._http.post(this._baseUrl + 'api/Benefit/InsuranceDetailSubmit', this.specList,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }).subscribe((result: ValidationResultsModel) => {\r\n\r\n },\r\n (error) => { console.log(error) },\r\n () => {\r\n this._busy = false;\r\n this.GetExistingBenefits();\r\n });\r\n }\r\n\r\n GetExistingBenefits() {\r\n this._busy = true;\r\n let token = localStorage.getItem(\"jwt\");\r\n this._http.post(this._baseUrl + 'api/Benefit/GetExistingBef', this._loginService.CurrentLoggedInUser,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }\r\n ).subscribe((results: Specmasters[]) => {\r\n this.existingBen = [];\r\n results.forEach((el) => {\r\n this.existingBen.push(el);\r\n })\r\n },\r\n (error) => { console.log(error) },\r\n () => {\r\n this._busy = false;\r\n })\r\n }\r\n\r\n GetBenTrackCodes() {\r\n this._busy = true;\r\n let token = localStorage.getItem('jwt');\r\n this.bencodes = [];\r\n this._http.get(this._baseUrl + 'api/Benefit/GetBenTypeCodes',\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }).subscribe((results: BenTrackCodes[]) => {\r\n results.forEach((el) => {\r\n this.bencodes.push(el);\r\n })\r\n },\r\n (error) => {\r\n console.log(error)\r\n },\r\n () => { this._busy = false; })\r\n }\r\n\r\n GetDetailsBen(data: Specmasters) {\r\n this._busy = true;\r\n let token = localStorage.getItem(\"jwt\");\r\n this._http.post(this._baseUrl + 'api/Security/GetDetailBen', data,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }\r\n ).subscribe((results: SpecCodes[]) => {\r\n this.selectedList = [];\r\n this.selectedSpecs = [];\r\n results.forEach((el) => {\r\n if (el.code.length == 1) {\r\n el.code = \"0\" + el.code;\r\n }\r\n // console.log(this._specList);\r\n this._specList.forEach((e) => {\r\n if (el.code == e.code) {\r\n e.selected = true;\r\n e.benCode = el.benCode;\r\n e.procCode = el.procCode;\r\n this.selectedList.push(e);\r\n this.selectedSpecs.push(e);\r\n }\r\n if ((el.code == '14') && (e.code == '15')) {\r\n e.selected = true;\r\n // this.selectedList.push(e);\r\n //this.selectedSpecs.push(e);\r\n }\r\n if ((el.code == '15') && (e.code == '14')) {\r\n e.selected = true;\r\n // this.selectedList.push(e);\r\n // this.selectedSpecs.push(e);\r\n }\r\n })\r\n })\r\n },\r\n (error) => { console.log(error); },\r\n () => { this._busy = false; })\r\n }\r\n\r\n\r\n ValidateProcCode(data: SpecCodes) {\r\n this._busy = true;\r\n let token = localStorage.getItem(\"jwt\");\r\n this._http.post(this._baseUrl + 'api/Benefit/ValidateProcCode',\r\n data, {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }\r\n ).subscribe((result: ValidationResultsModel) => {\r\n this._procerror = result.valid;\r\n },\r\n (error) => { console.log(error) },\r\n () => {\r\n this._busy = false;\r\n });\r\n }\r\n\r\n GetFaqs(data: Faq) {\r\n\r\n this.busy = true;\r\n\r\n this._http.post(this._baseUrl + 'api/Security/GetFaqs', data\r\n ).subscribe((result: Faq[]) => {\r\n this.faqList = [];\r\n this.faqList = result;\r\n },\r\n (error) => {\r\n console.log(error);\r\n },\r\n () => {\r\n this.busy = false;\r\n this.openFaq = true;\r\n\r\n });\r\n\r\n }\r\n\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { SettingsModel } from '../models/SettingsModel';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { HeaderModel } from '../models/HeadersModel';\r\nimport { EmailsModel } from '../models/EmailsModel';\r\nimport { Router } from '@angular/router';\r\nimport { ExeptionSettings } from '../models/exeption-settings';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SettingsService {\r\n\r\n public busy: boolean = false;\r\n private _settings: SettingsModel[] = [];\r\n private _expSettings: ExeptionSettings[] = [];\r\n private _selectedSetting: SettingsModel = new SettingsModel;\r\n private _brands: HeaderModel = new HeaderModel();\r\n private _emails: EmailsModel = new EmailsModel();\r\n private _ProvIDAmount: number;\r\n public _headerAlert: boolean = false;\r\n public _headerInfo: string = '';\r\n private _provSpecs: string[] = [];\r\n public get provSpecs(): string[] {\r\n return this._provSpecs;\r\n }\r\n public set provSpecs(value: string[]) {\r\n this._provSpecs = value;\r\n }\r\n private _provContract: string;\r\n public get provContract(): string {\r\n return this._provContract;\r\n }\r\n public set provContract(value: string) {\r\n this._provContract = value;\r\n }\r\n private _surveyLink: string = \"\";\r\n private _showSurvey: boolean = false;\r\n public get showSurvey(): boolean {\r\n return this._showSurvey;\r\n }\r\n public set showSurvey(value: boolean) {\r\n this._showSurvey = value;\r\n }\r\n public get surveyLink(): string {\r\n return this._surveyLink;\r\n }\r\n public set surveyLink(value: string) {\r\n this._surveyLink = value;\r\n }\r\n\r\n\r\n /*Will be used when a subscribe runs into a error*/\r\n private _subscribeError: boolean = false;\r\n\r\n\r\n\r\n //Below variable that will show the logged in user the DRC contact details\r\n private _drcContactDetails: boolean = false;\r\n\r\n //Variable that will show the logged in user the PAMC contact details\r\n private _pamcContactDetails: boolean = false;\r\n\r\n //Variable that will show the logged in user the All details\r\n private _allContactDetails: boolean = false\r\n\r\n /*Will be used to load the images on the dashboard*/\r\n //Objects that holds all the properties for the images\r\n\r\n\r\n constructor(private http: HttpClient, private _router: Router, @Inject('BASE_URL') public baseUrl: string) {\r\n\r\n }\r\n\r\n /*Loads all the setting by doing a web call to the configuartion controller\r\n Loops through the recieved setting getting specific settings in variables.*/\r\n private _token: string;\r\n public get token(): string {\r\n return this._token;\r\n }\r\n public set token(value: string) {\r\n this._token = value;\r\n }\r\n public get expSettings(): ExeptionSettings[] {\r\n return this._expSettings;\r\n }\r\n public set expSettings(value: ExeptionSettings[]) {\r\n this._expSettings = value;\r\n }\r\n\r\n public LoadSettings() {\r\n this.busy = true;\r\n this._token = localStorage.getItem(\"jwt\");\r\n this.http.get(this.baseUrl + \"api/configuration/getSettings\", {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this._token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }).subscribe(\r\n (RecievedSettings: SettingsModel[]) => {\r\n this._settings = RecievedSettings;\r\n this._settings.forEach(el => {\r\n if ((el.settingsId == \"profTitle\")) {\r\n this._brands.provider = el.description\r\n }\r\n if ((el.settingsId == \"notLogin\")) {\r\n this._brands.default = el.description\r\n }\r\n\r\n if ((el.settingsId == \"accTitle\")) {\r\n this._brands.accountingBureau = el.description\r\n }\r\n\r\n if (el.settingsId == \"adminTitle\") {\r\n this._brands.admin = el.description\r\n }\r\n if (el.settingsId == \"administratorTitle\") {\r\n this._brands.administrators = el.description\r\n }\r\n\r\n if (el.settingsId == \"membTitle\") {\r\n this._brands.member = el.description\r\n }\r\n if (el.settingsId == \"ShowSurveyForProviders\") {\r\n this._showSurvey = el.enabled;\r\n }\r\n if (el.settingsId == \"SurveyLinkForProviders\") {\r\n this._surveyLink = el.description\r\n //console.log(\"LINK: \"+this._surveyLink);\r\n }\r\n if (el.settingsId == \"BrokerTitle\") {\r\n this._brands.broker = el.description\r\n }\r\n\r\n if (el.settingsId == \"accReg\") {\r\n this.Emails.bureauRegistration = el.description\r\n }\r\n if (el.settingsId == \"AllowedProvSpecs\") {\r\n this.provSpecs = el.description.split(',');\r\n }\r\n if (el.settingsId == \"AllowedProvContracts\") {\r\n this.provContract = el.description;\r\n }\r\n if (el.settingsId == \"HeaderAlert\") {\r\n this._headerAlert = el.enabled;\r\n this._headerInfo = el.description;\r\n }\r\n });\r\n }\r\n , (error) => {\r\n this._subscribeError = true;\r\n\r\n this.busy = false;\r\n },\r\n () => {\r\n this.busy = false;\r\n this.LoadProvExeptionSettings();\r\n }\r\n );\r\n\r\n }\r\n\r\n public LoadProvExeptionSettings() {\r\n this.busy = true;\r\n this._token = localStorage.getItem(\"jwt\");\r\n this.http.get(this.baseUrl + \"api/configuration/getProvExeptionSettings\", {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + this._token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }).subscribe(\r\n (RecievedSettings: ExeptionSettings[]) => {\r\n this._expSettings = RecievedSettings;\r\n }\r\n , (error) => {\r\n this._subscribeError = true;\r\n this.busy = false;\r\n\r\n },\r\n () => {\r\n this.busy = false;\r\n }\r\n );\r\n }\r\n\r\n //Gets all enabled settings: determines what needs to show or hide\r\n GetSettingEnabled(settingName: string) {\r\n let foundSettings = this._settings.filter(function (el) {\r\n return el.settingsId == settingName;\r\n })\r\n if (foundSettings.length == 1) {\r\n return foundSettings[0].enabled\r\n }\r\n\r\n return false;\r\n }\r\n\r\n //Checks whether a setting is required or not\r\n GetSettingRequired(settingId: string) {\r\n let foundSettings = this._settings.filter(function (el) {\r\n return el.settingsId == settingId;\r\n })\r\n if (foundSettings.length == 1) {\r\n return foundSettings[0].required\r\n }\r\n\r\n return false;\r\n }\r\n\r\n //Returns a description of specific setting\r\n GetSettingsDesc(settingsId: string) {\r\n let foundSettings = this._settings.filter(function (el) {\r\n return el.settingsId == settingsId;\r\n })\r\n if (foundSettings.length == 1) {\r\n return foundSettings[0].description\r\n }\r\n }\r\n\r\n //Will get all needed settings for the dashboards\r\n GetSettingsDashboard(settingId: string) {\r\n let foundSetting = this._settings.filter(function (el) {\r\n return el.settingsId == settingId\r\n })\r\n if (foundSetting.length == 1) {\r\n return foundSetting[0].description\r\n }\r\n }\r\n\r\n get ShowaccEmail(): boolean {\r\n let email = this._settings.filter(function (el) {\r\n return el.settingsId == \"accEmail\"\r\n })\r\n if (email.length == 1) {\r\n return email[0].enabled\r\n }\r\n return false;\r\n }\r\n\r\n get ShowaccaccPass(): boolean {\r\n let email = this._settings.filter(function (el) {\r\n return el.settingsId == \"accPass\"\r\n })\r\n if (email.length == 1) {\r\n return email[0].enabled\r\n }\r\n return false;\r\n }\r\n\r\n get accPrac(): boolean {\r\n let email = this._settings.filter(function (el) {\r\n return el.settingsId == \"accPrac\"\r\n })\r\n if (email.length == 1) {\r\n return email[0].enabled\r\n }\r\n return false;\r\n }\r\n\r\n get RegisterationTitle(): string {\r\n let desc = this._settings.filter(function (el) {\r\n return el.settingsId == \"regTitle\"\r\n })\r\n if (desc.length == 1) {\r\n return desc[0].description\r\n }\r\n }\r\n\r\n get ProvIDThreash(): boolean {\r\n let ProvIDThreash = this._settings.filter(function (el) {\r\n return el.settingsId == \"ProvIDThreash\"\r\n })\r\n if (ProvIDThreash.length == 1) {\r\n return ProvIDThreash[0].enabled\r\n }\r\n return false;\r\n }\r\n\r\n get ProvIDThreashDesc(): number {\r\n let ProvIDThreash = this._settings.filter(function (el) {\r\n return el.settingsId == \"ProvIDThreash\"\r\n })\r\n if (ProvIDThreash.length == 1) {\r\n return +ProvIDThreash[0].description\r\n }\r\n }\r\n\r\n get CheckRequiredProvIDThreash(): boolean {\r\n let CheckRequiredProvIDThreash = this._settings.filter(function (el) {\r\n return el.settingsId == \"ProvIDThreash\"\r\n })\r\n if (CheckRequiredProvIDThreash.length == 1) {\r\n return CheckRequiredProvIDThreash[0].required\r\n }\r\n return false;\r\n }\r\n\r\n get BureauRegisterationDisclaimer(): string {\r\n let disclaimer = this._settings.filter(function (el) {\r\n return el.settingsId == \"BureauRegisterationDisclaimer\"\r\n })\r\n if (disclaimer.length == 1) {\r\n return disclaimer[0].description\r\n }\r\n }\r\n\r\n get RegistrationDescription(): string {\r\n let desc = this._settings.filter(function (el) {\r\n return el.settingsId == \"regdesc\"\r\n })\r\n if (desc.length == 1) {\r\n return desc[0].description\r\n }\r\n }\r\n\r\n get ShowBureauRegistrationName(): boolean {\r\n let name = this._settings.filter(function (el) {\r\n return el.settingsId == \"accName\"\r\n })\r\n if (name.length == 1) {\r\n return name[0].enabled\r\n }\r\n return false\r\n }\r\n\r\n get ShowBureauRegistrationEmail(): boolean {\r\n let email = this._settings.filter(function (el) {\r\n return el.settingsId == \"accEmail\"\r\n })\r\n if (email.length == 1) {\r\n return email[0].enabled\r\n }\r\n return false;\r\n }\r\n\r\n get RegistrationHelpHeader(): string {\r\n let desc = this._settings.filter(function (el) {\r\n return el.settingsId == \"accHelp(H)\"\r\n })\r\n if (desc.length == 1) {\r\n return desc[0].description\r\n }\r\n }\r\n\r\n get RegistrationHelpBody(): string {\r\n let desc = this._settings.filter(function (el) {\r\n return el.settingsId == \"accHelp(B)\"\r\n })\r\n if (desc.length == 1) {\r\n return desc[0].description\r\n }\r\n }\r\n\r\n get PracticeNumberHead(): string {\r\n let desc = this._settings.filter(function (el) {\r\n return el.settingsId == \"pracNum(H)\"\r\n })\r\n if (desc.length == 1) {\r\n return desc[0].description\r\n }\r\n }\r\n\r\n get PracticeNumberBody(): string {\r\n let desc = this._settings.filter(function (el) {\r\n return el.settingsId == \"pracNum(B)\"\r\n })\r\n if (desc.length == 1) {\r\n return desc[0].description\r\n }\r\n }\r\n\r\n\r\n\r\n\r\n\r\n //Exposing Private variables\r\n\r\n /*Exposing the Emails so that It can be accessed in the security service*/\r\n get Emails(): EmailsModel {\r\n return this._emails;\r\n }\r\n\r\n /*Exposing the _ProvIDAmount to be used in the security controller*/\r\n get ProvAmount(): number {\r\n return this._ProvIDAmount;\r\n }\r\n\r\n /*Making the _ProvIDAmount a set aswell so that the value can be modified in the security controller */\r\n set ProvAmount(val) {\r\n this._ProvIDAmount = val;\r\n }\r\n\r\n /*Exposing the Program Title when a User is not logged in*/\r\n get NotLoggedInTitle() {\r\n return this._brands.default;\r\n }\r\n\r\n /*Exposing the page title when a bureau logs in*/\r\n get BureauTitle() {\r\n return this._brands.accountingBureau;\r\n\r\n }\r\n\r\n /*Exposing the admin page title*/\r\n get AdminTitle() {\r\n return this._brands.admin\r\n }\r\n\r\n /*Exposing the Provider Title*/\r\n get ProviderTitle() {\r\n return this._brands.provider;\r\n }\r\n\r\n /*Exposing the Administrator page title*/\r\n get AdministratorTitle() {\r\n return this._brands.administrators\r\n }\r\n\r\n /*Exposing the Member page title*/\r\n get MemberTitle() {\r\n return this._brands.member\r\n }\r\n\r\n /*Exposing the Broker title*/\r\n get BrokeTitle() {\r\n return this._brands.broker\r\n }\r\n\r\n /*Returning the the error if setting cant load*/\r\n get SettingsError() {\r\n return this._subscribeError;\r\n }\r\n\r\n //Exposing the DRC contact details\r\n get DRCDetails() {\r\n return this._drcContactDetails\r\n }\r\n set DRCDetails(isValid) {\r\n this._drcContactDetails = isValid\r\n }\r\n\r\n //Exposing PAMC contact details\r\n get PAMCDetails() {\r\n return this._pamcContactDetails\r\n }\r\n set PAMCDetails(isValid) {\r\n this._pamcContactDetails = isValid\r\n }\r\n\r\n //Exposing All contact details\r\n get AllDetails() {\r\n return this._allContactDetails\r\n }\r\n set AllDetails(isValid) {\r\n this._allContactDetails = isValid\r\n\r\n }\r\n\r\n\r\n //Exposing all recieved settings\r\n get Settings() {\r\n return this._settings;\r\n }\r\n\r\n //exposing the selected settings\r\n get SelectedSetting() {\r\n return this._selectedSetting;\r\n }\r\n set SelectedSetting(val: SettingsModel) {\r\n this._selectedSetting = val;\r\n }\r\n\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { SettingsService } from './settings.service';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { AuthFiles } from '../models/auth-files';\r\nimport { ValidationResultsModel } from '../models/ValidationResultsModel';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class FileuploadService {\r\n\r\n public _valid: boolean = false;\r\n public _busy: boolean = false;\r\n public _popUp: boolean = false;\r\n public _success: boolean = false;\r\n public files: FormData = new FormData();\r\n public _totalSize: string;\r\n\r\n constructor(private _router: Router, private _http: HttpClient, @Inject('BASE_URL') public _baseUrl: string, private _settingsService: SettingsService) { }\r\n\r\n\r\n SendFiles(files: FormData) {\r\n let token = localStorage.getItem('jwt');\r\n this._busy = true;\r\n this._http.post(this._baseUrl + 'api/Authorization/SendAuthFiles', files,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + token,\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }\r\n\r\n ).subscribe((returned) => {\r\n\r\n\r\n },\r\n (error) => {\r\n console.log(error);\r\n this._busy = false;\r\n this._popUp = true;\r\n },\r\n () => {\r\n this._busy = false;\r\n this._success = true;\r\n })\r\n }\r\n\r\n ValidateUser(data: AuthFiles) {\r\n this._busy = true;\r\n let token = localStorage.getItem('jwt');\r\n this._http.post(this._baseUrl + 'api/Authorization/ValidateUser', data, {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }).subscribe((results: ValidationResultsModel) => {\r\n this._valid = results.valid;\r\n },\r\n (error) =>\r\n { \r\n console.log(error);\r\n this._busy = false;\r\n this._popUp = true; \r\n },\r\n () => {\r\n if (this._valid) {\r\n this.SendFiles(this.files);\r\n } else {\r\n this._busy = false;\r\n this._popUp = true; \r\n }\r\n })\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { FormControl, AbstractControl, ValidatorFn, ValidationErrors } from '@angular/forms';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ValidationService {\r\n\r\n constructor() { }\r\n\r\n onlyDecimalInput(e, input) {\r\n\r\n // Allow copy cut paste (the angular or custom validator will then display a message if pasted value is invalid)\r\n if ((e.ctrlKey || e.metaKey) && (e.keyCode == 67 || e.keyCode == 86 || e.keyCode == 88)) {\r\n return;\r\n }\r\n\r\n // Array of allowed keys\r\n const allowedKeys = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', ',', '.', 'Backspace', 'ArrowRight', 'ArrowLeft', 'Delete', 'Tab', 'Control', 'Shift'];\r\n\r\n // Only proceed if key is allowed \r\n if (allowedKeys.indexOf(e.key) > -1) {\r\n\r\n //Change comma to dot and only one dot is allowed\r\n if (e.key == \",\" || e.key == \".\") {\r\n if (input.value.indexOf(\".\") > -1) {\r\n e.preventDefault(); // Do not allow key - only one dot is allowed\r\n }\r\n else {\r\n e.preventDefault(); // Do not allow key - we will maullay add a dot\r\n input.value += \".\";\r\n }\r\n }\r\n }\r\n else {\r\n e.preventDefault(); // Do not allow key\r\n }\r\n\r\n return;\r\n }\r\n\r\n onlyDecimalInputTwoDecimalPlaces(e, input) {\r\n\r\n // Allow copy cut paste (the angular or custom validator will then display a message if pasted value is invalid)\r\n if ((e.ctrlKey || e.metaKey) && (e.keyCode == 67 || e.keyCode == 86 || e.keyCode == 88)) {\r\n return;\r\n }\r\n\r\n // Array of allowed keys\r\n const allowedKeys = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '.', 'Backspace', 'ArrowRight', 'ArrowLeft', 'Delete', 'Tab', 'Control', 'Shift'];\r\n\r\n // Only proceed if key is allowed \r\n if (allowedKeys.indexOf(e.key) > -1) {\r\n\r\n // Only allow two decimals after the dot\r\n if (e.key == 0 || e.key == 1 || e.key == 2 || e.key == 3 || e.key == 4 || e.key == 5 || e.key == 6 || e.key == 7 || e.key == 8 || e.key == 9) {\r\n if (input.value.indexOf(\".\") > -1 && input.value.length - input.value.indexOf(\".\") >= 3) {\r\n e.preventDefault();\r\n }\r\n }\r\n\r\n //Only one dot is allowed\r\n if (e.key == \".\") {\r\n if (input.value.indexOf(\".\") > -1) {\r\n e.preventDefault(); // Do not allow key - only one dot is allowed\r\n } \r\n }\r\n\r\n }\r\n else {\r\n e.preventDefault(); // Do not allow key\r\n }\r\n\r\n return;\r\n }\r\n\r\n onlyIntInput(e, input) {\r\n\r\n // Allow copy cut paste (the angular or custom validator will then display a message if pasted value is invalid)\r\n if ((e.ctrlKey || e.metaKey) && (e.keyCode == 67 || e.keyCode == 86 || e.keyCode == 88)) {\r\n return;\r\n }\r\n\r\n // Array of allowed keys\r\n const allowedKeys = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'Backspace', 'ArrowRight', 'ArrowLeft', 'Delete', 'Tab', 'Control', 'Shift'];\r\n\r\n // Only proceed if key is allowed \r\n if (allowedKeys.indexOf(e.key) > -1) {\r\n\r\n return;\r\n }\r\n else {\r\n e.preventDefault(); // Do not allow key\r\n }\r\n\r\n return;\r\n }\r\n\r\n onlyBloodPressureInput(e, input) {\r\n\r\n // Allow copy cut paste (the angular or custom validator will then display a message if pasted value is invalid)\r\n if ((e.ctrlKey || e.metaKey) && (e.keyCode == 67 || e.keyCode == 86 || e.keyCode == 88)) {\r\n return;\r\n }\r\n\r\n // Array of allowed keys\r\n const allowedKeys = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '/', 'Backspace', 'ArrowRight', 'ArrowLeft', 'Delete', 'Tab', 'Control', 'Shift'];\r\n\r\n // Only proceed if key is allowed \r\n if (allowedKeys.indexOf(e.key) > -1) {\r\n\r\n //Only allow one slash\r\n if (e.key == \"/\") {\r\n if (input.value.indexOf(\"/\") > -1) {\r\n e.preventDefault(); // Do not allow key - only one slash is allowed\r\n }\r\n else {\r\n return; // Allow key since it is the first slash\r\n }\r\n }\r\n }\r\n else {\r\n e.preventDefault(); // Do not allow key\r\n }\r\n\r\n return;\r\n }\r\n\r\n decimalOrIntCustomValidator(control: FormControl): { [s: string]: boolean } {\r\n\r\n if (control.value != undefined && control.value != null) {\r\n if (isNaN(Number(control.value))) { // Check if not valid number \r\n return { 'invalidValue': true };\r\n }\r\n }\r\n\r\n return null;\r\n }\r\n\r\n intCustomValidator(control: FormControl): { [s: string]: boolean } {\r\n\r\n if (control.value != undefined && control.value != null) {\r\n if (isNaN(Number(control.value))) { // Check if not valid number \r\n return { 'invalidValue': true };\r\n }\r\n else if (!Number.isInteger(control.value)) { // Check if valid number is not integer\r\n return { 'invalidValue': true }; \r\n }\r\n }\r\n\r\n return null;\r\n }\r\n\r\n dateCustomValidator(minDate: Date, maxDate: Date, control: FormControl): { [s: string]: boolean } {\r\n\r\n if (control.value != undefined && control.value != null) {\r\n\r\n let inputDate: Date = new Date(control.value);\r\n\r\n //console.log(\"inputDate:\");\r\n //console.log(inputDate);\r\n\r\n //console.log(\"inputDate.getTime:\");\r\n //console.log(inputDate.getTime());\r\n\r\n // Check if not valid date (will trigger when for example 31 Feb is entered) (must pass input value in html if not using clarity datetime picker)\r\n if (isNaN(inputDate.getTime())) {\r\n control.setValue(null);\r\n control.reset();\r\n return { 'invalidValue': true };\r\n }\r\n\r\n //console.log(\"getFullYear():\");\r\n //console.log(inputDate.getFullYear());\r\n\r\n // Always do this check as this is the SQL max year (the input validates max day and month already)\r\n if (inputDate.getFullYear() > 9999) {\r\n return { 'invalidValue': true };\r\n }\r\n\r\n // Apply minimum date if param is passed\r\n if (minDate != undefined && minDate != null) {\r\n\r\n //let minDateDt: Date = new Date(minDate);\r\n\r\n //console.log(\"minDate:\");\r\n //console.log(minDate);\r\n\r\n if (inputDate < minDate) {\r\n return { 'invalidValue': true };\r\n }\r\n }\r\n\r\n // Apply maximum date if param is passed\r\n if (maxDate != undefined && maxDate != null) {\r\n\r\n //console.log(\"maxDate:\");\r\n //console.log(maxDate);\r\n\r\n if (inputDate > maxDate) {\r\n return { 'invalidValue': true };\r\n }\r\n }\r\n }\r\n \r\n return null;\r\n }\r\n\r\n dateValidatorSpecifyMinAndMax(minDate: Date, maxDate: Date): ValidatorFn {\r\n return (control: AbstractControl): ValidationErrors | null => {\r\n\r\n const value = control.value;\r\n\r\n if (!value) {\r\n return null;\r\n }\r\n\r\n if (Date.parse(control.value) < minDate.getTime() || Date.parse(control.value) > maxDate.getTime()) {\r\n return { invalidDate: true };\r\n }\r\n else {\r\n return null;\r\n }\r\n\r\n }\r\n }\r\n\r\n dateValidatorMaxDateToday(minDate: Date): ValidatorFn {\r\n return (control: AbstractControl): ValidationErrors | null => {\r\n\r\n const value = control.value;\r\n\r\n if (!value) {\r\n return null;\r\n }\r\n\r\n if (Date.parse(control.value) < minDate.getTime() || Date.parse(control.value) > new Date().getTime()) {\r\n return { invalidDate: true };\r\n }\r\n else {\r\n return null;\r\n }\r\n\r\n }\r\n }\r\n\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpHeaders, HttpClient } from '@angular/common/http';\r\nimport { FormBuilder, FormGroup, Validators, FormControl, ReactiveFormsModule } from '@angular/forms';\r\n\r\nimport { VoucherClientModel } from '../models/VoucherClientModel';\r\nimport { VoucherTransactionModel } from '../models/VoucherTransactionModel';\r\nimport { ValidationResultsModel } from '../models/ValidationResultsModel';\r\nimport { DefaultCodesModel } from '../models/DefaultCodesModel';\r\nimport { AllocationListModel } from '../models/AllocationListModel';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class VoucherAdminService {\r\n\r\n private _username: string;\r\n\r\n private _busy: boolean;\r\n private _error: boolean;\r\n private _errorMessageHeading: string;\r\n private _errorMessage: string;\r\n\r\n private _showAddNewClientModal: boolean = false;\r\n private _showEditClientModal: boolean = false;\r\n\r\n private _voucherClient: VoucherClientModel;\r\n private _voucherClients: VoucherClientModel[] = [];\r\n\r\n private _clientBalance: string;\r\n private _clientBalanceAllocation: string;\r\n private _totalAllocatedR: string;\r\n private _totalAllocatedQty: number;\r\n private _clientTransaction: VoucherTransactionModel;\r\n private _clientTransactions: VoucherTransactionModel[] = [];\r\n\r\n private _showDepositModal: boolean = false;\r\n\r\n private _showAllocationModal: boolean = false;\r\n\r\n private _basketLists: DefaultCodesModel[] = [];\r\n private _basketDetailLists: DefaultCodesModel[] = [];\r\n\r\n private _allocationList: AllocationListModel[] = [];\r\n\r\n constructor(private _http: HttpClient, @Inject('BASE_URL') public _baseUrl: string) { }\r\n\r\n public get username(): string {\r\n return this._username;\r\n }\r\n public set username(value: string) {\r\n this._username = value;\r\n }\r\n public get busy(): boolean {\r\n return this._busy;\r\n }\r\n public set busy(value: boolean) {\r\n this._busy = value;\r\n }\r\n public get error(): boolean {\r\n return this._error;\r\n }\r\n public set error(value: boolean) {\r\n this._error = value;\r\n }\r\n public get errorMessageHeading(): string {\r\n return this._errorMessageHeading;\r\n }\r\n public set errorMessageHeading(value: string) {\r\n this._errorMessageHeading = value;\r\n }\r\n public get errorMessage(): string {\r\n return this._errorMessage;\r\n }\r\n public set errorMessage(value: string) {\r\n this._errorMessage = value;\r\n }\r\n public get showAddNewClientModal(): boolean {\r\n return this._showAddNewClientModal;\r\n }\r\n public set showAddNewClientModal(value: boolean) {\r\n this._showAddNewClientModal = value;\r\n }\r\n public get showEditClientModal(): boolean {\r\n return this._showEditClientModal;\r\n }\r\n public set showEditClientModal(value: boolean) {\r\n this._showEditClientModal = value;\r\n }\r\n\r\n get VoucherClients() {\r\n return this._voucherClients;\r\n }\r\n set VoucherClients(value: VoucherClientModel[]) {\r\n this._voucherClients = value;\r\n }\r\n get VoucherClient() {\r\n return this._voucherClient;\r\n }\r\n set VoucherClient(value: VoucherClientModel) {\r\n this._voucherClient = value;\r\n }\r\n\r\n get ClientTransaction() {\r\n return this._clientTransaction;\r\n }\r\n set ClientTransaction(value: VoucherTransactionModel) {\r\n this._clientTransaction = value;\r\n }\r\n get ClientTransactions() {\r\n return this._clientTransactions;\r\n }\r\n set ClientTransactions(value: VoucherTransactionModel[]) {\r\n this._clientTransactions = value;\r\n }\r\n get ClientBalance() {\r\n return this._clientBalance;\r\n }\r\n set ClientBalance(value: string) {\r\n this._clientBalance = value;\r\n }\r\n get ClientBalanceAllocation() {\r\n return this._clientBalanceAllocation;\r\n }\r\n set ClientBalanceAllocation(value: string) {\r\n this._clientBalanceAllocation = value;\r\n }\r\n get TotalAllocatedR() {\r\n return this._totalAllocatedR;\r\n }\r\n set TotalAllocatedR(value: string) {\r\n this._totalAllocatedR = value;\r\n }\r\n\r\n get TotalAllocatedQty() {\r\n return this._totalAllocatedQty;\r\n }\r\n set TotalAllocatedQty(value: number) {\r\n this._totalAllocatedQty = value;\r\n }\r\n\r\n public get showDepositModal(): boolean {\r\n return this._showDepositModal;\r\n }\r\n public set showDepositModal(value: boolean) {\r\n this._showDepositModal = value;\r\n }\r\n\r\n public get showAllocationModal(): boolean {\r\n return this._showAllocationModal;\r\n }\r\n public set showAllocationModal(value: boolean) {\r\n this._showAllocationModal = value;\r\n }\r\n\r\n public get basketLists(): DefaultCodesModel[] {\r\n return this._basketLists;\r\n }\r\n public set basketLists(value: DefaultCodesModel[]) {\r\n this._basketLists = value;\r\n }\r\n public get basketDetailLists(): DefaultCodesModel[] {\r\n return this._basketDetailLists;\r\n }\r\n public set basketDetailLists(value: DefaultCodesModel[]) {\r\n this._basketDetailLists = value;\r\n }\r\n public get AllocationList(): AllocationListModel[] {\r\n return this._allocationList;\r\n }\r\n public set AllocationList(value: AllocationListModel[]) {\r\n this._allocationList = value;\r\n }\r\n\r\n\r\n\r\n GetVoucherClients(searchFilter: string = \"\") {\r\n this._busy = true;\r\n let token = localStorage.getItem('jwt');\r\n this._voucherClients = [];\r\n this._http.get(this._baseUrl + 'api/VoucherAdmin/GetVoucherClients',\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }).subscribe((results: VoucherClientModel[]) => {\r\n results.forEach((el) => {\r\n this._voucherClients.push(el);\r\n })\r\n\r\n // filter list if search was done\r\n if (searchFilter != \"\") {\r\n this._voucherClients = this._voucherClients.filter(x => x.clientName.toUpperCase().includes(searchFilter.toUpperCase()))\r\n }\r\n\r\n },\r\n (error) => {\r\n console.log(error)\r\n },\r\n () => {\r\n this._busy = false;\r\n })\r\n }\r\n\r\n CreateNewClient(addNewClientForm: FormGroup) {\r\n this._busy = true;\r\n let token = localStorage.getItem('jwt');\r\n this._http.post(this._baseUrl + 'api/VoucherAdmin/CreateNewClient', this.VoucherClient,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n })\r\n }).subscribe((result: VoucherClientModel) => {\r\n\r\n if (result.success) {\r\n this._voucherClients = []; // Clear clients list\r\n this._voucherClients.push(result); // Put newly added client into list\r\n this._voucherClient = new VoucherClientModel; // Clear current client\r\n this.showAddNewClientModal = false;\r\n addNewClientForm.reset();\r\n }\r\n else {\r\n /*this._busy = false;*/\r\n this._error = true;\r\n this._errorMessageHeading = \"Create New Client Failed\";\r\n this._errorMessage = result.message;\r\n }\r\n },\r\n (error) => {\r\n /*this._busy = false;*/\r\n this._error = true;\r\n this._errorMessageHeading = \"Create New Client Failed\";\r\n this._errorMessage = \"\";\r\n console.log(error)\r\n },\r\n () => {\r\n this._busy = false;\r\n })\r\n }\r\n\r\n UpdateClient(clientToEdit: VoucherClientModel, clientForm: FormGroup) {\r\n\r\n // Clear\r\n this._voucherClient = clientToEdit;\r\n\r\n // Call Api\r\n this._busy = true;\r\n let token = localStorage.getItem('jwt');\r\n this._http.post(this._baseUrl + 'api/VoucherAdmin/UpdateClient', this._voucherClient,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n })\r\n }).subscribe((result: VoucherClientModel) => {\r\n\r\n if (result.success) {\r\n this._voucherClients = []; // Clear clients list\r\n this._voucherClients.push(result); // Put newly added client into list\r\n this._voucherClient = new VoucherClientModel; // Clear current client\r\n this.showEditClientModal = false;\r\n clientForm.reset();\r\n }\r\n else {\r\n /*this._busy = false;*/\r\n this._error = true;\r\n this._errorMessageHeading = \"Update Client Failed\";\r\n this._errorMessage = result.message;\r\n }\r\n },\r\n (error) => {\r\n /*this._busy = false;*/\r\n this._error = true;\r\n this._errorMessageHeading = \"Update Client Failed\";\r\n this._errorMessage = \"\";\r\n console.log(error)\r\n },\r\n () => {\r\n this._busy = false;\r\n })\r\n }\r\n\r\n DeleteClient(clientToDelete: VoucherClientModel) {\r\n this._busy = true;\r\n let token = localStorage.getItem('jwt');\r\n this._http.post(this._baseUrl + 'api/VoucherAdmin/DeleteClient', clientToDelete,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n })\r\n }).subscribe((result: ValidationResultsModel) => {\r\n\r\n if (result.valid) {\r\n this._voucherClients = []; // Clear clients list\r\n this.GetVoucherClients(); // Reload clients after delete \r\n }\r\n else {\r\n /*this._busy = false;*/\r\n this._error = true;\r\n this._errorMessageHeading = \"Delete Client Failed\";\r\n this._errorMessage = result.message;\r\n }\r\n },\r\n (error) => {\r\n /*this._busy = false;*/\r\n this._error = true;\r\n this._errorMessageHeading = \"Delete Client Failed\";\r\n this._errorMessage = \"\";\r\n console.log(error)\r\n },\r\n () => {\r\n this._busy = false;\r\n })\r\n }\r\n\r\n GetClientTransactions(client: VoucherClientModel, fromDate: string = \"\", toDate: string = \"\") {\r\n this._busy = true;\r\n let token = localStorage.getItem('jwt');\r\n this._clientTransactions = [];\r\n this._http.post(this._baseUrl + 'api/VoucherAdmin/GetClientTransactions', client,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n\r\n })\r\n }).subscribe((results: VoucherTransactionModel[]) => {\r\n results.forEach((el) => {\r\n this._clientTransactions.push(el);\r\n })\r\n\r\n if (this._clientTransactions.length > 0) {\r\n this._clientBalance = this._clientTransactions[0].balance;\r\n }\r\n },\r\n (error) => {\r\n console.log(error)\r\n },\r\n () => {\r\n this._busy = false;\r\n })\r\n }\r\n\r\n SaveDeposit(depositForm: FormGroup) {\r\n this._busy = true;\r\n let token = localStorage.getItem('jwt');\r\n this._http.post(this._baseUrl + 'api/VoucherAdmin/SaveDeposit', this.ClientTransaction,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n })\r\n }).subscribe((result: VoucherTransactionModel) => {\r\n\r\n if (result.success) {\r\n\r\n this.GetClientTransactions(this.VoucherClient); // Get transactions for current client\r\n this._clientTransaction = new VoucherTransactionModel; // Clear current transaction\r\n this.showDepositModal = false;\r\n depositForm.reset();\r\n }\r\n else {\r\n /*this._busy = false;*/\r\n this._errorMessageHeading = \"Save Deposit Failed\";\r\n this._errorMessage = result.message;\r\n this._error = true;\r\n }\r\n },\r\n (error) => {\r\n /*this._busy = false;*/\r\n this._errorMessageHeading = \"Save Deposit Failed\";\r\n this._errorMessage = \"\";\r\n this._error = true;\r\n console.log(error);\r\n },\r\n () => {\r\n this._busy = false;\r\n })\r\n }\r\n\r\n GetBasketHeaders() {\r\n let c: DefaultCodesModel = new DefaultCodesModel();\r\n //c.provid = this._loginService.CurrentLoggedInUser.provID;\r\n c.hpCode = this._voucherClient.hpCode;\r\n c.option = this._voucherClient.opt;\r\n this._busy = true;\r\n this._http.post(this._baseUrl + 'api/VoucherAdmin/GetBasketHeaders', c\r\n ).subscribe((results: DefaultCodesModel[]) => {\r\n this.basketLists = [];\r\n this.basketLists = results;\r\n },\r\n (error) => {\r\n console.log(error);\r\n this.error = true;\r\n this.busy = false;\r\n this._errorMessage = error.status + ' ' + ':' + error.message;\r\n //this._showEmail = false;\r\n },\r\n () => {\r\n this.GetBasketDetails();\r\n this._busy = false;\r\n })\r\n }\r\n\r\n GetBasketDetails() {\r\n let c: DefaultCodesModel = new DefaultCodesModel();\r\n //c.provid = this._loginService.CurrentLoggedInUser.provID;\r\n c.hpCode = this._voucherClient.hpCode;\r\n c.option = this._voucherClient.opt;\r\n this._busy = true;\r\n this._http.post(this._baseUrl + 'api/VoucherAdmin/GetBasketDetails', c\r\n ).subscribe((results: DefaultCodesModel[]) => {\r\n this.basketDetailLists = [];\r\n this.basketDetailLists = results;\r\n },\r\n (error) => {\r\n console.log(error);\r\n this.error = true;\r\n this.busy = false;\r\n this._errorMessage = error.status + ' ' + ':' + error.message;\r\n //this._showEmail = false;\r\n },\r\n () => {\r\n this.SetupAllocationList();\r\n this._busy = false;\r\n this._showAllocationModal = true;\r\n })\r\n }\r\n\r\n GetTotalView(data: string): string {\r\n let count: number = 0;\r\n let code: number = 0;\r\n this.basketDetailLists.forEach((el) => {\r\n if (el.id == data) {\r\n count = count + (+el.total);\r\n }\r\n })\r\n //console.log(this._appService.MedivouchService.codeList)\r\n return count.toFixed(2);\r\n }\r\n\r\n SetupAllocationList() {\r\n this.TotalAllocatedR = \"0.00\";\r\n this.TotalAllocatedQty = 0;\r\n this.ClientBalanceAllocation = this.ClientBalance;\r\n\r\n // Clear list each time model is opend\r\n this.AllocationList = [];\r\n\r\n //Create new list from baskets returned\r\n this.basketLists.forEach(basket => {\r\n\r\n let lstItem: AllocationListModel = new AllocationListModel();\r\n lstItem.basketId = basket.id;\r\n lstItem.basketAmount = Number(this.GetTotalView(basket.id)); \r\n lstItem.qty = 0;\r\n lstItem.clientId = this.VoucherClient.clientId;\r\n lstItem.user = this.username;\r\n lstItem.fullPrice = Number(basket.fullPrice);\r\n this.AllocationList.push(lstItem);\r\n });\r\n }\r\n\r\n UpdateAllocationList(event, basketId) {\r\n //this.totalAllocated = this.totalAllocated + +event.target.value;\r\n\r\n // Change qty to input value\r\n this.AllocationList.forEach(basket => {\r\n if (basket.basketId == basketId) { \r\n basket.qty = Number(event.target.value);\r\n }\r\n });\r\n\r\n this.TotalAllocatedQty = 0;\r\n this.TotalAllocatedR = \"0.00\";\r\n\r\n // Update Totals\r\n this.AllocationList.forEach(basket => {\r\n\r\n this.TotalAllocatedQty = this.TotalAllocatedQty + basket.qty;\r\n //this.TotalAllocatedR = (Number(this.TotalAllocatedR) + (basket.basketAmount * basket.qty)).toFixed(2);\r\n this.TotalAllocatedR = (Number(this.TotalAllocatedR) + (basket.fullPrice * basket.qty)).toFixed(2);\r\n\r\n });\r\n\r\n // Update Balance\r\n this.ClientBalanceAllocation = (Number(this.ClientBalance) + Number(this.TotalAllocatedR)).toFixed(2);\r\n }\r\n\r\n AllocateVouchers() {\r\n this._busy = true;\r\n let token = localStorage.getItem('jwt');\r\n this._http.post(this._baseUrl + 'api/VoucherAdmin/AllocateVouchers', this.AllocationList,\r\n {\r\n headers: new HttpHeaders({\r\n \"Authorization\": \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n \"Cache-Control\": \"no-store\",\r\n \"Pragma\": \"no-cache\"\r\n })\r\n }).subscribe((result: VoucherTransactionModel) => {\r\n\r\n if (result.success) {\r\n // Update table of transactions\r\n this.GetClientTransactions(this.VoucherClient);\r\n\r\n // Close allocation model\r\n this._showAllocationModal = false;\r\n\r\n // Download file in browser \r\n var a = document.createElement('a');\r\n a.target = \"_blank\";\r\n a.setAttribute('type', 'hidden');\r\n //a.href = './../../PamcPortal/assets/Vouchers/' + result.message;\r\n a.href = 'assets/Vouchers/' + result.message;\r\n //console.log(a.href);\r\n a.download = result.message;\r\n document.body.appendChild(a);\r\n a.click();\r\n a.remove(); \r\n }\r\n else { \r\n this._errorMessageHeading = \"Voucher Allocation Failed\";\r\n this._errorMessage = result.message;\r\n this._error = true;\r\n }\r\n },\r\n (error) => { \r\n this._errorMessageHeading = \"Voucher Allocation Failed\";\r\n this._errorMessage = \"\";\r\n this._error = true; \r\n },\r\n () => {\r\n this._busy = false;\r\n })\r\n }\r\n\r\n}\r\n","// This file can be replaced during build by using the `fileReplacements` array.\r\n// `ng build ---prod` replaces `environment.ts` with `environment.prod.ts`.\r\n// The list of file replacements can be found in `angular.json`.\r\n\r\nexport const environment = {\r\n production: true\r\n};\r\n\r\n/*\r\n * In development mode, to ignore zone related error stack frames such as\r\n * `zone.run`, `zoneDelegate.invokeTask` for easier debugging, you can\r\n * import the following file, but please comment it out in production mode\r\n * because it will have performance impact when throw error\r\n */\r\n// import 'zone.js/dist/zone-error'; // Included with Angular CLI.\r\n","import { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\n\r\nexport function getBaseUrl() {\r\n return document.getElementsByTagName('base')[0].href;\r\n}\r\n\r\nconst providers = [\r\n { provide: 'BASE_URL', useFactory: getBaseUrl, deps: [] }\r\n];\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic(providers).bootstrapModule(AppModule)\r\n .catch(err => console.log(err));\r\n"],"sourceRoot":"webpack:///"}