{"version":3,"file":"main.js","mappings":"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","sources":["./src/app/acute-care/acute-care-state/acute-care-state.component.ts","./src/app/acute-care/acute-care-state/acute-care-state.component.html","./src/app/acute-care/acute-care-steps/acute-care-steps.component.ts","./src/app/acute-care/acute-care-steps/acute-care-steps.component.html","./src/app/acute-care/acute-care-steps/regular-sample-medicine/regular-sample-medicine.component.ts","./src/app/acute-care/acute-care-steps/regular-sample-medicine/regular-sample-medicine.component.html","./src/app/acute-care/acute-care.component.ts","./src/app/acute-care/acute-care.component.html","./src/app/admin/dialog/alert-dialog/alert-dialog.component.ts","./src/app/admin/dialog/alert-dialog/alert-dialog.component.html","./src/app/admin/dialog/confirm-dialog/confirm-dialog.component.ts","./src/app/admin/dialog/confirm-dialog/confirm-dialog.component.html","./src/app/affiliate-marketing/affiliate-login/affiliate-login.component.ts","./src/app/affiliate-marketing/affiliate-login/affiliate-login.component.html","./src/app/affiliate-marketing/affiliate-market/affiliate-market.component.ts","./src/app/affiliate-marketing/affiliate-market/affiliate-market.component.html","./src/app/api-services/admin-services/admin-services.service.ts","./src/app/api-services/dummy-services/dummy-service.service.ts","./src/app/api-services/market-place.service.ts","./src/app/api-services/service-url.ts","./src/app/api-services/shared-component-services/shared-component.service.ts","./src/app/api-services/survey-services/survey-services.service.ts","./src/app/api-services/user-services/user-services.service.ts","./src/app/app-routing.module.ts","./src/app/app.component.ts","./src/app/app.component.html","./src/app/app.module.ts","./src/app/authentication/auth.interceptor.ts","./src/app/authentication/page404/page404.component.ts","./src/app/authentication/page404/page404.component.html","./src/app/config/config.service.ts","./src/app/core/core.module.ts","./src/app/core/guard/auth.guard.ts","./src/app/core/guard/module-import.guard.ts","./src/app/core/interceptor/fake-backend.ts","./src/app/core/models/LoginDetails.ts","./src/app/core/models/role.ts","./src/app/core/service/auth.service.ts","./src/app/core/service/dynamic-script-loader.service.ts","./src/app/core/service/language.service.ts","./src/app/core/service/rightsidebar.service.ts","./src/app/intakeform/invoice/invoice.component.ts","./src/app/intakeform/invoice/invoice.component.html","./src/app/intakeform/payment-address/payment-address.component.ts","./src/app/intakeform/payment-address/payment-address.component.html","./src/app/intakeform/payment/payment-confirm/payment-confirm.component.ts","./src/app/intakeform/payment/payment-confirm/payment-confirm.component.html","./src/app/intakeform/payment/payment.component.ts","./src/app/intakeform/payment/payment.component.html","./src/app/intakeform/premiumpayment/premiumpayment.component.ts","./src/app/intakeform/premiumpayment/premiumpayment.component.html","./src/app/intakeform/selector/selector.component.ts","./src/app/intakeform/selector/selector.component.html","./src/app/intakeform/steps/steps.component.ts","./src/app/intakeform/steps/steps.component.html","./src/app/intakeform/subscribefreeservices/subscribefreeservices.component.ts","./src/app/intakeform/subscribefreeservices/subscribefreeservices.component.html","./src/app/intakeform/surveysubscription/surveysubscription.component.ts","./src/app/intakeform/surveysubscription/surveysubscription.component.html","./src/app/layout/app-layout/auth-layout/auth-layout.component.ts","./src/app/layout/app-layout/auth-layout/auth-layout.component.html","./src/app/layout/app-layout/main-layout/main-layout.component.ts","./src/app/layout/app-layout/main-layout/main-layout.component.html","./src/app/layout/header/header.component.ts","./src/app/layout/header/header.component.html","./src/app/layout/page-loader/page-loader.component.ts","./src/app/layout/page-loader/page-loader.component.html","./src/app/layout/right-sidebar/right-sidebar.component.ts","./src/app/layout/right-sidebar/right-sidebar.component.html","./src/app/layout/sidebar/sidebar.component.ts","./src/app/layout/sidebar/sidebar.component.html","./src/app/shared/UnsubscribeOnDestroyAdapter.ts","./src/app/shared/formatter.service.ts","./src/app/shared/line-break.pipe.ts","./src/app/shared/material.module.ts","./src/app/shared/safe-html.pipe.ts","./src/app/shared/shared.module.ts","./src/app/shared/sub-sink.ts","./src/environments/environment.ts","./src/main.ts","ignored|C:\\Users\\Administrator\\Desktop\\Telemedicine\\ClientApp\\node_modules\\xlsx|crypto","ignored|C:\\Users\\Administrator\\Desktop\\Telemedicine\\ClientApp\\node_modules\\xlsx|fs","ignored|C:\\Users\\Administrator\\Desktop\\Telemedicine\\ClientApp\\node_modules\\xlsx|stream"],"sourcesContent":["import { DatePipe } from '@angular/common';\r\nimport { Component, ElementRef, Inject, OnInit, ViewChild } from '@angular/core';\r\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { Router } from '@angular/router';\r\nimport { AlertDialogComponent } from 'src/app/admin/dialog/alert-dialog/alert-dialog.component';\r\nimport { SurveyServicesService } from 'src/app/api-services/survey-services/survey-services.service';\r\n\r\n@Component({\r\n selector: 'app-acute-care-state',\r\n templateUrl: './acute-care-state.component.html',\r\n styleUrls: ['./acute-care-state.component.scss']\r\n})\r\nexport class AcuteCareStateComponent implements OnInit {\r\n\r\n stateName: string = \"\";\r\n\r\n licenseFiles: string[] = [];\r\n selfyFiles: string[] = [];\r\n\r\n @ViewChild(\"fileInput\") drivingLicenseInput: ElementRef;\r\n @ViewChild(\"selfyFileInput\") selfyInput: ElementRef;\r\n\r\n submitProcessFlag: boolean = false;\r\n\r\n\r\n patientStateForm = new FormGroup({\r\n state: new FormControl('', [Validators.required]),\r\n //drivingLicense: new FormControl('', [Validators.required]),\r\n });\r\n\r\n constructor(@Inject(MAT_DIALOG_DATA) public data: any[], \r\n private dialog: MatDialog, \r\n public dialogRef: MatDialogRef, \r\n private surveyService: SurveyServicesService,\r\n private router: Router) { }\r\n\r\n ngOnInit(): void {\r\n this.dialogRef.updateSize(\"500px\", \"500px\");\r\n this.dialogRef.disableClose = true;\r\n this.loadPatientStates();\r\n }\r\n\r\n submitPatientStateForm() {\r\n debugger;\r\n let stateId = this.patientStateForm.value[\"state\"];\r\n if (stateId != null) {\r\n this.submitProcessFlag = true;\r\n const frmData = new FormData();\r\n\r\n for (var i = 0; i < this.licenseFiles.length; i++) {\r\n frmData.append(\"identityFiles\", this.licenseFiles[i]);\r\n frmData.append(\"identityFiles\", this.selfyFiles[i]);\r\n }\r\n \r\n this.surveyService.identityfileUpload(frmData).subscribe(res => {\r\n if(res && res.data) {\r\n const savedFiles = JSON.stringify(res.data);\r\n window.sessionStorage.setItem(\"_acuteCareSavedFiles\", savedFiles);\r\n console.log(res.data);\r\n this.dialogRef.close({ isSubmit: true, stateName: this.stateName });\r\n }\r\n else {\r\n this.submitProcessFlag = false;\r\n this.openAlertDialog(res.error.errorMessage);\r\n }\r\n });\r\n }\r\n else {\r\n this.openAlertDialog(\"Please select State.\");\r\n }\r\n }\r\n\r\n loadPatientStates() {\r\n this.surveyService.getAcuteCarePatientState().subscribe(res => {\r\n if(res && res.data) {\r\n this.data = res.data\r\n }\r\n else {\r\n console.log(\"patient state not loaded from db.\");\r\n }\r\n });\r\n }\r\n\r\n openAlertDialog(alertMessage: string) {\r\n const dialogRef = this.dialog.open(AlertDialogComponent, {\r\n data: {\r\n message: alertMessage,\r\n buttonText: {\r\n cancel: \"OK\",\r\n },\r\n },\r\n });\r\n }\r\n\r\n stateChange(event) {\r\n console.log(event.source.triggerValue);\r\n this.stateName = event.source.triggerValue;\r\n }\r\n\r\n getLicenseFileDetails(event) {\r\n debugger;\r\n if(this.licenseFiles && this.licenseFiles.length < 1) {\r\n for (var i = 0; i < event.target.files.length; i++) {\r\n this.licenseFiles.push(event.target.files[i]);\r\n }\r\n console.log(this.licenseFiles)\r\n }\r\n else {\r\n this.openAlertDialog(\"File already been selected. Please remove previous file for now file upload.\");\r\n }\r\n \r\n }\r\n\r\n getSelfyFileDetails(event) {\r\n debugger;\r\n if(this.selfyFiles && this.selfyFiles.length < 1) {\r\n for (var i = 0; i < event.target.files.length; i++) {\r\n this.selfyFiles.push(event.target.files[i]);\r\n }\r\n console.log(this.selfyFiles)\r\n }\r\n else {\r\n this.openAlertDialog(\"File already been selected. Please remove previous file for now file upload.\");\r\n }\r\n \r\n }\r\n\r\n deleteLicenseFile(file: any) {\r\n const index = this.licenseFiles.indexOf(file);\r\n if (index > -1) { // only splice array when item is found\r\n this.licenseFiles.splice(index, 1); // 2nd parameter means remove one item only\r\n }\r\n this.drivingLicenseInput.nativeElement.value = \"\";\r\n }\r\n\r\n deleteSelfyFile(file: any) {\r\n const index = this.selfyFiles.indexOf(file);\r\n if (index > -1) { // only splice array when item is found\r\n this.selfyFiles.splice(index, 1); // 2nd parameter means remove one item only\r\n }\r\n this.selfyInput.nativeElement.value = \"\";\r\n }\r\n\r\n acuteCareCloseClick(event) {\r\n this.dialogRef.close({ isSubmit: false, stateName: this.stateName });\r\n\r\n }\r\n\r\n public checkError = (controlName: string, errorName: string) => {\r\n return this.patientStateForm.controls[controlName].hasError(errorName);\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Select State

\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n Select your state*\r\n \r\n {{state.name}}\r\n \r\n Please select state\r\n \r\n
\r\n
\r\n
\r\n
\r\n Upload Driving License\r\n * \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{file.name}} - {{file.type}} - {{file.size}}\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Upload selfie with driving license\r\n * \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{file.name}} - {{file.type}} - {{file.size}}\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
","import { DatePipe, LocationStrategy } from '@angular/common';\r\nimport { Component, ElementRef, OnInit, QueryList, ViewChild, ViewChildren } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { Router } from '@angular/router';\r\nimport { AlertDialogComponent } from 'src/app/admin/dialog/alert-dialog/alert-dialog.component';\r\nimport { ConfirmDialogComponent } from 'src/app/admin/dialog/confirm-dialog/confirm-dialog.component';\r\nimport { AdminServicesService } from 'src/app/api-services/admin-services/admin-services.service';\r\nimport { SharedComponentService } from 'src/app/api-services/shared-component-services/shared-component.service';\r\nimport { SurveyServicesService } from 'src/app/api-services/survey-services/survey-services.service';\r\nimport { AcuteCareModel } from 'src/app/Models/Acute-Care';\r\nimport { ChildDisplay, IntakeFormLogModel, SurveyDetails, SurveyOption, SurveyQuestion, SurveyStep, SurveySubmissionDetails } from 'src/app/Models/survey-details';\r\nimport { RegularSampleMedicineComponent } from './regular-sample-medicine/regular-sample-medicine.component';\r\n\r\n@Component({\r\n selector: 'app-acute-care-steps',\r\n templateUrl: './acute-care-steps.component.html',\r\n styleUrls: ['./acute-care-steps.component.scss']\r\n})\r\nexport class AcuteCareStepsComponent implements OnInit {\r\n\r\n @ViewChild('scrollPanel') public panel: ElementRef;\r\n\r\n surveySteps: SurveyStep[];\r\n currentStep: SurveyStep = {\r\n questions: [],\r\n stepCode: 0,\r\n stepID: 0,\r\n subTitle: \"\",\r\n tabOrder: 0,\r\n title: \"\"\r\n };\r\n\r\n\r\n patientGender = [{\r\n optionValue: \"Male\",\r\n itemsInRow: 2\r\n }, {\r\n optionValue: \"Female\",\r\n itemsInRow: 2\r\n }]\r\n\r\n isSpinnerWait: boolean = false;\r\n\r\n acuteCareModel: AcuteCareModel;\r\n telehealthSurveyId: number = 11;\r\n medicineFiles: any[] = [];\r\n savedFilesName: string = \"\";\r\n @ViewChild(\"fileInput\") medicineFileInput: ElementRef;\r\n\r\n stepCounter: number = 0;\r\n maxStepIndex: number;\r\n @ViewChild('form') form: any;\r\n @ViewChild('myElement') desc: any;\r\n @ViewChildren(\"textInputs\") textInputs: QueryList;\r\n formCompleted: boolean = false;\r\n surveySubmissionDetails: SurveySubmissionDetails;\r\n selectedSurveyId: number;\r\n countForEmail: number = 1;\r\n emailValue: string;\r\n phoneValue: string;\r\n\r\n\r\n isDisplayPreviousButton: boolean = false;\r\n isDisplayNextButton: boolean = true;\r\n answers: { [id: number]: string; } = {};\r\n descAnswer: { [desc: string]: string } = {}\r\n\r\n isNextButtonDisabled: boolean = false;\r\n selectedStateValue: string = \"\";\r\n formDataCaptureString: string = \"\";\r\n\r\n childDisplayArry: ChildDisplay[];\r\n\r\n acuteCarePharmacyList: any[];\r\n\r\n selectedSurvey: SurveyDetails = JSON.parse(sessionStorage.getItem(\"selectedSurvey\"));\r\n\r\n\r\n constructor(private surveyServices: SurveyServicesService, public adminService: AdminServicesService,\r\n private sharedService: SharedComponentService, private router: Router, private dialog: MatDialog,\r\n private el: ElementRef, private location: LocationStrategy) {\r\n history.pushState(null, null, window.location.href);\r\n this.location.onPopState(() => {\r\n history.pushState(null, null, window.location.href);\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n let storeState = sessionStorage.getItem(\"_AcuteCarePatientState\");\r\n this.answers = { 1117: storeState }\r\n //for acute care - general treatment\r\n this.telehealthSurveyId = this.setAcuteCareSurveyId();\r\n\r\n this.selectedSurveyId = this.selectedSurvey ? this.selectedSurvey.surveyId : 0;\r\n //for acute care\r\n this.isSpinnerWait = true;\r\n\r\n this.getPharmacyDetails(this.telehealthSurveyId);\r\n\r\n this.surveyServices.getQuestionBySurveyDetailsId(this.telehealthSurveyId).subscribe(response => {\r\n if (response && response.data) {\r\n\r\n this.isDisplayPreviousButton = true;\r\n\r\n debugger;\r\n // acute care regular refill treatment\r\n if (this.selectedSurveyId == 12) {\r\n this.surveyServices.getAcuteCareRefillQuestions().subscribe(apiRes => {\r\n this.isSpinnerWait = false;\r\n if (apiRes && apiRes.data) {\r\n debugger;\r\n this.surveySteps = this.configurePharmacyStep(response.data);\r\n //this.surveySteps = response.data;\r\n let surveyStepsFromApi: SurveyStep[] = this.binCurrentStepsForAcuteCareRefill(apiRes.data.result);\r\n this.surveySteps.push(...surveyStepsFromApi);\r\n this.surveySteps = this.surveySteps.sort((a, b) => {\r\n if (a.tabOrder > b.tabOrder) {\r\n return 1;\r\n }\r\n\r\n if (a.tabOrder < b.tabOrder) {\r\n return -1;\r\n }\r\n\r\n return 0;\r\n });\r\n debugger;\r\n // store questions for future reference\r\n sessionStorage.setItem(\"_acuteCareStepsDetails\", JSON.stringify(this.surveySteps))\r\n\r\n this.configureAcuteCareSteps(this.surveySteps);\r\n\r\n }\r\n else {\r\n //implement any error prompt\r\n }\r\n });\r\n }\r\n else {\r\n this.surveyServices.getAcuteCareQuestionDetails(this.selectedSurveyId.toString()).subscribe(apiRes => {\r\n this.isSpinnerWait = false;\r\n if (apiRes && apiRes.data) {\r\n debugger;\r\n this.surveySteps = this.configurePharmacyStep(response.data);\r\n //this.surveySteps = response.data;\r\n let surveyStepsFromApi: SurveyStep[] = this.binCurrentSteps(apiRes.data.result);\r\n this.surveySteps.push(...surveyStepsFromApi);\r\n // store questions for future reference\r\n sessionStorage.setItem(\"_acuteCareStepsDetails\", JSON.stringify(this.surveySteps))\r\n\r\n this.configureAcuteCareSteps(this.surveySteps);\r\n\r\n }\r\n else {\r\n //implement any error prompt\r\n }\r\n\r\n });\r\n }\r\n\r\n\r\n }\r\n else {\r\n //implement any error prompt\r\n }\r\n });\r\n }\r\n\r\n configureAcuteCareSteps(steps: SurveyStep[]) {\r\n console.log(steps);\r\n this.maxStepIndex = (steps.length - 1);\r\n this.currentStep = steps[this.stepCounter];\r\n let fetchedAns: { [id: number]: string; } = JSON.parse(sessionStorage.getItem(\"patientAns\"));\r\n if (fetchedAns) {\r\n this.answers = fetchedAns;\r\n this.stepCounter = steps.length - 1;\r\n this.currentStep = steps[this.stepCounter];\r\n this.formCompleted = true;\r\n this.isDisplayPreviousButton = true;\r\n }\r\n else if (this.currentStep.stepID == 1) {\r\n this.isDisplayPreviousButton = true; //Change - To Show Previous Button on the 1st screen\r\n }\r\n }\r\n\r\n setAcuteCareSurveyId(): number {\r\n let id: number = 0;\r\n let AcuteCateSelectedSurvey: SurveyDetails = JSON.parse(sessionStorage.getItem(\"AcuteCateSelectedSurvey\"));\r\n if (AcuteCateSelectedSurvey) {\r\n id = AcuteCateSelectedSurvey.surveyId;\r\n }\r\n else {\r\n id = 11;\r\n }\r\n return id\r\n }\r\n\r\n getPharmacyDetails(telehealthSurveyId: number) {\r\n let array: any[] = [];\r\n this.surveyServices.getAcuteCarePharmacyDetails(telehealthSurveyId).subscribe(res => {\r\n if (res && res.data) {\r\n this.acuteCarePharmacyList = res.data;\r\n }\r\n else {\r\n this.acuteCarePharmacyList = [];\r\n }\r\n });\r\n }\r\n\r\n configurePharmacyStep(steps: SurveyStep[]): SurveyStep[] {\r\n let pharmacyOptions: any[] = [];\r\n if (steps && steps.filter(f => f.stepID == 14).length > 0) {\r\n let pharmacyStep: SurveyStep = steps.filter(f => f.stepID == 14)[0];\r\n if (pharmacyStep && pharmacyStep.questions.filter(f => f.questionID == 11141).length > 0) {\r\n let dropdownQuestion = pharmacyStep.questions.filter(f => f.questionID == 11141)[0];\r\n if (this.acuteCarePharmacyList && this.acuteCarePharmacyList.length > 0) {\r\n //let options: SurveyOption[];\r\n this.acuteCarePharmacyList.forEach(f => {\r\n let option: SurveyOption = {\r\n isChildShow: false,\r\n isStopper: false,\r\n itemsInRow: 1,\r\n optionID: pharmacyStep.stepID,\r\n optionValue: f.name,\r\n questionID: dropdownQuestion.questionID,\r\n stepID: pharmacyStep.stepID\r\n };\r\n pharmacyOptions.push(option);\r\n });\r\n }\r\n steps.filter(f => f.stepID == 14)[0].questions.filter(f => f.questionID == 11141)[0].options = pharmacyOptions;\r\n }\r\n }\r\n return steps;\r\n }\r\n\r\n binCurrentSteps(data: any): SurveyStep[] {\r\n let list: SurveyStep[];\r\n if (data.length > 0) {\r\n list = [];\r\n let acuteQuestions: SurveyQuestion[] = [];\r\n data.forEach(f => {\r\n let optionarray = this.bindQuestionOptions(f.question_type, f.selection_option);\r\n let type = this.getQuestionType(f.question_type);\r\n let question: SurveyQuestion = {\r\n hint: f.help_text,\r\n itemsInRow: 1,\r\n options: optionarray,\r\n questionID: f.id,\r\n question: f.question,\r\n required: f.id == 54 ? false : true,\r\n stepID: 2,\r\n type: type,\r\n\r\n };\r\n acuteQuestions.push(question);\r\n\r\n });\r\n\r\n let step: SurveyStep = {\r\n stepCode: 2,\r\n stepID: 2,\r\n subTitle: \"Please fill out a short questionnaire to help the Provider determine medical necessity for a medical prescriptions and medical advice.\",\r\n title: this.selectedSurvey.surveyName,\r\n tabOrder: 2,\r\n questions: acuteQuestions\r\n };\r\n\r\n\r\n\r\n list.push(step);\r\n return list;\r\n }\r\n }\r\n\r\n binCurrentStepsForAcuteCareRefill(data: any): SurveyStep[] {\r\n let list: SurveyStep[];\r\n if (data.length > 0) {\r\n list = [];\r\n let acuteQuestions: SurveyQuestion[] = [];\r\n data.forEach(f => {\r\n let optionarray = this.bindQuestionOptionsForRefill(f.question_type, f.selection_option);\r\n let type = this.getQuestionType(f.question_type);\r\n let question: SurveyQuestion = {\r\n hint: f.help_text,\r\n itemsInRow: 1,\r\n options: optionarray,\r\n questionID: f.id,\r\n question: f.question,\r\n required: (f.id == 546 || f.id == 545) ? false : true,\r\n stepID: 2,\r\n type: type,\r\n isChild: type == \"Radio\" ? true : false\r\n };\r\n acuteQuestions.push(question);\r\n\r\n });\r\n\r\n let step: SurveyStep = {\r\n stepCode: 2,\r\n stepID: 2,\r\n subTitle: \"Please fill out a short questionnaire to help the Provider determine medical necessity for a medical prescriptions and medical advice.\",\r\n title: \"Regular medicine refill\",\r\n tabOrder: 15,\r\n questions: acuteQuestions\r\n };\r\n\r\n\r\n\r\n list.push(step);\r\n return list;\r\n }\r\n }\r\n\r\n getQuestionType(type: string): string {\r\n debugger;\r\n if (type == \"YesNo\") {\r\n type = \"Radio\";\r\n }\r\n if (type == \"Selection\") {\r\n type = \"Select\";\r\n }\r\n if (type == \"MultipleSelection\") {\r\n type = \"multi-select\";\r\n }\r\n return type;\r\n }\r\n\r\n bindQuestionOptions(type: string, optns: any[]): any[] {\r\n let optionarray = [];\r\n if (type == \"YesNo\") {\r\n let option1 = {\r\n optionID: 1,\r\n optionValue: \"Yes\",\r\n itemsInRow: 1\r\n };\r\n let option2 = {\r\n optionID: 2,\r\n optionValue: \"No\",\r\n itemsInRow: 1\r\n };\r\n optionarray.push(option1);\r\n optionarray.push(option2);\r\n }\r\n if (type == \"Selection\" || type == \"MultipleSelection\") {\r\n if (optns.length > 0) {\r\n optns.forEach((value, index) => {\r\n let option = {\r\n optionID: index,\r\n optionValue: value,\r\n itemsInRow: 1\r\n };\r\n optionarray.push(option);\r\n });\r\n }\r\n }\r\n return optionarray;\r\n }\r\n\r\n bindQuestionOptionsForRefill(type: string, optns: any[]): any[] {\r\n let optionarray = [];\r\n if (type == \"YesNo\") {\r\n let option1 = {\r\n optionID: 1,\r\n optionValue: \"Yes\",\r\n itemsInRow: 1,\r\n isChildShow: true\r\n };\r\n let option2 = {\r\n optionID: 2,\r\n optionValue: \"No\",\r\n itemsInRow: 1\r\n };\r\n optionarray.push(option1);\r\n optionarray.push(option2);\r\n }\r\n if (type == \"Selection\" || type == \"MultipleSelection\") {\r\n if (optns.length > 0) {\r\n optns.forEach((value, index) => {\r\n let option = {\r\n optionID: index,\r\n optionValue: value,\r\n itemsInRow: 1\r\n };\r\n optionarray.push(option);\r\n });\r\n }\r\n }\r\n return optionarray;\r\n }\r\n\r\n previousClick() {\r\n debugger;\r\n this.stepCounter = this.stepCounter - 1;\r\n if (this.stepCounter == -1) {\r\n this.router.navigate([\"/acute-care\"]);\r\n }\r\n else {\r\n this.currentStep = this.surveySteps[this.stepCounter];\r\n this.checkPreviousShow(this.stepCounter);\r\n this.checkNextButtonShow(this.stepCounter);\r\n }\r\n\r\n }\r\n\r\n nextClick() {\r\n let serveyDetails = JSON.parse(sessionStorage.getItem(\"selectedSurvey\"));\r\n\r\n this.formDataCaptureString = \"\";\r\n\r\n this.formDataCaptureString = this.formDataCaptureString + JSON.stringify(this.answers);\r\n\r\n Object.keys(this.form.controls).forEach(key => {\r\n if (this.countForEmail == 12) {\r\n //console.log(this.form.controls[key]);\r\n this.emailValue = this.form.controls[key].value;\r\n }\r\n if (this.countForEmail == 10) {\r\n this.phoneValue = this.form.controls[key].value;\r\n }\r\n this.form.controls[key].markAsTouched();\r\n\r\n this.countForEmail++;\r\n });\r\n if (this.form.valid) {\r\n debugger;\r\n if (Number(serveyDetails.surveyTypeCode) != 5 &&\r\n (\r\n Number(serveyDetails.surveyId) != 2 &&\r\n Number(serveyDetails.surveyId) != 7 &&\r\n Number(serveyDetails.surveyId) != 10 &&\r\n Number(serveyDetails.surveyId) != 12\r\n )) {\r\n debugger;\r\n if (this.stepCounter == 0) {\r\n this.adminService.checkNonRefundedAccountByPatientEmail(this.emailValue).subscribe(res => {\r\n if (res && res.data) {\r\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\r\n data: {\r\n message: \"Your email address has been blocked due to refund policy.\",\r\n buttonText: {\r\n ok: 'OK',\r\n cancel: ''\r\n }\r\n }\r\n });\r\n\r\n dialogRef.afterClosed().subscribe((confirmed: boolean) => {\r\n this.router.navigate(['/intakeform/selector']);\r\n });\r\n }\r\n else {\r\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\r\n data: {\r\n message: \"Please confirm you have entered correct mobile number (Not a landline number).\",\r\n buttonText: {\r\n ok: 'I confirm my mobile number',\r\n cancel: 'Cancel'\r\n }\r\n }\r\n });\r\n\r\n dialogRef.afterClosed().subscribe((confirmed: boolean) => {\r\n if (confirmed) {\r\n const a = document.createElement('a');\r\n a.click();\r\n a.remove();\r\n console.log(this.stepCounter);\r\n\r\n this.proceedToNext();\r\n\r\n\r\n //Entry to log\r\n var logGuid = localStorage.getItem(\"logGuid\");\r\n if (logGuid == null || logGuid == '')\r\n logGuid = '';\r\n else\r\n localStorage.removeItem(\"logGuid\");\r\n\r\n var logModel: IntakeFormLogModel = {\r\n logConnId: logGuid,\r\n userPhone: this.phoneValue,\r\n userEmail: this.emailValue,\r\n userAction: serveyDetails ? serveyDetails.surveyTypeName : '' + \"->\" + (serveyDetails ? serveyDetails.surveyName : '') + \"-> Clicked On Next with step counter -> \" + this.stepCounter,\r\n userActionCode: 200,\r\n ipAddress: localStorage.getItem(\"clientIp\"),\r\n browserName: this.adminService.detectBrowserName(),\r\n browserVersion: this.adminService.detectBrowserVersion(),\r\n clientMetaData: this.adminService.detectClientDeviceMetadata(),\r\n formData: \"Steps: \" + this.formDataCaptureString,\r\n }\r\n this.insertIntakeFormLog(logModel);\r\n\r\n\r\n }\r\n });\r\n }\r\n });\r\n\r\n }\r\n else {\r\n this.proceedToNext();\r\n var logGuid = localStorage.getItem(\"logGuid\");\r\n if (logGuid == null || logGuid == '')\r\n logGuid = '';\r\n else\r\n localStorage.removeItem(\"logGuid\");\r\n\r\n var logModel: IntakeFormLogModel = {\r\n logConnId: logGuid,\r\n userPhone: this.phoneValue,\r\n userEmail: this.emailValue,\r\n userAction: serveyDetails ? serveyDetails.surveyTypeName : '' + \"->\" + (serveyDetails ? serveyDetails.surveyName : '') + \"-> Clicked On Next with step counter -> \" + this.stepCounter,\r\n userActionCode: 200,\r\n ipAddress: localStorage.getItem(\"clientIp\"),\r\n browserName: this.adminService.detectBrowserName(),\r\n browserVersion: this.adminService.detectBrowserVersion(),\r\n clientMetaData: this.adminService.detectClientDeviceMetadata(),\r\n formData: \"Steps: \" + this.formDataCaptureString,\r\n }\r\n this.insertIntakeFormLog(logModel);\r\n }\r\n }\r\n else {\r\n\r\n\r\n //Entry to log\r\n var logGuid = localStorage.getItem(\"logGuid\");\r\n if (logGuid == null || logGuid == '')\r\n logGuid = '';\r\n else\r\n localStorage.removeItem(\"logGuid\");\r\n\r\n if (this.emailValue == null || this.emailValue == undefined ||\r\n this.emailValue.toUpperCase() == \"NO\" || this.emailValue.toUpperCase() == \"YES\") //This is for COVID Treatment with Symptoms Already registered patient - Here options will have yes / no values only \r\n this.emailValue = localStorage.getItem(\"intakeFormEmail\");\r\n\r\n var logModel: IntakeFormLogModel = {\r\n logConnId: logGuid,\r\n userPhone: '', //Phone no. could not be fetched\r\n userEmail: this.emailValue,\r\n userAction: serveyDetails ? serveyDetails.surveyTypeName : '' + \"->\" + (serveyDetails ? serveyDetails.surveyName : '') + \"-> Clicked On Next with step counter -> \" + this.stepCounter,\r\n userActionCode: 200,\r\n ipAddress: localStorage.getItem(\"clientIp\"),\r\n browserName: this.adminService.detectBrowserName(),\r\n browserVersion: this.adminService.detectBrowserVersion(),\r\n clientMetaData: this.adminService.detectClientDeviceMetadata(),\r\n formData: \"Steps: \" + this.formDataCaptureString,\r\n }\r\n this.insertIntakeFormLog(logModel);\r\n\r\n console.log(this.stepCounter);\r\n this.proceedToNext();\r\n\r\n }\r\n\r\n }\r\n else {\r\n setTimeout(() => {\r\n window.scroll({ top: (window.innerHeight / 2.6) });\r\n\r\n });\r\n alert(\"please fill up all the required field.\");\r\n }\r\n }\r\n\r\n proceedToNext() {\r\n this.stepCounter = this.stepCounter + 1;\r\n this.currentStep = this.surveySteps[this.stepCounter];\r\n\r\n this.checkPreviousShow(this.stepCounter);\r\n this.checkNextButtonShow(this.stepCounter);\r\n window.scroll(0, 0);\r\n }\r\n\r\n checkPreviousShow(stepCounter) {\r\n //Change for always show previous button\r\n if (stepCounter > 0) {\r\n this.isDisplayPreviousButton = true;\r\n }\r\n else {\r\n this.isDisplayPreviousButton = true;\r\n }\r\n }\r\n checkNextButtonShow(stepCounter) {\r\n if (stepCounter < this.maxStepIndex) {\r\n this.isDisplayNextButton = true;\r\n }\r\n else {\r\n this.isDisplayNextButton = false;\r\n }\r\n }\r\n\r\n previousReviewClick() {\r\n debugger;\r\n this.formCompleted = false;\r\n this.checkNextButtonShow(this.stepCounter);\r\n\r\n }\r\n\r\n submitClick() {\r\n debugger;\r\n if (this.selectedSurvey.surveyId == 12 && this.savedFilesName == \"\" && this.medicineFiles.length > 0) {\r\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\r\n data: {\r\n message: \"Are you sure you want to upload the files?\",\r\n buttonText: {\r\n ok: 'OK',\r\n cancel: 'Cancel'\r\n }\r\n }\r\n })\r\n dialogRef.afterClosed().subscribe((confirmed: boolean) => {\r\n if (confirmed) {\r\n const a = document.createElement('a');\r\n a.click();\r\n a.remove();\r\n this.medicineUploadClick();\r\n }\r\n\r\n });\r\n\r\n }\r\n else {\r\n this.reviewFinalSurveyForm();\r\n }\r\n\r\n }\r\n\r\n reviewFinalSurveyForm() {\r\n Object.keys(this.form.controls).forEach(key => {\r\n this.form.controls[key].markAsTouched();\r\n });\r\n\r\n let serveyDetails = JSON.parse(sessionStorage.getItem(\"selectedSurvey\"));\r\n if (serveyDetails.surveyId == 2 || serveyDetails.surveyId == 7 || serveyDetails.surveyId == 10) {\r\n let existingSubmissionId = sessionStorage.getItem(\"existingSubmissionId\");\r\n console.log(existingSubmissionId);\r\n\r\n this.surveyServices.getExistingSurveyAsnwerBySubmissionId(Number(existingSubmissionId), serveyDetails.surveyId)\r\n .subscribe(res => {\r\n if (res.data != null) {\r\n res.data.forEach(q => {\r\n this.answers[q.questionId] = q.answer;\r\n });\r\n\r\n }\r\n });\r\n }\r\n this.surveySteps.forEach(step => {\r\n if (step.questions) {\r\n step.questions.forEach(question => {\r\n if (question.type == 'Date')\r\n this.answers[question.questionID] = new DatePipe(\"en-us\").transform(this.answers[question.questionID], 'MM/dd/yyyy');\r\n });\r\n }\r\n });\r\n\r\n if (this.form.valid) {\r\n this.formCompleted = true;\r\n }\r\n }\r\n\r\n stepHasAnswers(step) {\r\n return step.questions.some(q => {\r\n if (this.answers[q.questionID])\r\n return true;\r\n });\r\n }\r\n\r\n confirmClick() {\r\n this.formDataCaptureString = \"\";\r\n\r\n this.formDataCaptureString = this.formDataCaptureString + JSON.stringify(this.answers);\r\n\r\n\r\n let serveyDetails = JSON.parse(sessionStorage.getItem(\"selectedSurvey\"));\r\n let patId: number = 0;\r\n if (serveyDetails != null && (serveyDetails.surveyId == 2 || serveyDetails.surveyId == 7 || serveyDetails.surveyId == 10)) {\r\n let existingPatientId = sessionStorage.getItem(\"existingPatientId\");\r\n patId = Number(existingPatientId);\r\n }\r\n if (serveyDetails.surveyTypeCode == 5) {\r\n this.acuteCareModel = this.bindAcuteCareModel();\r\n sessionStorage.setItem(\"_acuteCare\", JSON.stringify(this.acuteCareModel));\r\n sessionStorage.setItem(\"_acuteAnswer\", JSON.stringify(this.answers));\r\n sessionStorage.setItem(\"_acuteAnswerDesc\", JSON.stringify(this.descAnswer));\r\n this.sharedService.setSurveySWubmissionDetails(this.acuteCareModel.surveySubmissionDetails);\r\n this.router.navigate(['/intakeform/payment']);\r\n }\r\n else {\r\n this.surveyServices.createSurveySubmission(this.answers).subscribe(res => {\r\n if (res.data > 0) {\r\n sessionStorage.setItem(\"patientAns\", JSON.stringify(this.answers));\r\n this.surveySubmissionDetails = {\r\n submissionId: res.data,\r\n patientDetails: {\r\n patientId: patId,\r\n firstName: this.answers[1],\r\n middleName: this.answers[2],\r\n lastName: this.answers[3],\r\n phoneNo: this.answers[10],\r\n email: this.answers[12],\r\n address: this.answers[5],\r\n state: this.answers[7],\r\n city: this.answers[6],\r\n zip: this.answers[8],\r\n zipCode: this.answers[8],\r\n gendar: this.answers[4],\r\n gender: this.answers[4],\r\n dob: this.answers[9],\r\n height: this.answers[15],\r\n weight: this.answers[16].toString(),\r\n },\r\n surveyDetails: JSON.parse(sessionStorage.getItem(\"selectedSurvey\"))\r\n };\r\n console.log(this.surveySubmissionDetails);\r\n this.sharedService.setSurveySWubmissionDetails(this.surveySubmissionDetails);\r\n\r\n //Entry to log\r\n var logGuid = localStorage.getItem(\"logGuid\");\r\n if (logGuid == null || logGuid == '')\r\n logGuid = '';\r\n else\r\n localStorage.removeItem(\"logGuid\");\r\n\r\n var logModel: IntakeFormLogModel = {\r\n logConnId: logGuid,\r\n userPhone: this.surveySubmissionDetails.patientDetails.phoneNo,\r\n userEmail: this.surveySubmissionDetails.patientDetails.email, //serveyDetails.email, \r\n userAction: serveyDetails ? serveyDetails.surveyTypeName : '' + \"->\" + (serveyDetails ? serveyDetails.surveyName : '') + \"-> Clicked to the payment page.\",\r\n userActionCode: 200,\r\n ipAddress: localStorage.getItem(\"clientIp\"),\r\n browserName: this.adminService.detectBrowserName(),\r\n browserVersion: this.adminService.detectBrowserVersion(),\r\n clientMetaData: this.adminService.detectClientDeviceMetadata(),\r\n formData: \"Steps: \" + this.formDataCaptureString,\r\n }\r\n this.insertIntakeFormLog(logModel);\r\n\r\n\r\n\r\n this.router.navigate(['/intakeform/payment']);\r\n }\r\n });\r\n }\r\n }\r\n\r\n openAlertDialog(alertMessage: string) {\r\n const dialogRef = this.dialog.open(AlertDialogComponent, {\r\n data: {\r\n message: alertMessage,\r\n buttonText: {\r\n cancel: 'OK'\r\n }\r\n },\r\n });\r\n }\r\n\r\n insertIntakeFormLog(logModel: IntakeFormLogModel) {\r\n this.adminService.InsertIntakeFormLog(logModel).subscribe(data => {\r\n if (data.error == null) {\r\n localStorage.setItem('logGuid', JSON.stringify(data.data));\r\n\r\n }\r\n else {\r\n //error in log\r\n }\r\n },\r\n //error => {\r\n\r\n //}\r\n );\r\n }\r\n\r\n checkDropdownSelectChange(question: SurveyQuestion, event) {\r\n console.log(event);\r\n\r\n console.log();\r\n if (question.questionID == 11141) {\r\n if (this.acuteCarePharmacyList.filter(f => f.name == event.value).length > 0) {\r\n let pharmacyDetails = this.acuteCarePharmacyList.filter(f => f.name == event.value)[0];\r\n if (pharmacyDetails.name != \"\" && pharmacyDetails.phone != \"\" && pharmacyDetails.fax) {\r\n this.answers[11142] = pharmacyDetails.name;\r\n this.answers[11177] = pharmacyDetails.phone;\r\n this.answers[11178] = pharmacyDetails.fax;\r\n\r\n setTimeout(() => {\r\n this.textInputs.toArray().forEach(f => {\r\n f.nativeElement.setAttribute(\"readonly\", true);\r\n });\r\n });\r\n }\r\n else {\r\n this.answers[11142] = \"\";\r\n this.answers[11177] = \"\";\r\n this.answers[11178] = \"\";\r\n setTimeout(() => {\r\n this.textInputs.toArray().forEach(f => {\r\n f.nativeElement.removeAttribute(\"readonly\");\r\n });\r\n });\r\n\r\n }\r\n }\r\n else {\r\n setTimeout(() => {\r\n this.textInputs.toArray().forEach(f => {\r\n f.nativeElement.removeAttribute(\"readonly\");\r\n });\r\n });\r\n }\r\n\r\n }\r\n\r\n }\r\n\r\n radioChange(question, event) {\r\n debugger;\r\n let selectOptionDetails = question.options.filter(f=>f.optionValue == event.value);\r\n if(selectOptionDetails[0].isChildShow) {\r\n question.initialView = true;\r\n }\r\n else {\r\n question.initialView = false;\r\n }\r\n }\r\n\r\n showStopper(event) {\r\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\r\n data: {\r\n message: \"For your safety, we advise you to seek your primary care doctor.\",\r\n buttonText: {\r\n ok: 'OK',\r\n cancel: ''\r\n }\r\n }\r\n });\r\n\r\n dialogRef.afterClosed().subscribe((confirmed: boolean) => {\r\n if (confirmed) {\r\n const a = document.createElement('a');\r\n a.click();\r\n a.remove();\r\n this.router.navigate(['/acute-care']);\r\n }\r\n else {\r\n event.value = \"\";\r\n }\r\n });\r\n }\r\n\r\n bindAcuteCareModel(): AcuteCareModel {\r\n let acuteCare: AcuteCareModel;\r\n acuteCare = {\r\n pharmacyDetails: {\r\n pharmacyFax: \"FAX\",\r\n pharmacyName: \"TestPharmacy\",\r\n pharmacyPhone: \"Test Phone\"\r\n },\r\n surveySubmissionDetails: {\r\n submissionId: 0,\r\n patientDetails: {\r\n patientId: 0,\r\n firstName: this.answers[1111],\r\n middleName: this.answers[1112],\r\n lastName: this.answers[1113],\r\n phoneNo: this.answers[11110],\r\n email: this.answers[11112],\r\n address: this.answers[1115],\r\n state: this.answers[1117],\r\n city: this.answers[1116],\r\n zip: this.answers[1118],\r\n zipCode: this.answers[1118],\r\n gendar: this.answers[1114],\r\n gender: this.answers[1114],\r\n dob: this.answers[1119],\r\n height: '',\r\n weight: '',\r\n },\r\n surveyDetails: JSON.parse(sessionStorage.getItem(\"selectedSurvey\"))\r\n },\r\n surveyPaymentDetails: null,\r\n questionierDetails: null\r\n }\r\n return acuteCare;\r\n }\r\n\r\n getMedicineFileDetails(event) {\r\n debugger;\r\n if (this.medicineFiles) {\r\n for (var i = 0; i < event.target.files.length; i++) {\r\n if(this.medicineFiles.map(m => m.name).indexOf(event.target.files[i].name) <= -1) {\r\n this.medicineFiles.push(event.target.files[i]);\r\n }\r\n else {\r\n this.openAlertDialog(\"File already been selected.\");\r\n }\r\n \r\n }\r\n console.log(this.medicineFiles);\r\n }\r\n else {\r\n this.openAlertDialog(\"Please select a file to upload\");\r\n }\r\n\r\n this.medicineFileInput.nativeElement.value = \"\";\r\n\r\n }\r\n\r\n medicineUploadClick() {\r\n debugger;\r\n this.isSpinnerWait = true;\r\n const frmData = new FormData();\r\n if (this.medicineFiles && this.medicineFiles.length > 0) {\r\n for (var i = 0; i < this.medicineFiles.length; i++) {\r\n frmData.append(\"medicineFiles\", this.medicineFiles[i]);\r\n }\r\n\r\n this.surveyServices.medicinefileUpload(frmData).subscribe(res => {\r\n this.isSpinnerWait = false;\r\n if (res && res.data) {\r\n const savedFiles = JSON.stringify(res.data);\r\n this.savedFilesName = savedFiles;\r\n window.sessionStorage.setItem(\"_acuteCareMedicineFiles\", savedFiles);\r\n this.openAlertDialog(\"file uploaded successfully.\");\r\n this.reviewFinalSurveyForm();\r\n }\r\n else {\r\n this.openAlertDialog(\"error in file upload\");\r\n }\r\n });\r\n }\r\n else {\r\n this.isSpinnerWait = false;\r\n this.openAlertDialog(\"Pease select file to upload.\");\r\n }\r\n\r\n\r\n\r\n }\r\n\r\n deleteLicenseFile(file: any) {\r\n const index = this.medicineFiles.indexOf(file);\r\n if (index > -1) { // only splice array when item is found\r\n this.medicineFiles.splice(index, 1); // 2nd parameter means remove one item only\r\n }\r\n this.medicineFileInput.nativeElement.value = \"\";\r\n }\r\n\r\n showSampleMedicineImages() {\r\n const dialogRef = this.dialog.open(RegularSampleMedicineComponent, {\r\n data: {\r\n message: \"Your email address has been blocked due to refund policy.\",\r\n buttonText: {\r\n ok: 'OK',\r\n cancel: ''\r\n }\r\n }\r\n });\r\n dialogRef.afterClosed().subscribe((confirmed: boolean) => {\r\n \r\n const a = document.createElement('a');\r\n a.click();\r\n a.remove();\r\n\r\n\r\n \r\n });\r\n }\r\n\r\n\r\n\r\n}\r\n","
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n

Welcome to Telehealth Services

\r\n

with Dr Stella Immanuel MD

\r\n \r\n \r\n Step {{ (stepCounter + 1) + \" \" + currentStep.title }}\r\n {{ currentStep.subTitle }}\r\n \r\n \r\n\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n {{\r\n question.hint }}\r\n This field is\r\n required\r\n invalid\r\n \r\n\r\n \r\n {{ question.question }}\r\n \r\n\r\n \r\n\r\n \r\n
{{ question.question }}\r\n
\r\n
\r\n\r\n \r\n {{ question.question }}\r\n \r\n {{\r\n question.hint }}\r\n \r\n This field is required\r\n \r\n invalid\r\n \r\n\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n {{\r\n question.hint }}\r\n This field is\r\n required\r\n {{ controlid?.value\r\n }}\r\n
\r\n\r\n \r\n {{ question.question }}\r\n \r\n {{\r\n question.hint }}\r\n This field is\r\n required\r\n invalid\r\n email\r\n \r\n\r\n \r\n {{ question.question }}\r\n \r\n \r\n {{option.optionValue}}\r\n \r\n \r\n \r\n This field is required\r\n \r\n \r\n\r\n \r\n {{ question.question }}\r\n \r\n \r\n {{option.optionValue}}\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 {{ question.question }}*\r\n \r\n This field is required\r\n \r\n\r\n
\r\n \r\n
\r\n \r\n {{option.optionValue}}\r\n
\r\n\r\n \r\n \r\n {{option.optionValue}}\r\n \r\n\r\n
\r\n {{ question.hint }}\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n {{ question.question }}*\r\n\r\n \r\n This field is required\r\n \r\n
\r\n \r\n \r\n {{option.optionValue}}\r\n \r\n \r\n\r\n {{ question.hint }}\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n {{ question.question }}\r\n \r\n {{ question.hint }}\r\n \r\n This field is required\r\n \r\n invalid\r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n {{file.name}} - {{file.type}} - {{file.size}}\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n {{ question.question }}*\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n Sample Image\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n Description\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
{{ step.title }}
\r\n
\r\n \r\n : {{ answers[question.questionID]\r\n }}\r\n \r\n \r\n : {{ answers[question.questionID] | date\r\n : 'MM/dd/yyyy' }}\r\n \r\n\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n  \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n In case of difficulty in filling up the form, please email us\r\n at..\r\n

\r\n patienthelpdesk@drstellamd.com\r\n
\r\n Telephone -\r\n 832-808-5574\r\n

\r\n \r\n
\r\n
\r\n
\r\n
Powered by :
\r\n
\r\n
\r\n
\r\n\r\n
","import { Component } from '@angular/core';\nimport { MatDialogRef } from '@angular/material/dialog';\n\n@Component({\n selector: 'app-regular-sample-medicine',\n templateUrl: './regular-sample-medicine.component.html',\n styleUrls: ['./regular-sample-medicine.component.sass']\n})\nexport class RegularSampleMedicineComponent {\n constructor(public dialogRef: MatDialogRef) { }\n popupClose() {\n this.dialogRef.close();\n }\n}\n\n\n","
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n","import { DatePipe } from \"@angular/common\";\r\nimport { Component, ElementRef, OnInit, ViewChild } from \"@angular/core\";\r\nimport { FormBuilder, FormControl, FormGroup, Validators } from \"@angular/forms\";\r\nimport { MatDialog } from \"@angular/material/dialog\";\r\nimport { Router } from \"@angular/router\";\r\nimport { AlertDialogComponent } from \"src/app/admin/dialog/alert-dialog/alert-dialog.component\";\r\nimport { SharedComponentService } from \"src/app/api-services/shared-component-services/shared-component.service\";\r\nimport {\r\n ExistingSurveyPatientInfo,\r\n patientSearchModel,\r\n SurveyDetails,\r\n SurveySubmissionDetails,\r\n IntakeFormLogModel,\r\n SurveyMedicine,\r\n} from \"src/app/Models/survey-details\";\r\n\r\nimport { SurveyServicesService } from \"../api-services/survey-services/survey-services.service\";\r\nimport { AdminServicesService } from \"../api-services/admin-services/admin-services.service\";\r\nimport { ConfirmDialogComponent } from \"src/app/admin/dialog/confirm-dialog/confirm-dialog.component\";\r\n\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { DomSanitizer, SafeHtml } from \"@angular/platform-browser\";\r\nimport { AcuteCareStateComponent } from \"./acute-care-state/acute-care-state.component\";\r\nimport { Observable, map, startWith } from \"rxjs\";\r\nimport { IDropdownSettings } from \"ng-multiselect-dropdown\";\r\n\r\n\r\n@Component({\r\n selector: 'app-acute-care',\r\n templateUrl: './acute-care.component.html',\r\n styleUrls: ['./acute-care.component.sass']\r\n})\r\n\r\n\r\n\r\nexport class AcuteCareComponent implements OnInit {\r\n\r\n surveyDetails: SurveyDetails[];\r\n surveyTypes: string[];\r\n procedureRates: number[] = [];\r\n initialDisplay: boolean = true;\r\n selectedSurveyDetailsId: number;\r\n faqHtml: SafeHtml = \"\";\r\n\r\n isSpinnerWait: boolean = false;\r\n patientState: string = \"\";\r\n \r\n\r\n refillMedicinePrices: any[];\r\n refillMedicines: any[];\r\n cuteCateSelectedSurveyDetails: SurveyDetails;\r\n\r\n dropdownList = [];\r\n selectedItems = [];\r\n regularMedicineList: SurveyMedicine[];\r\n drug_List: any[] = [];\r\n dropdownSettings: IDropdownSettings = {\r\n singleSelection: false,\r\n idField: 'item_id',\r\n textField: 'item_text',\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n itemsShowLimit: 3,\r\n allowSearchFilter: true,\r\n enableCheckAll: false,\r\n limitSelection: 3\r\n };\r\n\r\n selectFormControl = new FormControl();\r\n searchTextboxControl = new FormControl();\r\n\r\n surveySubmissionDetails: SurveySubmissionDetails;\r\n constructor(\r\n private surveyServices: SurveyServicesService,\r\n private router: Router,\r\n public adminService: AdminServicesService,\r\n private sharedService: SharedComponentService,\r\n private datePipe: DatePipe,\r\n private dialog: MatDialog,\r\n private http: HttpClient,\r\n private sanitizer: DomSanitizer,\r\n private _formBuilder: FormBuilder\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n\r\n this.freshLoad();\r\n this.loadPatientState();\r\n }\r\n bindResponseData(data: any, price: any): SurveyDetails[] {\r\n debugger;\r\n let serveyDetails: SurveyDetails[] = null;\r\n if (data && data.length > 0) {\r\n serveyDetails = [];\r\n data.forEach(f => {\r\n let details: SurveyDetails = {\r\n hasRecordCheck: false,\r\n procedureRate: price,\r\n shippingCharge: 0,\r\n surveyCode: f.id,\r\n surveyId: f.id,\r\n surveyName: f.service_name,\r\n surveyTypeCode: \"5\",\r\n surveyTypeName: f.service_type,\r\n description: f.description,\r\n created_at: f.created_at,\r\n service_mode: f.service_mode,\r\n updated_at: f.updated_at,\r\n RefPatientStatus: f.RefPatientStatus,\r\n };\r\n serveyDetails.push(details);\r\n });\r\n }\r\n return serveyDetails;\r\n }\r\n\r\n loadPatientState() {\r\n let data: any[] = null;\r\n const dialogRef = this.dialog.open(AcuteCareStateComponent, { data: data });\r\n dialogRef.afterClosed().subscribe(data => {\r\n if (data) {\r\n if(data.isSubmit) {\r\n var acuteCateSelectedSurvey: SurveyDetails = JSON.parse(sessionStorage.getItem(\"AcuteCateSelectedSurvey\"));\r\n this.cuteCateSelectedSurveyDetails = acuteCateSelectedSurvey;\r\n sessionStorage.setItem(\"_AcuteCarePatientState\", data.stateName);\r\n \r\n this.isSpinnerWait = true;\r\n if (acuteCateSelectedSurvey.surveyId == 12) {\r\n // acute care refill process starts\r\n this.initialDisplay = false;\r\n this.getAcuteCareRefillMedicinePriceList()\r\n this.AcuteCareRefillDetails();\r\n }\r\n else if (acuteCateSelectedSurvey.surveyId == 11 || acuteCateSelectedSurvey.surveyId == 16) {\r\n // acute care general treatment \r\n this.AcuteOfflineCareGeneralTreatmentDetails(data);\r\n }\r\n else {\r\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\r\n data: {\r\n message: 'General consult cannot be used for situations like: *Conditions requiring a thorough in-person examination *Prescription and refill of controlled substances *Any condition requiring in-person drug administration *Psychiatric emergencies *Highly specialized care and complex medical conditions',\r\n buttonText: {\r\n ok: 'Proceed',\r\n cancel: ''\r\n }\r\n }\r\n });\r\n dialogRef.afterClosed().subscribe((confirmed: boolean) => {\r\n if (confirmed) {\r\n const a = document.createElement('a');\r\n a.click();\r\n a.remove();\r\n this.onlineGeneralTreatment(data);\r\n }\r\n });\r\n \r\n }\r\n \r\n }\r\n else {\r\n this.router.navigate([\"/intakeform\"]);\r\n }\r\n \r\n }\r\n else {\r\n this.openAlertDialog(\"error handle.\");\r\n }\r\n });\r\n }\r\n\r\n AcuteOfflineCareGeneralTreatmentDetails(data) {\r\n this.surveyServices.getServiceOfferDetails(data.stateName).subscribe((response) => {\r\n this.isSpinnerWait = false;\r\n if (response && response.data && response.data.success) {\r\n debugger;\r\n let offlineServiceOfferList = response.data.result.filter(f=>f.id != 25);\r\n this.surveyDetails = this.bindResponseData(offlineServiceOfferList, response.data.price);\r\n\r\n this.surveyTypes = [...new Set(this.surveyDetails.map((item) => item.surveyTypeName))];\r\n this.procedureRates = [...new Set(this.surveyDetails.map((item) => item.procedureRate))];\r\n\r\n } else {\r\n this.openAlertDialog(\"error handle.\");\r\n }\r\n });\r\n }\r\n\r\n onlineGeneralTreatment(data) {\r\n this.surveyServices.getServiceOfferDetails(data.stateName).subscribe((response) => {\r\n this.isSpinnerWait = false;\r\n if (response && response.data && response.data.success) {\r\n let offlineServiceOfferList = response.data.result.filter(f=>f.id == 24);\r\n this.surveyDetails = this.bindResponseData(offlineServiceOfferList, response.data.price);\r\n\r\n this.surveyTypes = [...new Set(this.surveyDetails.map((item) => item.surveyTypeName))];\r\n this.procedureRates = [...new Set(this.surveyDetails.map((item) => item.procedureRate))];\r\n this.surveySelectorClick(24);\r\n } else {\r\n this.openAlertDialog(\"error handle.\");\r\n }\r\n });\r\n }\r\n\r\n AcuteCareRefillDetails() {\r\n debugger;\r\n this.surveyServices.getAcuteCareDrugList().subscribe(res => {\r\n this.isSpinnerWait = false;\r\n if (res && res.data) {\r\n this.refillMedicines = res.data.result;\r\n if (this.refillMedicines && this.refillMedicines.length > 0) {\r\n let list: any[] = [];\r\n this.refillMedicines.forEach(f => {\r\n if (f.drug_list && f.drug_list.length > 0) {\r\n let option: any;\r\n f.drug_list.forEach(item => {\r\n option = { \r\n item_id: item.drug_id, \r\n item_text: item.drug_full_name + \", \" + item.days,\r\n item_qty_text: item.drug_full_name,\r\n item_category_id: f.category_id,\r\n item_category_name: f.category_name,\r\n item_tier: item.tier,\r\n item_price: this.calculateAcuteCareRefillMedicinePrice(item.tier, item.price),\r\n iten_basePrice: item.price,\r\n item_quantity: item.quantity,\r\n item_days: item.days\r\n };\r\n list.push(option);\r\n });\r\n }\r\n });\r\n this.dropdownList = list;\r\n this.setRegularMedicines(this.selectedItems);\r\n }\r\n\r\n console.log(this.refillMedicines);\r\n }\r\n });\r\n }\r\n\r\n getAcuteCareRefillMedicinePriceList() {\r\n this.surveyServices.getAcuteCareRefillMedicineDetails().subscribe(res => {\r\n if(res && res.data) {\r\n this.refillMedicinePrices = res.data;\r\n }\r\n });\r\n }\r\n\r\n calculateAcuteCareRefillMedicinePrice(tierName: string, medPrice: number): number {\r\n debugger;\r\n let selectedPrice: number = medPrice;\r\n if(tierName) {\r\n selectedPrice = this.refillMedicinePrices.filter(f => f.tier.toUpperCase() == tierName.trim().toUpperCase())[0].price;\r\n }\r\n return selectedPrice;\r\n }\r\n\r\n onItemSelect(item: any) {\r\n this.setRegularMedicines(this.selectedItems);\r\n }\r\n onItemDeSelect(item: any) {\r\n this.setRegularMedicines(this.selectedItems);\r\n }\r\n onSelectAll(items: any) {\r\n console.log(items);\r\n }\r\n\r\n categoryChange(event) {\r\n\r\n }\r\n\r\n setRegularMedicines(selectedItems: any[]) {\r\n if(selectedItems && selectedItems.length > 0) {\r\n this.regularMedicineList = [];\r\n selectedItems.forEach(f => {\r\n let result = this.dropdownList.find(w=>w.item_id == f.item_id);\r\n let medicine: SurveyMedicine = {\r\n activeMedicine: true,\r\n amount: Number(result.item_price),\r\n acuteCare_refillPrice: result.iten_basePrice,\r\n isChecked: true,\r\n isMandatory: true,\r\n medicineName: result.item_qty_text,\r\n quantity: 0,\r\n medicineId: result.item_id,\r\n categoryName: result.item_category_name,\r\n categoryId: result.item_category_id,\r\n medicinePackageId: Number(result.item_category_id),\r\n tier: result.item_tier,\r\n days: result.item_days\r\n }\r\n this.regularMedicineList.push(medicine);\r\n this.drug_List.push(result);\r\n });\r\n }\r\n }\r\n\r\n acuteCareRefillSelection() {\r\n debugger;\r\n let selectedSurvey: SurveyDetails = {\r\n hasRecordCheck: this.cuteCateSelectedSurveyDetails.hasRecordCheck,\r\n procedureRate: this.cuteCateSelectedSurveyDetails.procedureRate,\r\n shippingCharge: this.cuteCateSelectedSurveyDetails.shippingCharge,\r\n surveyCode: this.cuteCateSelectedSurveyDetails.surveyId,\r\n surveyId: this.cuteCateSelectedSurveyDetails.surveyId,\r\n surveyName: \"Regular medicine refill\",\r\n surveyTypeCode: \"5\",\r\n surveyTypeName: \"Acute Care\",\r\n RefPatientStatus: this.cuteCateSelectedSurveyDetails.RefPatientStatus,\r\n }\r\n sessionStorage.setItem(\"selectedSurvey\", JSON.stringify(selectedSurvey));\r\n sessionStorage.setItem(\"_isAcuteSurvey\", 'yes');\r\n sessionStorage.setItem(\"_acuteCareRegularRefillMedicines\", JSON.stringify(this.regularMedicineList))\r\n this.router.navigate([\"/acute-care/steps\"]);\r\n }\r\n\r\n freshLoad() {\r\n sessionStorage.removeItem(\"selectedSurvey\");\r\n sessionStorage.removeItem(\"procedureRate\");\r\n sessionStorage.removeItem(\"existingSubmissionId\");\r\n sessionStorage.removeItem(\"existingPatientId\");\r\n localStorage.removeItem(\"intakeFormEmail\");\r\n sessionStorage.removeItem(\"patientAns\");\r\n sessionStorage.removeItem(\"_isAcuteSurvey\");\r\n\r\n sessionStorage.removeItem(\"_acuteCare\");\r\n sessionStorage.removeItem(\"_acuteAnswer\");\r\n sessionStorage.removeItem(\"_acuteAnswerDesc\");\r\n sessionStorage.removeItem(\"_acuteCareStepsDetails\");\r\n sessionStorage.removeItem(\"_criticalDataForPaymentPage\");\r\n sessionStorage.removeItem(\"_AcuteCarePatientState\");\r\n\r\n }\r\n\r\n getSurveyDetailsByType(selectedType: string): SurveyDetails[] {\r\n return this.surveyDetails.filter((f) => f.surveyTypeName == selectedType);\r\n }\r\n\r\n surveySelectorClick(surveyId: any): void {\r\n debugger;\r\n console.log(surveyId);\r\n this.selectedSurveyDetailsId = surveyId;\r\n debugger;\r\n this.openRatePopup(surveyId);\r\n let selectedSurvey: SurveyDetails = this.surveyDetails.find((f) => f.surveyId == surveyId);\r\n sessionStorage.setItem(\"selectedSurvey\", JSON.stringify(selectedSurvey));\r\n sessionStorage.setItem(\"procedureRate\", JSON.stringify(this.procedureRates));\r\n if (!selectedSurvey.hasRecordCheck) {\r\n sessionStorage.setItem(\"_isAcuteSurvey\", 'yes');\r\n this.router.navigate([\"/acute-care/steps\"]);\r\n } else {\r\n this.initialDisplay = false;\r\n }\r\n }\r\n\r\n openRatePopup(surveyId: number) {\r\n\r\n }\r\n\r\n submitExistingPatientForm() {\r\n\r\n }\r\n\r\n openAlertDialog(alertMessage: string) {\r\n const dialogRef = this.dialog.open(AlertDialogComponent, {\r\n data: {\r\n message: alertMessage,\r\n buttonText: {\r\n cancel: \"Proceed\",\r\n },\r\n },\r\n });\r\n }\r\n\r\n\r\n public checkError = (controlName: string, errorName: string) => {\r\n\r\n };\r\n\r\n}\r\n\r\n\r\n","
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

Welcome to Telehealth Services

\r\n

with Dr Stella Immanuel MD

\r\n \r\n \r\n
\r\n Select Survey\r\n
\r\n \r\n Enter Details\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n

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

In case your concern is not on the list, please choose 'General Health.'

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

Regular medicine refill (Upto 90 Days)

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

\r\n add_shopping_cart\r\n \r\n Empty selection\r\n \r\n

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

Name: {{item.medicineName}}

\r\n

Category: {{item.categoryName}}

\r\n

Tier: {{item.tier}}

\r\n

Days: {{item.days}}

\r\n

Price: {{item.amount}}

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

 

\r\n

 

\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n In case of difficulty in filling up the form, please email us\r\n at..\r\n

\r\n patienthelpdesk@drstellamd.com\r\n
\r\n Telephone\r\n - 832-808-5574\r\n
\r\n

\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n
Powered by :
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { MatDialogRef, MatDialog, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\n\r\n\r\n@Component({\r\n selector: 'app-alert-dialog',\r\n templateUrl: './alert-dialog.component.html',\r\n styleUrls: ['./alert-dialog.component.sass']\r\n})\r\nexport class AlertDialogComponent {\r\n\r\n message: string = \"\"\r\n cancelButtonText = \"Cancel\"\r\n constructor(\r\n @Inject(MAT_DIALOG_DATA) private data: any,\r\n private dialogRef: MatDialogRef) {\r\n if (data) {\r\n this.message = data.message || this.message;\r\n if (data.buttonText) {\r\n this.cancelButtonText = data.buttonText.cancel || this.cancelButtonText;\r\n }\r\n }\r\n this.dialogRef.updateSize('300vw','300vw');\r\n this.dialogRef.disableClose = true;\r\n }\r\n\r\n onConfirmClick(): void {\r\n this.dialogRef.close(true);\r\n }\r\n\r\n}\r\n","\r\n {{message}}\r\n\r\n\r\n\r\n\r\n","import { Component, OnInit, Inject } from '@angular/core';\r\nimport { MatDialogRef, MatDialog, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\n\r\n@Component({\r\n selector: 'app-confirm-dialog',\r\n templateUrl: './confirm-dialog.component.html',\r\n styleUrls: ['./confirm-dialog.component.sass']\r\n})\r\nexport class ConfirmDialogComponent {\r\n\r\n message: string = \"Are you sure?\"\r\n confirmButtonText = \"Yes\"\r\n cancelButtonText = \"Cancel\"\r\n constructor(\r\n @Inject(MAT_DIALOG_DATA) private data: any,\r\n private dialogRef: MatDialogRef) {\r\n if (data) {\r\n this.message = data.message || this.message;\r\n if (data.buttonText) {\r\n this.confirmButtonText = data.buttonText.ok || this.confirmButtonText;\r\n this.cancelButtonText = data.buttonText.cancel;\r\n }\r\n }\r\n }\r\n\r\n isDisplayCancelButton() {\r\n if(this.cancelButtonText != \"\") {\r\n return true;\r\n }\r\n else {\r\n return false;\r\n }\r\n }\r\n\r\n onConfirmClick(): void {\r\n this.dialogRef.close(true);\r\n }\r\n\r\n}\r\n","\r\n\t

\r\n\t\t{{message}}\r\n\t

\r\n
\r\n\r\n\t\r\n\t\r\n","import { Component, OnInit } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { SurveyServicesService } from 'src/app/api-services/survey-services/survey-services.service';\n\n@Component({\n selector: 'app-affiliate-login',\n templateUrl: './affiliate-login.component.html',\n styleUrls: ['./affiliate-login.component.sass']\n})\nexport class AffiliateLoginComponent implements OnInit {\n\n _SessionKey: string = \"OTP\";\n initialView: boolean = true;\n affiliateMarketLoginForm = new FormGroup({\n email: new FormControl(\"\", [Validators.required])\n });\n\n validateOTPForm = new FormGroup({\n OTP: new FormControl(\"\", [Validators.required])\n });\n\n constructor(private appService: SurveyServicesService, private router: Router) { }\n\n ngOnInit(): void {\n this.sessionGet();\n }\n\n submitAffiliateMarketLogin() {\n let form = this.affiliateMarketLoginForm;\n let email: string = form.value[\"email\"]\n this.appService.getAffiliateMarketingLoginOTP(email).subscribe(res => {\n debugger;\n if(res && res.data) {\n let OTP: string = res.data;\n this.sessionSet(this._SessionKey, OTP, 1);\n this.initialView = false;\n window.sessionStorage.setItem(\"_email\", email);\n }\n });\n \n }\n\n submitOTP() {\n let form = this.validateOTPForm;\n let OTP: string = form.value[\"OTP\"];\n let storedValue = this.sessionGet();\n if(OTP == storedValue) {\n\n this.router.navigate(['/affiliate-market/dashboard']);\n }\n }\n\n sessionGet() {\n let stringValue = window.sessionStorage.getItem(this._SessionKey)\n if (stringValue !== null) {\n let value = JSON.parse(stringValue)\n let expirationDate = new Date(value.expirationDate)\n if (expirationDate > new Date()) {\n return value.value\n } else {\n window.sessionStorage.removeItem(this._SessionKey);\n alert(\"OTP got expired. Please try again.\");\n }\n }\n return null\n }\n\n sessionSet(key, value, expirationInMin = 10) {\n let expirationDate = new Date(new Date().getTime() + (60000 * expirationInMin))\n let newValue = {\n value: value,\n expirationDate: expirationDate.toISOString()\n }\n window.sessionStorage.setItem(key, JSON.stringify(newValue))\n }\n\n public checkError = (controlName: string, errorName: string) => {\n return this.affiliateMarketLoginForm.controls[controlName].hasError(errorName);\n };\n\n public checkErrorOTP = (controlName: string, errorName: string) => {\n return this.validateOTPForm.controls[controlName].hasError(errorName);\n };\n\n}\n","
\r\n \r\n

\r\n Welcome to Dr Stella Immanuel MD\r\n

\r\n \r\n Login\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n Email\r\n *\r\n \r\n \r\n Email 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 OTP\r\n *\r\n \r\n \r\n OTP 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","import { DatePipe } from '@angular/common';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { SurveyServicesService } from 'src/app/api-services/survey-services/survey-services.service';\r\nimport { PromoterModel } from 'src/app/Models/affiliate-market';\r\nimport * as XLSX from 'xlsx';\r\n\r\n@Component({\r\n selector: 'app-affiliate-market',\r\n templateUrl: './affiliate-market.component.html',\r\n styleUrls: ['./affiliate-market.component.sass']\r\n})\r\nexport class AffiliateMarketComponent implements OnInit {\r\n\r\n endDate: Date = new Date();\r\n startDate: Date = new Date(new Date().setDate(this.endDate.getDate() - 30));\r\n totalAmount: number = 0.0;\r\n exportButtonDisabled: boolean = true;\r\n \r\n dataSource: MatTableDataSource;\r\n promotions: PromoterModel[];\r\n displayedColumns: string[] = ['applicationName', 'promoName', 'amount'];\r\n\r\n constructor(private appService: SurveyServicesService, private datePipe: DatePipe) { }\r\n\r\n ngOnInit(): void {\r\n let email: string = window.sessionStorage.getItem(\"_email\");\r\n this.getPromotionDetails(email);\r\n }\r\n\r\n getPromotionDetails(email: string, startDate: string = \"\", endDate: string = \"\") {\r\n this.appService.getAffiliateMarketingPromotionDetails(email, startDate, endDate).subscribe(res => {\r\n if(res && res.data) {\r\n this.promotions = new Array();\r\n let telehealthRecords = res.data.promotions.filter(f=>f.applicationId == 1);\r\n if(telehealthRecords && telehealthRecords.length > 0) {\r\n const sum = telehealthRecords.reduce((sum, current) => sum + current.promotionAmount, 0);\r\n let telePromo: PromoterModel = {\r\n applicationName: telehealthRecords[0].applicationName,\r\n promoterEmail: email,\r\n promoName: telehealthRecords[0].promoName, //telehealthRecords[0].promoName,\r\n startDate: res.data.startDate,\r\n endDate: res.data.endDate,\r\n amount: sum\r\n }\r\n this.promotions.push(telePromo);\r\n \r\n }\r\n\r\n let marketPlaceRecords = res.data.promotions.filter(f=>f.applicationId == 2);\r\n if(marketPlaceRecords && marketPlaceRecords.length > 0) {\r\n const sum = marketPlaceRecords.reduce((sum, current) => sum + current.promotionAmount, 0);\r\n let marketPromo: PromoterModel = {\r\n applicationName: marketPlaceRecords[0].applicationName,\r\n promoterEmail: email,\r\n promoName: marketPlaceRecords[0].promoName, //marketPlaceRecords[0].promoName,\r\n startDate: res.data.startDate,\r\n endDate: res.data.endDate,\r\n amount: sum\r\n }\r\n this.promotions.push(marketPromo);\r\n }\r\n console.log(this.promotions);\r\n this.getTotalAmount(this.promotions);\r\n this.dataSource = new MatTableDataSource(this.promotions);\r\n this.exportButtonDisabled = false;\r\n }\r\n });\r\n }\r\n\r\n searchRecord() {\r\n let sDate = this.datePipe.transform(this.startDate, \"yyyy-MM-dd\");\r\n let eDate = this.datePipe.transform(this.endDate, \"yyyy-MM-dd\");\r\n let email: string = window.sessionStorage.getItem(\"_email\");\r\n this.getPromotionDetails(email, sDate, eDate);\r\n }\r\n\r\n getTotalAmount(data) {\r\n this.totalAmount = data.map(t => t.amount).reduce((acc, value) => acc + value, 0);\r\n }\r\n\r\n exportexcel() {\r\n //debugger;\r\n \r\n \r\n let fileName = 'Promotion-Details.xlsx';\r\n\r\n let readyToExport = this.dataSource.data;\r\n\r\n var obj = {};\r\n\r\n const ws: XLSX.WorkSheet = XLSX.utils.json_to_sheet(readyToExport);\r\n\r\n //console.log(\"HEADERS : \" + readyToExport);\r\n var header = Object.keys(readyToExport[0]); // columns name\r\n\r\n var wscols = [];\r\n for (var i = 0; i < header.length; i++) { // columns length added\r\n wscols.push({ wch: header[i].length + 5 })\r\n }\r\n\r\n /* generate workbook and add the worksheet */\r\n const wb: XLSX.WorkBook = XLSX.utils.book_new();\r\n XLSX.utils.book_append_sheet(wb, ws, 'Sheet1');\r\n\r\n /* save to file */\r\n XLSX.writeFile(wb, fileName, { bookType: 'xlsx', type: 'buffer' });\r\n\r\n\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Marketing Details

\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n Choose start date\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Choose end date\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \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\r\n {{element.applicationName}} Promo Name\r\n {{element.promoName}} TotalTotal {{element.amount | currency}} {{ totalAmount | currency }}
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","import { Injectable } from '@angular/core';\r\nimport { HttpHeaders, HttpErrorResponse, HttpClient,HttpClientModule } from '@angular/common/http';\r\nimport { Observable, throwError } from 'rxjs';\r\nimport { catchError, map } from 'rxjs/operators';\r\nimport { ServiceUrl } from 'src/app/api-services/service-url';\r\nimport { ReportRequest } from '../../core/models/LoginDetails';\r\nimport { EmailProperties } from '../../core/models/EmailProperties';\r\nimport { AssignToPharmaModel, PharmaPaymentModel, PremiumUserSearchModel, SubmissionCountSearch, SubmissionOperationModel, SubmissionSearchModel, SubmissionTextSearchModel } from 'src/app/Models/submission-details';\r\nimport {LoginResetModel} from 'src/app/Models/login-model';\r\nimport { MedicinePackageModel, MedicinePackageSearchModel, PromocodePackageModel, PromocodeSearchModel, UploadExcelModel } from 'src/app/Models/report-model';\r\nimport { patientSearchModel } from 'src/app/Models/survey-details';\r\nimport { UserMenues } from 'src/app/Models/user-menues';\r\nimport { UserMap } from 'src/app/Models/user-map';\r\nimport { DeviceDetectorService } from \"ngx-device-detector\";\r\n// import { isNullOrUndefined } from 'util';\r\n//import 'rxjs/add/operator/map'; \r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AdminServicesService {\r\n\r\n adminService = this.dynamicServiceUrls.admin;\r\n headers = new HttpHeaders().set('Content-Type','application/json')\r\n\r\n webApiUrl = '';\r\n postData = ''; \r\n objLoginDetails: any;\r\n\r\n\r\n\r\n\r\n\r\n constructor(private http : HttpClient,\r\n private dynamicServiceUrls: ServiceUrl,\r\n private reportRequest: ReportRequest,\r\n private deviceService: DeviceDetectorService\r\n //private _snackBar: MatSnackBar\r\n ) {\r\n\r\n }\r\n \r\n\r\n errorHandler(error: HttpErrorResponse){\r\n let errorMessage = `Error code ${error.status}\\nMessage: ${error.message}`;\r\n return throwError(errorMessage);\r\n }\r\n\r\n getUserLoginDetails(){\r\n return this.http.get(`${ this.adminService }GetUserLoginDetails`,\r\n { headers: this.headers}).pipe(catchError(this.errorHandler));\r\n }\r\n\r\n getLoginUserTypes() {\r\n return this.http.get(`${ this.adminService }GetLoginUserTypes`,\r\n { headers: this.headers}).pipe(catchError(this.errorHandler));\r\n }\r\n\r\n public getIPAddress() \r\n { \r\n //debugger;\r\n //return this.http.get(\"https://cors-anywhere.herokuapp.com/http://api.ipify.org/?format=json\"); \r\n return this.http.get(\"http://api.ipify.org/?format=jsonp&callback=JSONP_CALLBACK\"); \r\n } \r\n\r\n public detectBrowserName() { \r\n const agent = window.navigator.userAgent.toLowerCase();\r\n switch (true) {\r\n case agent.indexOf('edge') > -1:\r\n return 'edge';\r\n case agent.indexOf('opr') > -1 && !!(window).opr:\r\n return 'opera';\r\n case agent.indexOf('chrome') > -1 && !!(window).chrome:\r\n return 'chrome';\r\n case agent.indexOf('trident') > -1:\r\n return 'ie';\r\n case agent.indexOf('firefox') > -1:\r\n return 'firefox';\r\n case agent.indexOf('safari') > -1:\r\n return 'safari';\r\n default:\r\n return 'other';\r\n }\r\n }\r\n\r\n public detectBrowserVersion(){\r\n var userAgent = navigator.userAgent, tem, \r\n matchTest = userAgent.match(/(opera|chrome|safari|firefox|msie|trident(?=\\/))\\/?\\s*(\\d+)/i) || [];\r\n \r\n if(/trident/i.test(matchTest[1])){\r\n tem = /\\brv[ :]+(\\d+)/g.exec(userAgent) || [];\r\n return 'IE '+(tem[1] || '');\r\n }\r\n\r\n if(matchTest[1]=== 'Chrome'){\r\n tem = userAgent.match(/\\b(OPR|Edge)\\/(\\d+)/);\r\n if(tem!= null) return tem.slice(1).join(' ').replace('OPR', 'Opera');\r\n }\r\n\r\n matchTest= matchTest[2]? [matchTest[1], matchTest[2]]: [navigator.appName, navigator.appVersion, '-?'];\r\n\r\n if((tem= userAgent.match(/version\\/(\\d+)/i))!= null) matchTest.splice(1, 1, tem[1]);\r\n return matchTest.join(' ');\r\n }\r\n\r\n public detectClientDeviceMetadata() {\r\n var deviceInfo: any; \r\n var isMobile : boolean;\r\n var isTablet : boolean;\r\n var isDesktopDevice : boolean;\r\n\r\n \r\n deviceInfo = this.deviceService.getDeviceInfo();\r\n isMobile = this.deviceService.isMobile();\r\n isTablet = this.deviceService.isTablet();\r\n isDesktopDevice = this.deviceService.isDesktop();\r\n\r\n var metaData = deviceInfo.browser + \" -> \" + \r\n deviceInfo.browser_version + \" -> \" + \r\n deviceInfo.deviceType + \" -> \" + \r\n deviceInfo.orientation + \" -> \" + \r\n deviceInfo.os + \" -> \" + \r\n deviceInfo.os_version + \" -> \" + \r\n deviceInfo.userAgent;\r\n\r\n\r\n\r\n if( isMobile){\r\n return \"Metadata info : \" + metaData + \" , This is a mobile device.\"; \r\n }\r\n \r\n if( isTablet){\r\n return \"Metadata info : \" + metaData + \" , This is a tablet device.\"; \r\n }\r\n\r\n if( isDesktopDevice){\r\n return \"Metadata info : \" + metaData + \" , This is a desktop device.\"; \r\n }\r\n\r\n }\r\n\r\n insertUpdateLoginUserDetails (loginUserModel) {\r\n debugger;\r\n this.postData = JSON.stringify(loginUserModel);\r\n console.log('At Service Call (Login Model) : ' + this.postData);\r\n return this.http.post(`${ this.adminService }InsertUpdateLoginUserDetails`, this.postData,\r\n { headers: this.headers}).pipe(catchError(this.errorHandler));\r\n }\r\n\r\n InsertIntakeFormLog (intakeformLogModelData) {\r\n this.postData = JSON.stringify(intakeformLogModelData);\r\n console.log('At Service Call InsertIntakeFormLog (Login Model) : ' + this.postData);\r\n return this.http.post(`${ this.adminService }InsertIntakeFormLog`, this.postData,\r\n { headers: this.headers}).pipe(catchError(this.errorHandler));\r\n }\r\n\r\n deleteLoginUserDetails(id: any){\r\n return this.http.get(`${ this.adminService }DeleteLoginUserDetails?id=` + id,\r\n { headers: this.headers}).pipe(catchError(this.errorHandler));\r\n }\r\n\r\n getMedicine(){\r\n return this.http.get(`${this.adminService}GetMedicineDetails`, {headers: this.headers}).pipe(catchError(this.errorHandler)); \r\n }\r\n getPrescriptionMedicine(submissionId: number){\r\n return this.http.get(`${this.adminService}GetPrescriptionMedicine?submissionId=` + submissionId, {headers: this.headers}).pipe(catchError(this.errorHandler)); \r\n }\r\n\r\n getMedicineCategories(){\r\n return this.http.get(`${this.adminService}GetMedicineCategory`, {headers: this.headers}).pipe(catchError(this.errorHandler));\r\n }\r\n\r\n insertMedicine(medicineModel){\r\n this.postData = JSON.stringify(medicineModel);\r\n return this.http.post(`${this.adminService}AddMedicineDetails`, this.postData, {headers: this.headers}).pipe(catchError(this.errorHandler));\r\n }\r\n\r\n DeleteMedicineDetails(id:any){\r\n //this.postData = JSON.stringify(medicineId);\r\n return this.http.get(`${this.adminService}DeleteMedicineDetails?id=` +id, {headers: this.headers}).pipe(catchError(this.errorHandler));\r\n }\r\n\r\n getMedicineById(id:any){\r\n return this.http.get(`${this.adminService}GetMedicineById?id=` +id, {headers:this.headers}).pipe(catchError(this.errorHandler));\r\n }\r\n\r\n UpdateMedicineDetails(medicineModel){\r\n this.postData = JSON.stringify(medicineModel);\r\n return this.http.post(`${this.adminService}UpdateMedicineDetails`, this.postData, {headers:this.headers}).pipe(catchError(this.errorHandler));\r\n }\r\n\r\n //For format yyyy-MM-dd\r\n returnFormatedDate(inputDate: any) : any {\r\n let month = inputDate.getMonth() + 1;\r\n return inputDate.getFullYear() + '-' + \r\n (\"0\" + month).slice(-2) + '-' + \r\n (\"0\" + inputDate.getDate()).slice(-2);\r\n }\r\n\r\n GetActivityLogs(reportModel : ReportRequest){\r\n this.postData = JSON.stringify(reportModel);\r\n //this.reportRequest = reportModel;\r\n return this.http.post(`${this.adminService}GetActivityLogs`, this.postData, {headers:this.headers}).pipe(catchError(this.errorHandler));\r\n }\r\n\r\n sendmailToAllPatient(emailprop: EmailProperties){\r\n this.postData = JSON.stringify(emailprop);\r\n return this.http.post(`${ this.adminService }SendMailToPatient`, this.postData, { headers: this.headers}).pipe(catchError(this.errorHandler));\r\n }\r\n\r\n getPaymentReport(reportRequest: ReportRequest): Observable{\r\n this.webApiUrl = `${this.adminService}GetPaymentReport`;\r\n this.postData = JSON.stringify(reportRequest);\r\n return this.http.post(this.webApiUrl, this.postData, { headers: this.headers}).pipe(catchError(this.errorHandler));\r\n }\r\n\r\n getPharmacyList(): Observable{\r\n this.webApiUrl = `${this.adminService}GetPharmacyList`; \r\n\r\n return this.http.get(this.webApiUrl,{ headers: this.headers}).pipe(catchError(this.errorHandler));\r\n }\r\n\r\n getPharmacyReport(searchModel: any){\r\n this.postData = JSON.stringify(searchModel);\r\n return this.http.post(`${ this.adminService }GetPharmacyReport`, this.postData, { headers: this.headers}).pipe(catchError(this.errorHandler));\r\n }\r\n\r\n updateDeliveryNote(pharmacyModel) {\r\n this.postData = JSON.stringify(pharmacyModel);\r\n //console.log(\"Withing the Delivery Note : \" + this.postData);\r\n return this.http.post(`${ this.adminService }updateDeliveryNote`, this.postData, { headers: this.headers}).pipe(catchError(this.errorHandler));\r\n }\r\n\r\n UpdateDeliveryNoteBulk(uploadExcelModel : UploadExcelModel[]) {\r\n this.postData = JSON.stringify(uploadExcelModel);\r\n //console.log(\"Withing the Delivery Note : \" + this.postData);\r\n return this.http.post(`${ this.adminService }UpdateDeliveryNoteBulk`, this.postData, { headers: this.headers}).pipe(catchError(this.errorHandler));\r\n }\r\n\r\n getPayToPharmacyDetails(searchModel: any){\r\n this.postData = JSON.stringify(searchModel);\r\n return this.http.post(`${ this.adminService }GetPayToPharmacyDetails`, this.postData, { headers: this.headers}).pipe(catchError(this.errorHandler));\r\n }\r\n\r\n getPatientStatus(): Observable{\r\n this.webApiUrl = `${this.adminService}GetPatientStatus`; \r\n\r\n return this.http.get(this.webApiUrl,{ headers: this.headers}).pipe(catchError(this.errorHandler));\r\n }\r\n\r\n getPatientSurveyType(): Observable{\r\n this.webApiUrl = `${this.adminService}GetPatientSurveyType`; \r\n\r\n return this.http.get(this.webApiUrl,{ headers: this.headers}).pipe(catchError(this.errorHandler));\r\n }\r\n\r\n getSubmissionDetails(model: SubmissionSearchModel) {\r\n this.postData = JSON.stringify(model);\r\n //console.log(\"Withing the Delivery Note : \" + this.postData);\r\n return this.http.post(`${ this.adminService }GetSubmissionDetails`, this.postData, { headers: this.headers}).pipe(catchError(this.errorHandler));\r\n }\r\n\r\n getSubmissionDetailsWithSearch(model: SubmissionTextSearchModel) {\r\n this.postData = JSON.stringify(model);\r\n return this.http.post(`${ this.adminService }getSubmissionDetailsWithSearch`, this.postData, { headers: this.headers}).pipe(catchError(this.errorHandler));\r\n }\r\n\r\n getSubmissionAnswerDetailsBySubmissionId(submissionId: number): Observable{\r\n this.webApiUrl = `${this.adminService}GetSubmissionAnswerDetailsBySubmissionId?submissionId=` + submissionId; \r\n\r\n return this.http.get(this.webApiUrl,{ headers: this.headers}).pipe(catchError(this.errorHandler));\r\n }\r\n\r\n getDoctors(): Observable{\r\n this.webApiUrl = `${this.adminService}GetDoctors`; \r\n return this.http.get(this.webApiUrl,{ headers: this.headers}).pipe(catchError(this.errorHandler));\r\n }\r\n getPharmacies(): Observable{\r\n this.webApiUrl = `${this.adminService}GetPharmacies`; \r\n return this.http.get(this.webApiUrl,{ headers: this.headers}).pipe(catchError(this.errorHandler));\r\n }\r\n\r\n updateSubmissionDetails(model: SubmissionOperationModel) {\r\n this.postData = JSON.stringify(model);\r\n //console.log(\"Withing the Delivery Note : \" + this.postData);\r\n return this.http.post(`${ this.adminService }UpdateSubmissionDetails`, this.postData, { headers: this.headers}).pipe(catchError(this.errorHandler));\r\n }\r\n\r\n getHtmlOfSubmissionAnswerDetailsBySubmissionId(submissionId: number): Observable{\r\n this.webApiUrl = `${this.adminService}GetHtmlOfSubmissionAnswerDetailsBySubmissionId?submissionId=` + submissionId; \r\n //return this.http.get(this.webApiUrl,{ headers: this.headers}).pipe(catchError(this.errorHandler));\r\n return this.http.get(this.webApiUrl, {responseType : 'arraybuffer'}).pipe(catchError(this.errorHandler));\r\n }\r\n\r\n updatePharmacyPaymentDetails(model: PharmaPaymentModel) {\r\n this.postData = JSON.stringify(model);\r\n //console.log(\"Withing the Delivery Note : \" + this.postData);\r\n return this.http.post(`${ this.adminService }UpdatePharmacyPaymentDetails`, this.postData, { headers: this.headers}).pipe(catchError(this.errorHandler));\r\n }\r\n\r\n getAccountSummaryReport(model: ReportRequest) {\r\n this.postData = JSON.stringify(model);\r\n //console.log(\"Withing the Delivery Note : \" + this.postData);\r\n return this.http.post(`${ this.adminService }GetAccountSummaryReport`, this.postData, { headers: this.headers}).pipe(catchError(this.errorHandler));\r\n }\r\n\r\n getGeneratedPescription(submissionId: number): Observable{\r\n this.webApiUrl = `${this.adminService}GetGeneratedPescriptionBySubmissionId?submissionId=` + submissionId; \r\n return this.http.get(this.webApiUrl, {responseType : 'arraybuffer'}).pipe(catchError(this.errorHandler));\r\n }\r\n\r\n requestOtpForEmail(requestEmail: string): Observable{\r\n //this.postData = JSON.stringify(model);\r\n this.postData = requestEmail;\r\n //console.log(\"Withing the Delivery Note : \" + this.postData);\r\n return this.http.post(`${ this.adminService }RequestOtpForEmail?requestEmail=` + this.postData, { headers: this.headers}).pipe(catchError(this.errorHandler));\r\n }\r\n\r\n requestPasswordReset(model: LoginResetModel): Observable{\r\n this.postData = JSON.stringify(model);\r\n //this.postData = requestEmail;\r\n //console.log(\"Withing the Delivery Note : \" + this.postData);\r\n return this.http.post(`${ this.adminService }RequestPasswordReset`, this.postData, { headers: this.headers}).pipe(catchError(this.errorHandler));\r\n }\r\n\r\n getPackages(model: MedicinePackageSearchModel) {\r\n this.postData = JSON.stringify(model);\r\n //console.log(\"Withing the Delivery Note : \" + this.postData);\r\n return this.http.post(`${ this.adminService }GetPackages`, this.postData, { headers: this.headers}).pipe(catchError(this.errorHandler));\r\n }\r\n\r\n getPromocode(model: PromocodeSearchModel){\r\n this.postData = JSON.stringify(model);\r\n //debugger;\r\n return this.http.post(`${ this.adminService }GetPromocode`, this.postData, { headers: this.headers}).pipe(catchError(this.errorHandler));\r\n \r\n }\r\n\r\n getSurveyCategory(): Observable{\r\n this.webApiUrl = `${this.adminService}GetSurveyCategory`; \r\n\r\n return this.http.get(this.webApiUrl,{ headers: this.headers}).pipe(catchError(this.errorHandler));\r\n }\r\n\r\n getPackageDetailsById(id: number): Observable{\r\n this.webApiUrl = `${this.adminService}GetPackageDetailsById?id=` + id; \r\n\r\n return this.http.get(this.webApiUrl,{ headers: this.headers}).pipe(catchError(this.errorHandler));\r\n }\r\n\r\n addEditPackage(model: MedicinePackageModel) {\r\n this.postData = JSON.stringify(model);\r\n //console.log(\"Withing the Delivery Note : \" + this.postData);\r\n return this.http.post(`${ this.adminService }AddEditPackage`, this.postData, { headers: this.headers}).pipe(catchError(this.errorHandler));\r\n }\r\n\r\n addEditPromocode(model: PromocodePackageModel) {\r\n this.postData = JSON.stringify(model);\r\n //console.log(\"Withing the Delivery Note : \" + this.postData);\r\n return this.http.post(`${ this.adminService }AddEditPromocode`, this.postData, { headers: this.headers}).pipe(catchError(this.errorHandler));\r\n }\r\n\r\n deletePackageById(id: number): Observable{\r\n this.webApiUrl = `${this.adminService}DeletePackageById?id=` + id; \r\n\r\n return this.http.get(this.webApiUrl,{ headers: this.headers}).pipe(catchError(this.errorHandler));\r\n }\r\n getDeliveryAgencies(): Observable{\r\n this.webApiUrl = `${this.adminService}GetDeliveryAgencies`; \r\n\r\n return this.http.get(this.webApiUrl,{ headers: this.headers}).pipe(catchError(this.errorHandler));\r\n }\r\n \r\n\r\n getTableDetailsByName (tableName : string) {\r\n this.postData = tableName;\r\n //console.log(\"Withing the Delivery Note : \" + this.postData);\r\n return this.http.post(`${ this.adminService }GetMasterTableByName?tableName=` + this.postData, { headers: this.headers}).pipe(catchError(this.errorHandler));\r\n }\r\n\r\n insertUpdateMasterTableDetails (MasterTableModel : any) {\r\n this.postData = JSON.stringify(MasterTableModel);\r\n console.log('At Service Call (Login Model) : ' + this.postData);\r\n return this.http.post(`${ this.adminService }InsertUpdateMasterTableDetails`, this.postData,\r\n { headers: this.headers}).pipe(catchError(this.errorHandler));\r\n }\r\n\r\n GetPatientDetails(searchString:string){\r\n //return this.http.get(`${ this.adminService }GetPatientDetails`, { headers: this.headers}).pipe(catchError(this.errorHandler));\r\n this.postData = searchString;\r\n \r\n return this.http.post(`${ this.adminService }GetPatientDetails?searchString=` + this.postData,\r\n { headers: this.headers}).pipe(catchError(this.errorHandler));\r\n }\r\n\r\n UpdatePatientDetails (patientDetailsModel) {\r\n //debugger;//\r\n this.postData = JSON.stringify(patientDetailsModel);\r\n //console.log('At Service Call (Login Model) : ' + this.postData);\r\n return this.http.post(`${ this.adminService }UpdatePatientDetails`, this.postData,\r\n { headers: this.headers}).pipe(catchError(this.errorHandler));\r\n }\r\n\r\n UpdatePatientDeliveryAddressDetails (patientDeliveryAddressModel) {\r\n //debugger;//\r\n this.postData = JSON.stringify(patientDeliveryAddressModel);\r\n console.log('At Service Call Delivery Address Details (Login Model) : ' + this.postData);\r\n return this.http.post(`${ this.adminService }UpdatePatientDeliveryAddressDetails`, this.postData,\r\n { headers: this.headers}).pipe(catchError(this.errorHandler));\r\n }\r\n\r\n // GetOnlyPatientDetails(searchString:string){\r\n // //return this.http.get(`${ this.adminService }GetPatientDetails`, { headers: this.headers}).pipe(catchError(this.errorHandler));\r\n // this.postData = searchString;\r\n \r\n // return this.http.post(`${ this.adminService }GetPatientDetails?searchString=` + this.postData,\r\n // { headers: this.headers}).pipe(catchError(this.errorHandler));\r\n // }\r\n\r\n assignToPharmacy(model: AssignToPharmaModel) {\r\n this.postData = JSON.stringify(model);\r\n //console.log('At Service Call (Login Model) : ' + this.postData);\r\n return this.http.post(`${ this.adminService }AssignToPharmacy`, this.postData,\r\n { headers: this.headers}).pipe(catchError(this.errorHandler));\r\n }\r\n\r\n getUserRole(){\r\n return this.http.get(`${ this.adminService }GetLoginUserTypes`,\r\n { headers: this.headers}).pipe(catchError(this.errorHandler));\r\n }\r\n\r\n getUsersPermission(id: string): Observable {\r\n return this.http.get(`${ this.adminService }GetSelectedMenuesByUserType?id=` + id,\r\n { headers: this.headers}).pipe(catchError(this.errorHandler));\r\n } \r\n\r\n updateUsersPermission(usermenu: UserMenues): Observable { \r\n this.postData = JSON.stringify(usermenu);\r\n //console.log('At Service Call (Login Model) : ' + this.postData);\r\n return this.http.post(`${ this.adminService }MapMenuAccessToUser`, this.postData,\r\n { headers: this.headers}).pipe(catchError(this.errorHandler)); \r\n } \r\n\r\n updateUserMap(usermap: any): Observable { \r\n this.postData = JSON.stringify(usermap);\r\n //console.log('At Service Call (Login Model) : ' + this.postData);\r\n return this.http.post(`${ this.adminService }MapMenuAccessToUser`, this.postData,\r\n { headers: this.headers}).pipe(catchError(this.errorHandler));\r\n }\r\n \r\n getSelectedPackageDetails(submissionId: number){\r\n return this.http.get(`${ this.adminService }GetSelectedPackageDetails?submissionId=` + submissionId,\r\n { headers: this.headers}).pipe(catchError(this.errorHandler));\r\n }\r\n\r\n getQuestionAnswerBySubmissionId(submissionId: number){\r\n return this.http.get(`${ this.adminService }GetQuestionAnswerBySubmissionId?submissionId=` + submissionId,\r\n { headers: this.headers}).pipe(catchError(this.errorHandler));\r\n }\r\n\r\n updateSubmissionPrescriptionDetails(model: SubmissionOperationModel) { \r\n this.postData = JSON.stringify(model);\r\n //console.log('At Service Call (Login Model) : ' + this.postData);\r\n return this.http.post(`${ this.adminService }UpdateSubmissionPrescriptionDetails`, this.postData,\r\n { headers: this.headers}).pipe(catchError(this.errorHandler)); \r\n } \r\n\r\n getUpdatedSubmissionDetailsBySubmissionId(submissionId){\r\n this.webApiUrl = `${this.adminService}GetUpdatedSubmissionDetailsBySubmissionId?submissionId=` + submissionId; \r\n return this.http.get(this.webApiUrl,{ headers: this.headers}).pipe(catchError(this.errorHandler));\r\n }\r\n\r\n getSubmissionCount(model: SubmissionCountSearch) { \r\n this.postData = JSON.stringify(model);\r\n //console.log('At Service Call (Login Model) : ' + this.postData);\r\n return this.http.post(`${ this.adminService }GetSubmissionCount`, this.postData,\r\n { headers: this.headers}).pipe(catchError(this.errorHandler)); \r\n }\r\n\r\n getMenuDetailsByUserAccessLevel(userAccessLevelId){\r\n this.webApiUrl = `${this.adminService}GetMenuDetailsByUserAccessLevel?userAccessLevelId=` + userAccessLevelId; \r\n return this.http.get(this.webApiUrl,{ headers: this.headers}).pipe(catchError(this.errorHandler));\r\n }\r\n\r\n checkNonRefundedAccountByPatientEmail(email) {\r\n this.webApiUrl = `${this.adminService}CheckNonRefundedAccountByPatientEmail?email=` + email; \r\n return this.http.get(this.webApiUrl,{ headers: this.headers}).pipe(catchError(this.errorHandler));\r\n }\r\n getPremiumSubscriberList(model: PremiumUserSearchModel) {\r\n debugger;\r\n this.postData = JSON.stringify(model);\r\n //console.log(\"Withing the Delivery Note : \" + this.postData);\r\n return this.http.post(`${ this.adminService }GetPremiumSubscriberList`, this.postData, { headers: this.headers}).pipe(catchError(this.errorHandler));\r\n }\r\n getPremiumSubscribersByEmail(email) {\r\n this.webApiUrl = `${this.adminService}GetPremiumSubscribersByEmail?email=` + email; \r\n return this.http.get(this.webApiUrl,{ headers: this.headers}).pipe(catchError(this.errorHandler));\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { ServiceUrl } from '../service-url';\r\nimport { HttpHeaders, HttpErrorResponse, HttpClient } from '@angular/common/http';\r\nimport { Observable, throwError } from 'rxjs';\r\nimport { catchError, map } from 'rxjs/operators';\r\nimport { UserMenues } from 'src/app/Models/user-menues';\r\nimport { UserMap } from 'src/app/Models/user-map';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class DummyServiceService {\r\n\r\n private _url : string = \"https://localhost:5001/api/admin/GetLoginUserTypes\";\r\n\r\n private _user : string = \"https://localhost:5001/api/admin/GetSelectedMenuesByUserType\";\r\n\r\n private _usermap : string = \"https://localhost:5001/api/admin/MapMenuAccessToUser\";\r\n\r\n\r\n constructor(private httpClient: HttpClient) { }\r\n\r\n getUserRole(){\r\n return this.httpClient.get(this._url);\r\n }\r\n\r\n getUsersPermission(id: string): Observable { \r\n return this.httpClient.get(this._user + '?id=' + id); \r\n } \r\n\r\n updateUsersPermission(usermenu: UserMenues): Observable { \r\n const httpOptions = { headers: new HttpHeaders({ 'Content-Type': 'application/json'}) }; \r\n return this.httpClient.put(this._usermap , \r\n usermenu, httpOptions); \r\n } \r\n\r\n updateUserMap(usermap: UserMap): Observable { \r\n const httpOptions = { headers: new HttpHeaders({ 'Content-Type': 'application/json'}) }; \r\n return this.httpClient.post(this._usermap , \r\n usermap , httpOptions); \r\n } \r\n\r\n}\r\n","import { HttpClient, HttpErrorResponse, HttpHeaders } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { catchError, Observable, throwError } from 'rxjs';\nimport { ServiceUrl } from './service-url';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MarketPlaceService {\n\n marketPlaceServices: string;\n headers = new HttpHeaders().set('Content-Type', 'application/json');\n\n constructor(private serviceUrl: ServiceUrl, private http: HttpClient) {\n this.marketPlaceServices = this.serviceUrl.marketPlace;\n }\n\n errorHandler(error: HttpErrorResponse) {\n let errorMessage = `Error code ${error.status}\\nMessage: ${error.message}`;\n return throwError(errorMessage);\n }\n\n validateAutoshipOfferSubscription(patientEmail: string) {\n return this.http.get(`${this.marketPlaceServices}ValidateAutoshipOfferSubscription?patientEmail=` + patientEmail,\n { headers: this.headers }).pipe(catchError(this.errorHandler));\n }\n\n settleAutoshipOffer(model: any): Observable {\n var url = `${this.marketPlaceServices}SettleAutoshipOffer`;\n var postData = JSON.stringify(model);\n return this.http.post(url, postData, { headers: this.headers }).pipe(\n catchError(this.errorHandler));\n }\n \n}\n","import { Injectable } from \"@angular/core\";\r\n\r\n@Injectable()\r\nexport class ServiceUrl {\r\n port: string;\r\n mpPort: string;\r\n survey: string;\r\n admin: string;\r\n payroll: string;\r\n verification: string;\r\n marketPlace: string;\r\n affiliateMarketing: string;\r\n constructor() {\r\n this.port = 'https://apitelehealth.drstellamd.com/'; //Prod env telehealth\r\n //this.port = 'https://demoapitelehealth.drstellamd.com/'; //Demo env telehealth\r\n //this.port = 'http://localhost:5000/'; //local env telehealth\r\n\r\n\r\n //this.mpPort = \"https://marketplaceadmin.drstellamd.com/\"; //prod marketplaceadmin\r\n this.mpPort = \"https://marketplaceadmin.drstellamd.com/\"; //prod marketplaceadmin\r\n\r\n this.survey = this.port + 'api/Survey/';\r\n this.admin = this.port + 'api/admin/';\r\n this.payroll = this.port + 'api/payroll/';\r\n this.affiliateMarketing = this.port + 'api/affiliatemarket/';\r\n this.verification = this.port + 'api/verification/';\r\n this.marketPlace = this.mpPort + \"api/marcketplace/\";\r\n \r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BehaviorSubject, Observable } from 'rxjs';\r\nimport { SurveySubmissionDetails } from 'src/app/Models/survey-details';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SharedComponentService {\r\n\r\n private _surveySubmissionDetails: BehaviorSubject;\r\n public currentSurveySubmissionDetails: Observable;\r\n\r\n constructor() { \r\n \r\n }\r\n\r\n setSurveySWubmissionDetails(value: SurveySubmissionDetails) {\r\n this._surveySubmissionDetails = new BehaviorSubject(value);\r\n this.currentSurveySubmissionDetails = this._surveySubmissionDetails.asObservable();\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { ServiceUrl } from '../service-url';\r\nimport { HttpHeaders, HttpErrorResponse, HttpClient } from '@angular/common/http';\r\nimport { Observable, throwError } from 'rxjs';\r\nimport { catchError, map } from 'rxjs/operators';\r\nimport { CompleteSurveyModel, patientSearchModel, SubcribeDetailModel } from 'src/app/Models/survey-details';\r\nimport { PromoPauoutModel } from 'src/app/Models/submission-details';\r\nimport { AcuteCareModel } from 'src/app/Models/Acute-Care';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SurveyServicesService {\r\n surveyServices: string;\r\n affiliateMarketingService: string;\r\n headers = new HttpHeaders().set('Content-Type', 'application/json');\r\n\r\n constructor(private serviceUrl: ServiceUrl, private http: HttpClient) {\r\n this.surveyServices = this.serviceUrl.survey;\r\n this.affiliateMarketingService = this.serviceUrl.affiliateMarketing;\r\n }\r\n\r\n errorHandler(error: HttpErrorResponse) {\r\n let errorMessage = `Error code ${error.status}\\nMessage: ${error.message}`;\r\n return throwError(errorMessage);\r\n }\r\n\r\n getSurveyType() {\r\n return this.http.get(`${this.surveyServices}GetSurveyType`,\r\n { headers: this.headers }).pipe(catchError(this.errorHandler));\r\n }\r\n\r\n getQuestionBySurveyDetailsId(surveyDetailsId: number) {\r\n return this.http.get(`${this.surveyServices}GetQuestionBySurveyDetailsId?surveyDetailsId=` + surveyDetailsId,\r\n { headers: this.headers }).pipe(catchError(this.errorHandler));\r\n }\r\n\r\n createSurveySubmission(answers: any): Observable {\r\n var url = `${this.surveyServices}CreateSurveySubmission`;\r\n\r\n var postData = {\r\n answers: answers\r\n };\r\n return this.http.post(url, postData, { headers: this.headers }).pipe(\r\n catchError(this.errorHandler));\r\n }\r\n\r\n getMedicinesBySurveyDetailsId(surveyDetailsId: number) {\r\n return this.http.get(`${this.surveyServices}GetMedicinesBySurveyDetailsId?surveyDetailsId=` + surveyDetailsId,\r\n { headers: this.headers }).pipe(catchError(this.errorHandler));\r\n }\r\n\r\n getPromoDetailsByPromoName(promoName: string,email:string) {\r\n return this.http.get(`${this.surveyServices}GetPromoDetailsByPromoName?promoName=` + promoName + `&email=` + email,\r\n { headers: this.headers }).pipe(catchError(this.errorHandler));\r\n }\r\n\r\n getPromoByPromoName(promoName: string) {\r\n return this.http.get(`${this.surveyServices}GetPromoByPromoName?promoName=` + promoName,\r\n { headers: this.headers }).pipe(catchError(this.errorHandler));\r\n }\r\n\r\n completeSurveyProcess(model: CompleteSurveyModel): Observable {\r\n var url = `${this.surveyServices}CompleteSurveyProcess`;\r\n var postData = JSON.stringify(model);\r\n return this.http.post(url, postData, { headers: this.headers }).pipe(\r\n catchError(this.errorHandler));\r\n }\r\n completePremiumServiceProcess(model: CompleteSurveyModel): Observable {\r\n var url = `${this.surveyServices}completePremiumServiceProcess`;\r\n var postData = JSON.stringify(model);\r\n return this.http.post(url, postData, { headers: this.headers }).pipe(\r\n catchError(this.errorHandler));\r\n }\r\n getGeneratedInvoice(paymentId: number) {\r\n return this.http.get(`${this.surveyServices}GetGeneratedInvoice?paymentId=` + paymentId,\r\n { headers: this.headers }).pipe(catchError(this.errorHandler));\r\n }\r\n\r\n getGeneratedInvoice2(paymentId: number) {\r\n return this.http.get(`${this.surveyServices}GetGeneratedInvoice?paymentId=` + paymentId,\r\n { responseType: 'arraybuffer' }).pipe(catchError(this.errorHandler));\r\n }\r\n\r\n createSubmissionAndGetExistingPatientDetails(model: patientSearchModel): Observable {\r\n var url = `${this.surveyServices}CreateSubmissionAndGetExistingPatientDetails`;\r\n var postData = JSON.stringify(model);\r\n return this.http.post(url, postData, { headers: this.headers }).pipe(\r\n catchError(this.errorHandler));\r\n }\r\n\r\n getPatientDetails(paymentId: number) {\r\n return this.http.get(`${this.surveyServices}GetPatientDetails?paymentId=` + paymentId,\r\n { headers: this.headers }).pipe(catchError(this.errorHandler));\r\n }\r\n\r\n GetOnlyPatientDetails(patientId: number): Observable {\r\n var url = `${this.surveyServices}GetOnlyPatientDetails?patientId=` + patientId;\r\n //var postData = JSON.stringify(model);\r\n return this.http.post(url, { headers: this.headers }).pipe(\r\n catchError(this.errorHandler));\r\n }\r\n\r\n getExistingSurveyAsnwerBySubmissionId(submissionId: number, surveyDetailsId: number) {\r\n return this.http.get(`${this.surveyServices}GetExistingSurveyAsnwerBySubmissionId?submissionId=` + submissionId + `&surveyDetailsId=` + surveyDetailsId,\r\n { headers: this.headers }).pipe(catchError(this.errorHandler));\r\n }\r\n\r\n getSubmissionIdByFirstNameAndEmail(firstName: string, email: string) {\r\n return this.http.get(`${this.surveyServices}GetSubmissionIdByFirstNameAndEmail?firstName=` + firstName + `&email=` + email,\r\n { headers: this.headers }).pipe(catchError(this.errorHandler));\r\n }\r\n\r\n getAffiliateMarketingLoginOTP(email: string) {\r\n return this.http.get(`${this.affiliateMarketingService}GetEmailOTP?email=` + email,\r\n { headers: this.headers }).pipe(catchError(this.errorHandler));\r\n }\r\n getAffiliateMarketingPromotionDetails(email: string, startDate: string = \"\", endDate: string = \"\") {\r\n return this.http.get(`${this.affiliateMarketingService}GetAffiliateMarketingPromotionDetails?email=` + email + \"&startDate=\" + startDate + \"&endDate=\" + endDate,\r\n { headers: this.headers }).pipe(catchError(this.errorHandler));\r\n }\r\n\r\n getPromoterList(applicationId: number) {\r\n return this.http.get(`${this.affiliateMarketingService}GetPromoterList?applicationId=` + applicationId,\r\n { headers: this.headers }).pipe(catchError(this.errorHandler));\r\n }\r\n\r\n updatePromoPaymentDetails(promoPauoutModel: PromoPauoutModel): Observable {\r\n var url = `${this.affiliateMarketingService}UpdatePromoPaymentDetails`;\r\n var postData = JSON.stringify(promoPauoutModel);\r\n return this.http.post(url, postData, { headers: this.headers }).pipe(\r\n catchError(this.errorHandler));\r\n }\r\n\r\n\r\n getServiceOfferDetails(patientState: string): Observable {\r\n return this.http.get(`${this.surveyServices}GetServiceOfferDetails?patientState=` + patientState,\r\n { headers: this.headers }).pipe(catchError(this.errorHandler));\r\n }\r\n\r\n getAcuteCarePatientState(): Observable {\r\n return this.http.get(`${this.surveyServices}GetAcuteCarePatientState`,\r\n { headers: this.headers }).pipe(catchError(this.errorHandler));\r\n }\r\n\r\n getAcuteCarePharmacyDetails(telehealthId: number): Observable {\r\n return this.http.get(`${this.surveyServices}GetAcuteCarePharmacyDetails?surveyDetailsId=` + telehealthId,\r\n { headers: this.headers }).pipe(catchError(this.errorHandler));\r\n }\r\n\r\n getAcuteCareQuestionDetails(acuteCareServiceId: string): Observable {\r\n return this.http.get(`${this.surveyServices}GetAcuteCareQuestionDetails?serviceId=` + acuteCareServiceId,\r\n { headers: this.headers }).pipe(catchError(this.errorHandler));\r\n }\r\n\r\n completeAcuteCareProcess(model: AcuteCareModel): Observable {\r\n var url = `${this.surveyServices}CompleteAcuteCareProcess`;\r\n var postData = JSON.stringify(model);\r\n return this.http.post(url, postData, { headers: this.headers }).pipe(\r\n catchError(this.errorHandler));\r\n }\r\n\r\n getAcuteCareDetailsReport(startDate, endDate): Observable {\r\n return this.http.get(`${this.surveyServices}GetAcuteCareDetailsReport?startDate=` + startDate + `&endDate=` + endDate,\r\n { headers: this.headers }).pipe(catchError(this.errorHandler));\r\n }\r\n\r\n getAcuteCareSurveyReport(requestId: number): Observable {\r\n return this.http.get(`${this.surveyServices}GetAcuteCareSurveyReport?requestId=` + requestId,\r\n { headers: this.headers }).pipe(catchError(this.errorHandler));\r\n }\r\n\r\n getAcuteCarePayloadTemplate(requestId: number): Observable {\r\n return this.http.get(`${this.surveyServices}GetAcuteCarePayloadTemplate?requestId=` + requestId,\r\n { responseType: 'arraybuffer' }).pipe(catchError(this.errorHandler));\r\n }\r\n\r\n identityfileUpload(formData: any): Observable {\r\n var url = `${this.surveyServices}IdentityfileUpload`;\r\n return this.http.post(url, formData).pipe(\r\n catchError(this.errorHandler));\r\n }\r\n\r\n refundInitiate(chargeId: string, comingFrom: string): Observable {\r\n return this.http.get(`${this.surveyServices}refundInitiate?chargeId=` + chargeId + `&comingFrom=` + comingFrom,\r\n { headers: this.headers }).pipe(catchError(this.errorHandler));\r\n }\r\n\r\n getAcuteCarePatientApointmentStatus(referenceGuid: string): Observable {\r\n return this.http.get(`${this.surveyServices}GetAcuteCarePatientApointmentStatus?referenceGuid=` + referenceGuid,\r\n { headers: this.headers }).pipe(catchError(this.errorHandler));\r\n }\r\n\r\n getAcuteCareDrugList(): Observable {\r\n return this.http.get(`${this.surveyServices}GetAcuteCareDrugList`,\r\n { headers: this.headers }).pipe(catchError(this.errorHandler));\r\n }\r\n\r\n getAcuteCareRefillQuestions(): Observable {\r\n return this.http.get(`${this.surveyServices}GetAcuteCareRefillQuestions`,\r\n { headers: this.headers }).pipe(catchError(this.errorHandler));\r\n }\r\n\r\n medicinefileUpload(formData: any): Observable {\r\n var url = `${this.surveyServices}MedicinefileUpload`;\r\n return this.http.post(url, formData).pipe(\r\n catchError(this.errorHandler));\r\n }\r\n\r\n completeAcuteCareRefill(model: AcuteCareModel): Observable {\r\n debugger;\r\n var url = `${this.surveyServices}CompleteAcuteCareRefill`;\r\n var postData = JSON.stringify(model);\r\n return this.http.post(url, postData, { headers: this.headers }).pipe(\r\n catchError(this.errorHandler));\r\n }\r\n\r\n getAcuteCareRefillMedicineDetails(): Observable {\r\n return this.http.get(`${this.surveyServices}GetAcuteCareRefillMedicineDetails`,\r\n { headers: this.headers }).pipe(catchError(this.errorHandler));\r\n }\r\n\r\n getServiceType() {\r\n debugger;\r\n return this.http.get(`${this.surveyServices}GetServiceType`,\r\n { headers: this.headers }).pipe(catchError(this.errorHandler));\r\n }\r\n \r\n // subscribeService(model: SubcribeDetailModel): Observable {\r\n // var url = `${this.surveyServices}ServiceSubscription`;\r\n // var postData = JSON.stringify(model);\r\n // return this.http.post(url, postData, { headers: this.headers }).pipe(\r\n // catchError(this.errorHandler));\r\n // }\r\n getsubscriberService(email: string): Observable {\r\n return this.http.get(`${this.surveyServices}getsubscriberService?email=${encodeURIComponent(email)}`, \r\n { headers: this.headers }).pipe(catchError(this.errorHandler)); \r\n }\r\n getPatientIdByFirstNameAndEmail(firstName: string, email: string) {\r\n return this.http.get(`${this.surveyServices}GetPatientIdByFirstNameAndEmail?firstName=` + firstName + `&email=` + email,\r\n { headers: this.headers }).pipe(catchError(this.errorHandler));\r\n }\r\n\r\n getPremiumLoginOTP(firstName: string, email: string) {\r\n return this.http.get(`${this.affiliateMarketingService}GetPremiumLoginOTP?firstName=` + firstName + `&email=` + email,\r\n { headers: this.headers }).pipe(catchError(this.errorHandler));\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpHeaders, HttpErrorResponse, HttpClient } from '@angular/common/http';\r\nimport { Loginmodel } from 'src/app/Models/auth-model';\r\nimport { BehaviorSubject, catchError, map, Observable, of, throwError } from 'rxjs';\r\nimport { ServiceUrl } from '../service-url';\r\nimport { User } from 'src/app/core/models/user';\r\nimport { Router } from \"@angular/router\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class UserServicesService {\r\n\r\n private currentUserSubject: BehaviorSubject;\r\n public currentUser: Observable;\r\n\r\n private _url : string = \"/assets/data/user.json\";\r\n headers = new HttpHeaders().set('Content-Type','application/json')\r\n postData = '';\r\n adminService = this.dynamicServiceUrls.admin;\r\n constructor(private http : HttpClient,private dynamicServiceUrls: ServiceUrl,private router: Router) { \r\n //debugger;//\r\n this.currentUserSubject = new BehaviorSubject(\r\n JSON.parse(localStorage.getItem('currentUser'))\r\n );\r\n this.currentUser = this.currentUserSubject.asObservable();\r\n }\r\n\r\n getLoginUSerTypes(){\r\n return this.http.get(this._url);\r\n }\r\n \r\n loginCheck(loginmodel: Loginmodel){\r\n debugger;\r\n this.postData = JSON.stringify(loginmodel);\r\n localStorage.removeItem('currentUser');\r\n console.log('At Service Call (Login) : ' + this.postData);\r\n return this.http.post(`${ this.dynamicServiceUrls.verification }UserAuthenticate`, this.postData,\r\n { headers: this.headers}).pipe(\r\n map(user => {\r\n if(user.data) {\r\n \r\n localStorage.setItem('currentUser', JSON.stringify(user.data));\r\n \r\n }\r\n return user;\r\n \r\n }),\r\n catchError(this.errorHandler));\r\n }\r\n\r\n \r\n\r\n errorHandler(error: HttpErrorResponse){\r\n let errorMessage = `Error code ${error.status}\\nMessage: ${error.message}`;\r\n return throwError(errorMessage);\r\n }\r\n\r\n public get currentUserValue(): User {\r\n return this.currentUserSubject.value;\r\n }\r\n // login(username: string, password: string) {\r\n // return this.http\r\n // .post(`${environment.apiUrl}/authenticate`, {\r\n // username,\r\n // password,\r\n // })\r\n // .pipe(\r\n // map((user) => {\r\n // // store user details and jwt token in local storage to keep user logged in between page refreshes\r\n\r\n // localStorage.setItem('currentUser', JSON.stringify(user));\r\n // this.currentUserSubject.next(user);\r\n // return user;\r\n // })\r\n // );\r\n // }\r\n\r\n logout() {\r\n // remove user from local storage to log user out\r\n localStorage.removeItem('currentUser');\r\n //this.currentUserSubject.next(null);\r\n //this.router.navigate([\"/authentication/signin\"]);\r\n return of({ success: false });\r\n\r\n \r\n\r\n // this.subs.sink = this.userService.logout().subscribe((res) => {\r\n // if (!res.success) {\r\n // this.router.navigate([\"/authentication/signin\"]);\r\n // }\r\n // });\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { AcuteCareStepsComponent } from './acute-care/acute-care-steps/acute-care-steps.component';\r\nimport { AcuteCareComponent } from './acute-care/acute-care.component';\r\nimport { AffiliateLoginComponent } from './affiliate-marketing/affiliate-login/affiliate-login.component';\r\nimport { AffiliateMarketComponent } from './affiliate-marketing/affiliate-market/affiliate-market.component';\r\nimport { Page404Component } from './authentication/page404/page404.component';\r\nimport { AuthGuard } from './core/guard/auth.guard';\r\nimport { Role } from './core/models/role';\r\nimport { InvoiceComponent } from './intakeform/invoice/invoice.component';\r\nimport { PaymentComponent } from './intakeform/payment/payment.component';\r\nimport { SelectorComponent } from './intakeform/selector/selector.component';\r\nimport { StepsComponent } from './intakeform/steps/steps.component';\r\nimport { AuthLayoutComponent } from './layout/app-layout/auth-layout/auth-layout.component';\r\nimport { MainLayoutComponent } from './layout/app-layout/main-layout/main-layout.component';\r\nimport { SurveysubscriptionComponent } from './intakeform/surveysubscription/surveysubscription.component';\r\nimport { SubscribefreeservicesComponent } from './intakeform/subscribefreeservices/subscribefreeservices.component';\r\nimport { PremiumpaymentComponent } from './intakeform/premiumpayment/premiumpayment.component';\r\n\r\n\r\n\r\nconst routes: Routes = [\r\n {\r\n path: '',\r\n component: MainLayoutComponent,\r\n canActivate: [AuthGuard],\r\n data: {\r\n role: [Role.Admin, Role.Doctor, Role.Staff, Role.Pharmacy, Role.promoStuff, Role.Nurse],\r\n },\r\n children: [\r\n { \r\n path: '', redirectTo: '/authentication/signin', pathMatch: 'full' \r\n },\r\n {\r\n path: 'admin',\r\n canActivate: [AuthGuard],\r\n data: {\r\n role: Role.Admin,\r\n },\r\n loadChildren: () =>\r\n import('./admin/admin.module').then((m) => m.AdminModule),\r\n },\r\n {\r\n path: 'task',\r\n canActivate: [AuthGuard],\r\n loadChildren: () =>\r\n import('./admin/task/task.module').then(\r\n (m) => m.TaskModule\r\n ),\r\n },\r\n {\r\n path: 'report',\r\n canActivate: [AuthGuard],\r\n loadChildren: () =>\r\n import('./admin/report/report.module').then(\r\n (m)=> m.ReportModule\r\n ),\r\n },\r\n {\r\n path: 'submission',\r\n canActivate: [AuthGuard],\r\n data: {\r\n role: [Role.Admin, Role.Doctor, Role.Staff, Role.Pharmacy, Role.promoStuff, Role.Nurse],\r\n },\r\n loadChildren: () =>\r\n import('./admin/submission/submission.module').then(\r\n (m)=> m.SubmissionModule\r\n ),\r\n \r\n },\r\n {\r\n path: 'account',\r\n data: {\r\n role: [Role.Admin],\r\n },\r\n canActivate: [AuthGuard],\r\n loadChildren: () =>\r\n import('./admin/account/account.module').then(\r\n (m)=> m.AccountModule\r\n ),\r\n },\r\n {\r\n path: 'payroll',\r\n data: {\r\n role: [Role.Admin, Role.Doctor, Role.Staff, Role.Pharmacy, Role.promoStuff, Role.Nurse],\r\n },\r\n canActivate: [AuthGuard],\r\n loadChildren: () =>\r\n import('./admin/payroll/payroll.module').then(\r\n (m)=> m.PayrollModule\r\n ),\r\n },\r\n ],\r\n },\r\n {\r\n path: 'authentication',\r\n component: AuthLayoutComponent,\r\n loadChildren: () =>\r\n import('./authentication/authentication.module').then(\r\n (m) => m.AuthenticationModule\r\n ),\r\n },\r\n {\r\n path: 'intakeform',\r\n children: [\r\n { path: 'selector', component: SelectorComponent },\r\n { path: 'steps', component: StepsComponent },\r\n { path: 'payment', component: PaymentComponent },\r\n { path: 'payment-invoice', component: InvoiceComponent },\r\n { path: 'Surveysubscription', component: SurveysubscriptionComponent },\r\n {path: '', redirectTo: '/intakeform/selector', pathMatch: 'full'},\r\n { path: 'SubscribeFreeServices', component: SubscribefreeservicesComponent },\r\n { path: 'payments', component: PremiumpaymentComponent },\r\n \r\n ]\r\n },\r\n {\r\n path: 'affiliate-market',\r\n children: [\r\n {path: 'login', component: AffiliateLoginComponent },\r\n {path: 'dashboard', component: AffiliateMarketComponent },\r\n {path: '', redirectTo: '/affiliate-market/login', pathMatch: 'full'}\r\n ]\r\n },\r\n {\r\n path: 'acute-care',\r\n children: [\r\n {path: '', component: AcuteCareComponent },\r\n {path: 'steps', component: AcuteCareStepsComponent},\r\n {path: '', redirectTo: '/acute-care', pathMatch: 'full'}\r\n ]\r\n },\r\n \r\n { path: '**', component: Page404Component },\r\n\r\n];\r\n@NgModule({\r\n imports: [RouterModule.forRoot(routes, {})],\r\n exports: [RouterModule],\r\n})\r\nexport class AppRoutingModule { }\r\n","import { Component } from '@angular/core';\r\nimport { Event, Router, NavigationStart, NavigationEnd } from '@angular/router';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { PlatformLocation } from '@angular/common';\r\nimport { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms';\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html',\r\n styleUrls: ['./app.component.scss'],\r\n})\r\nexport class AppComponent {\r\n currentUrl: string;\r\n constructor(\r\n public _router: Router,\r\n location: PlatformLocation,\r\n private spinner: NgxSpinnerService\r\n ) {\r\n this._router.events.subscribe((routerEvent: Event) => {\r\n if (routerEvent instanceof NavigationStart) {\r\n this.spinner.show();\r\n // location.onPopState(() => {\r\n // window.location.reload();\r\n // });\r\n this.currentUrl = routerEvent.url.substring(\r\n routerEvent.url.lastIndexOf('/') + 1\r\n );\r\n }\r\n if (routerEvent instanceof NavigationEnd) {\r\n this.spinner.hide();\r\n }\r\n window.scrollTo(0, 0);\r\n });\r\n }\r\n}\r\n// Custom validator to check if the value is numeric\r\nexport function numericValidator(): ValidatorFn {\r\n return (control: AbstractControl): ValidationErrors | null => {\r\n const value = control.value;\r\n // Check if value is not null and is not a numeric string\r\n if (value && !/^[0-9]*$/.test(value)) {\r\n return { numeric: true };\r\n }\r\n return null;\r\n };\r\n}","\r\n\r\n","import { NgModule } from '@angular/core';\r\n\r\nimport { CoreModule } from './core/core.module';\r\nimport { SharedModule } from './shared/shared.module';\r\n\r\nimport { BrowserModule } from '@angular/platform-browser';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { AppRoutingModule } from './app-routing.module';\r\nimport { AppComponent } from './app.component';\r\nimport { HeaderComponent } from './layout/header/header.component';\r\nimport { PageLoaderComponent } from './layout/page-loader/page-loader.component';\r\nimport { SidebarComponent } from './layout/sidebar/sidebar.component';\r\nimport { RightSidebarComponent } from './layout/right-sidebar/right-sidebar.component';\r\nimport { AuthLayoutComponent } from './layout/app-layout/auth-layout/auth-layout.component';\r\nimport { MainLayoutComponent } from './layout/app-layout/main-layout/main-layout.component';\r\nimport { fakeBackendProvider } from './core/interceptor/fake-backend';\r\n// import { ErrorInterceptor } from './core/interceptor/error.interceptor';\r\n// import { JwtInterceptor } from './core/interceptor/jwt.interceptor';\r\nimport { LocationStrategy, HashLocationStrategy, DatePipe } from '@angular/common';\r\nimport {\r\n PerfectScrollbarModule,\r\n PERFECT_SCROLLBAR_CONFIG,\r\n PerfectScrollbarConfigInterface,\r\n} from 'ngx-perfect-scrollbar';\r\nimport { TranslateModule, TranslateLoader } from '@ngx-translate/core';\r\nimport { TranslateHttpLoader } from '@ngx-translate/http-loader';\r\nimport { ClickOutsideModule } from 'ng-click-outside';\r\nimport {\r\n HttpClientModule,\r\n HTTP_INTERCEPTORS,\r\n HttpClient,\r\n} from '@angular/common/http';\r\nimport { SelectorComponent } from './intakeform/selector/selector.component';\r\nimport { StepsComponent } from './intakeform/steps/steps.component';\r\nimport { PaymentComponent } from './intakeform/payment/payment.component';\r\nimport { JwtInterceptor } from './authentication/auth.interceptor';\r\nimport { PaymentAddressComponent } from './intakeform/payment-address/payment-address.component';\r\nimport { InvoiceComponent } from './intakeform/invoice/invoice.component';\r\nimport { PaymentConfirmComponent } from './intakeform/payment/payment-confirm/payment-confirm.component';\r\nimport { AffiliateLoginComponent } from './affiliate-marketing/affiliate-login/affiliate-login.component';\r\nimport { AffiliateMarketComponent } from './affiliate-marketing/affiliate-market/affiliate-market.component';\r\nimport { AcuteCareComponent } from './acute-care/acute-care.component';\r\nimport { SafeHtmlPipe } from './shared/safe-html.pipe';\r\nimport { AcuteCareStepsComponent } from './acute-care/acute-care-steps/acute-care-steps.component';\r\nimport { AcuteCareStateComponent } from './acute-care/acute-care-state/acute-care-state.component';\r\nimport { LineBreakPipe } from './shared/line-break.pipe';\r\nimport { RegularSampleMedicineComponent } from './acute-care/acute-care-steps/regular-sample-medicine/regular-sample-medicine.component';\r\nimport{ SurveysubscriptionComponent } from './intakeform/surveysubscription/surveysubscription.component'\r\nimport { SubscribefreeservicesComponent } from './intakeform/subscribefreeservices/subscribefreeservices.component';\r\nimport { PremiumpaymentComponent } from './intakeform/premiumpayment/premiumpayment.component';\r\n\r\nconst DEFAULT_PERFECT_SCROLLBAR_CONFIG: PerfectScrollbarConfigInterface = {\r\n suppressScrollX: true,\r\n wheelPropagation: false,\r\n};\r\n\r\nexport function createTranslateLoader(http: HttpClient): any {\r\n return new TranslateHttpLoader(http, 'assets/i18n/', '.json');\r\n}\r\n\r\n@NgModule({\r\n declarations: [\r\n AppComponent,\r\n HeaderComponent,\r\n PageLoaderComponent,\r\n SidebarComponent,\r\n RightSidebarComponent,\r\n AuthLayoutComponent,\r\n MainLayoutComponent,\r\n SelectorComponent,\r\n StepsComponent,\r\n PaymentComponent,\r\n PaymentAddressComponent,\r\n InvoiceComponent,\r\n PaymentConfirmComponent,\r\n AffiliateLoginComponent,\r\n AffiliateMarketComponent,\r\n AcuteCareComponent,\r\n SafeHtmlPipe,\r\n AcuteCareStepsComponent,\r\n AcuteCareStateComponent,\r\n LineBreakPipe,\r\n RegularSampleMedicineComponent,\r\n SurveysubscriptionComponent,\r\n SubscribefreeservicesComponent,\r\n PremiumpaymentComponent,\r\n ],\r\n imports: [\r\n BrowserModule,\r\n BrowserAnimationsModule,\r\n AppRoutingModule,\r\n HttpClientModule,\r\n PerfectScrollbarModule,\r\n ClickOutsideModule,\r\n TranslateModule.forRoot({\r\n loader: {\r\n provide: TranslateLoader,\r\n useFactory: createTranslateLoader,\r\n deps: [HttpClient],\r\n },\r\n }),\r\n\r\n // core & shared\r\n CoreModule,\r\n SharedModule,\r\n ],\r\n providers: [DatePipe,\r\n { provide: LocationStrategy, useClass: HashLocationStrategy },\r\n {\r\n provide: PERFECT_SCROLLBAR_CONFIG,\r\n useValue: DEFAULT_PERFECT_SCROLLBAR_CONFIG,\r\n },\r\n { provide: HTTP_INTERCEPTORS, useClass: JwtInterceptor, multi: true },\r\n // { provide: HTTP_INTERCEPTORS, useClass: ErrorInterceptor, multi: true },\r\n fakeBackendProvider,\r\n ],\r\n entryComponents: [],\r\n bootstrap: [AppComponent],\r\n})\r\nexport class AppModule {}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpRequest, HttpHandler, HttpEvent, HttpInterceptor } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { User } from '../core/models/user';\r\n\r\n//import { AuthenticationService } from '@/_services';\r\n\r\n@Injectable()\r\nexport class JwtInterceptor implements HttpInterceptor {\r\n //constructor(private authenticationService: AuthenticationService) { }\r\n constructor(){}\r\n\r\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\r\n // add auth header with jwt if user is logged in and request is to api url\r\n // const currentUser = this.authenticationService.currentUserValue;\r\n // const isLoggedIn = currentUser && currentUser.token;\r\n // const isApiUrl = request.url.startsWith(config.apiUrl);\r\n //if (isLoggedIn && isApiUrl) {\r\n \r\n const re = \"UserAuthenticate\";\r\n let currentUser: User = JSON.parse(localStorage.getItem(\"currentUser\"));\r\n if(currentUser) {\r\n let tokenItem: string = currentUser.token;\r\n if (request.url.search(re) === -1 ) {\r\n request = request.clone({\r\n setHeaders: {\r\n Authorization: `Bearer ${tokenItem}`\r\n }\r\n });\r\n }\r\n }\r\n \r\n // }\r\n\r\n return next.handle(request);\r\n }\r\n}","import { Component, OnInit } from '@angular/core';\r\n@Component({\r\n selector: 'app-page404',\r\n templateUrl: './page404.component.html',\r\n styleUrls: ['./page404.component.scss'],\r\n})\r\nexport class Page404Component implements OnInit {\r\n constructor() {}\r\n ngOnInit() {}\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n 404\r\n \r\n \r\n Looks Like You're Lost\r\n \r\n \r\n The Page You Are Looking For Not Available!\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Injectable } from '@angular/core';\r\nimport { InConfiguration } from '../core/models/config.interface';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ConfigService {\r\n public configData: InConfiguration;\r\n\r\n constructor() {\r\n this.setConfigData();\r\n }\r\n\r\n setConfigData() {\r\n this.configData = {\r\n layout: {\r\n rtl: false, // options: true & false\r\n variant: 'light', // options: light & dark\r\n theme_color: 'white', // options: white, black, purple, blue, cyan, green, orange\r\n logo_bg_color: 'white', // options: white, black, purple, blue, cyan, green, orange\r\n sidebar: {\r\n collapsed: false, // options: true & false\r\n backgroundColor: 'light', // options: light & dark\r\n },\r\n },\r\n };\r\n }\r\n}\r\n","import { NgModule, Optional, SkipSelf } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { RightSidebarService } from './service/rightsidebar.service';\r\nimport { AuthGuard } from './guard/auth.guard';\r\nimport { AuthService } from './service/auth.service';\r\nimport { DynamicScriptLoaderService } from './service/dynamic-script-loader.service';\r\nimport { throwIfAlreadyLoaded } from './guard/module-import.guard';\r\n\r\n@NgModule({\r\n declarations: [],\r\n imports: [CommonModule],\r\n providers: [\r\n RightSidebarService,\r\n AuthGuard,\r\n AuthService,\r\n DynamicScriptLoaderService,\r\n ],\r\n})\r\nexport class CoreModule {\r\n constructor(@Optional() @SkipSelf() parentModule: CoreModule) {\r\n throwIfAlreadyLoaded(parentModule, 'CoreModule');\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Router, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\r\nimport { User } from '../models/user';\r\n\r\nimport { AuthService } from '../service/auth.service';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class AuthGuard {\r\n constructor(private authService: AuthService, private router: Router) {}\r\n\r\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\r\n //debugger;\r\n if(!localStorage.getItem(\"currentUser\")) {\r\n this.router.navigate(['/authentication/signin']);\r\n }\r\n else {\r\n let currentUserValue: User = JSON.parse(localStorage.getItem(\"currentUser\"));\r\n const userRole = currentUserValue.role;\r\n if (route.data.role && !route.data.role.some(s => s == userRole)) {\r\n this.router.navigate(['/authentication/signin']);\r\n }\r\n return true;\r\n }\r\n \r\n }\r\n}\r\n","export function throwIfAlreadyLoaded(parentModule: any, moduleName: string) {\r\n if (parentModule) {\r\n throw new Error(\r\n `${moduleName} has already been loaded. Import ${moduleName} modules in the AppModule only.`\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport {\r\n HttpRequest,\r\n HttpResponse,\r\n HttpHandler,\r\n HttpEvent,\r\n HttpInterceptor,\r\n HTTP_INTERCEPTORS,\r\n} from '@angular/common/http';\r\nimport { Observable, of, throwError } from 'rxjs';\r\nimport { delay, mergeMap, materialize, dematerialize } from 'rxjs/operators';\r\nimport { User } from '../models/user';\r\nimport { Role } from '../models/role';\r\n\r\nconst users: User[] = [\r\n {\r\n id: 1,\r\n img: 'assets/images/user/admin.jpg',\r\n username: 'admin@hospital.org',\r\n password: 'admin@123',\r\n firstName: 'Sarah',\r\n lastName: 'Smith',\r\n role: Role.Admin,\r\n token: 'admin-token',\r\n },\r\n {\r\n id: 2,\r\n img: 'assets/images/user/doctor.jpg',\r\n username: 'doctor@hospital.org',\r\n password: 'doctor@123',\r\n firstName: 'Ashton',\r\n lastName: 'Cox',\r\n role: Role.Doctor,\r\n token: 'doctor-token',\r\n },\r\n {\r\n id: 3,\r\n img: 'assets/images/user/patient.jpg',\r\n username: 'patient@hospital.org',\r\n password: 'patient@123',\r\n firstName: 'Cara',\r\n lastName: 'Stevens',\r\n role: Role.Nurse,\r\n token: 'patient-token',\r\n },\r\n];\r\n\r\n@Injectable()\r\nexport class FakeBackendInterceptor implements HttpInterceptor {\r\n intercept(\r\n request: HttpRequest,\r\n next: HttpHandler\r\n ): Observable> {\r\n const { url, method, headers, body } = request;\r\n // wrap in delayed observable to simulate server api call\r\n return of(null).pipe(mergeMap(handleRoute));\r\n\r\n function handleRoute() {\r\n switch (true) {\r\n case url.endsWith('/authenticate') && method === 'POST':\r\n return authenticate();\r\n default:\r\n // pass through any requests not handled above\r\n return next.handle(request);\r\n }\r\n }\r\n\r\n // route functions\r\n\r\n function authenticate() {\r\n const { username, password } = body;\r\n const user = users.find(\r\n (x) => x.username === username && x.password === password\r\n );\r\n if (!user) {\r\n return error('Username or password is incorrect');\r\n }\r\n return ok({\r\n id: user.id,\r\n img: user.img,\r\n username: user.username,\r\n firstName: user.firstName,\r\n lastName: user.lastName,\r\n role: user.role,\r\n token: user.token,\r\n });\r\n }\r\n\r\n // helper functions\r\n\r\n function ok(body?) {\r\n return of(new HttpResponse({ status: 200, body }));\r\n }\r\n\r\n function error(message) {\r\n return throwError({ error: { message } });\r\n }\r\n\r\n function unauthorized() {\r\n return throwError({ status: 401, error: { message: 'Unauthorised' } });\r\n }\r\n\r\n function isLoggedIn() {\r\n return headers.get('Authorization') === 'Bearer fake-jwt-token';\r\n }\r\n }\r\n}\r\n\r\nexport let fakeBackendProvider = {\r\n // use fake backend in place of Http service for backend-less development\r\n provide: HTTP_INTERCEPTORS,\r\n useClass: FakeBackendInterceptor,\r\n multi: true,\r\n};\r\n","import { Injectable } from '@angular/core'\r\n\r\n@Injectable()\r\nexport class LoginDetails {\r\n FirstName: string\r\n LastName: string\r\n UserName: string\r\n Password: string\r\n Email: string\r\n UserId: number\r\n isActiveUser: boolean\r\n AdminUserId: number\r\n AdminUserName: string\r\n PhoneNumber: string\r\n}\r\n\r\nexport enum AccessLavel {\r\n Member = 1,\r\n Doctor = 2,\r\n Pharmacy = 9,\r\n Other = 10,\r\n Admin = 0\r\n}\r\n\r\n@Injectable()\r\nexport class ReportRequest {\r\n startDate: string\r\n endDate: string\r\n isAdmin: boolean\r\n userId : number\r\n submissionId : number\r\n isSingleSubmission: boolean = false;\r\n reportType: string\r\n symptomList:string\r\n accessLavel: number\r\n}\r\n\r\nexport class AuthProperties {\r\n IsVerifiedUser : boolean\r\n loginDetails: LoginDetails\r\n}\r\n\r\nexport interface AccountSummaryReportModel {\r\n accountHead: string;\r\n totalAmount: number\r\n}\r\n\r\n\r\n","export enum Role {\r\n All = 0,\r\n Admin = 1,\r\n Doctor = 2,\r\n Staff = 3,\r\n Pharmacy = 4,\r\n Nurse = 5,\r\n promoStuff = 6\r\n}\r\n\r\nexport interface UserMenuDetails {\r\n accessLevel: number;\r\n menuCode: number;\r\n parentCode: number;\r\n menuName: string;\r\n path: string;\r\n title: string;\r\n moduleName: string;\r\n iconType: string;\r\n icon: string;\r\n class: string;\r\n groupTitle: boolean;\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { BehaviorSubject, Observable, of } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { User } from '../models/user';\r\nimport { environment } from 'src/environments/environment';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class AuthService {\r\n private currentUserSubject: BehaviorSubject;\r\n public currentUser: Observable;\r\n\r\n constructor(private http: HttpClient) {\r\n this.currentUserSubject = new BehaviorSubject(\r\n JSON.parse(localStorage.getItem('currentUser'))\r\n );\r\n this.currentUser = this.currentUserSubject.asObservable();\r\n }\r\n\r\n public get currentUserValue(): User {\r\n return this.currentUserSubject.value;\r\n }\r\n\r\n // login(username: string, password: string) {\r\n // return this.http\r\n // .post(`${environment.apiUrl}/authenticate`, {\r\n // username,\r\n // password,\r\n // })\r\n // .pipe(\r\n // map((user) => {\r\n // // store user details and jwt token in local storage to keep user logged in between page refreshes\r\n\r\n // localStorage.setItem('currentUser', JSON.stringify(user));\r\n // this.currentUserSubject.next(user);\r\n // return user;\r\n // })\r\n // );\r\n // }\r\n\r\n // logout() {\r\n // // remove user from local storage to log user out\r\n // localStorage.removeItem('currentUser');\r\n // this.currentUserSubject.next(null);\r\n // return of({ success: false });\r\n // }\r\n}\r\n","import { Injectable } from '@angular/core';\r\ninterface Scripts {\r\n name: string;\r\n src: string;\r\n}\r\nexport const ScriptStore: Scripts[] = [];\r\ndeclare var document: any;\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class DynamicScriptLoaderService {\r\n private scripts: any = {};\r\n constructor() {\r\n ScriptStore.forEach((script: any) => {\r\n this.scripts[script.name] = {\r\n loaded: false,\r\n src: script.src,\r\n };\r\n });\r\n }\r\n load(...scripts: string[]) {\r\n const promises: any[] = [];\r\n scripts.forEach((script) => promises.push(this.loadScript(script)));\r\n return Promise.all(promises);\r\n }\r\n loadScript(name: string) {\r\n return new Promise((resolve, reject) => {\r\n if (!this.scripts[name].loaded) {\r\n // load script\r\n let script = document.createElement('script');\r\n script.type = 'text/javascript';\r\n script.src = this.scripts[name].src;\r\n if (script.readyState) {\r\n // IE\r\n script.onreadystatechange = () => {\r\n if (\r\n script.readyState === 'loaded' ||\r\n script.readyState === 'complete'\r\n ) {\r\n script.onreadystatechange = null;\r\n this.scripts[name].loaded = true;\r\n resolve({ script: name, loaded: true, status: 'Loaded' });\r\n }\r\n };\r\n } else {\r\n // Others\r\n script.onload = () => {\r\n this.scripts[name].loaded = true;\r\n resolve({ script: name, loaded: true, status: 'Loaded' });\r\n };\r\n }\r\n script.onerror = (error: any) =>\r\n resolve({ script: name, loaded: false, status: 'Loaded' });\r\n document.getElementsByTagName('head')[0].appendChild(script);\r\n } else {\r\n resolve({ script: name, loaded: true, status: 'Already Loaded' });\r\n }\r\n });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class LanguageService {\r\n public languages: string[] = ['en', 'es', 'de'];\r\n\r\n constructor(public translate: TranslateService) {\r\n let browserLang;\r\n translate.addLangs(this.languages);\r\n\r\n if (localStorage.getItem('lang')) {\r\n browserLang = localStorage.getItem('lang');\r\n } else {\r\n browserLang = translate.getBrowserLang();\r\n }\r\n translate.use(browserLang.match(/en|es|de/) ? browserLang : 'en');\r\n }\r\n\r\n public setLanguage(lang) {\r\n this.translate.use(lang);\r\n localStorage.setItem('lang', lang);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BehaviorSubject } from 'rxjs';\r\n@Injectable()\r\nexport class RightSidebarService {\r\n private sidebarSubject: BehaviorSubject = new BehaviorSubject(false);\r\n sidebarState = this.sidebarSubject.asObservable();\r\n\r\n setRightSidebar = (value: boolean) => {\r\n this.sidebarSubject.next(value);\r\n };\r\n\r\n constructor() {}\r\n}\r\n","import { Component, OnInit } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { saveAs } from 'file-saver';\nimport { LocationStrategy } from '@angular/common';\nimport { SurveyServicesService } from 'src/app/api-services/survey-services/survey-services.service';\nimport { SharedComponentService } from 'src/app/api-services/shared-component-services/shared-component.service';\n\n@Component({\n selector: 'app-invoice',\n templateUrl: './invoice.component.html',\n styleUrls: ['./invoice.component.sass']\n})\nexport class InvoiceComponent implements OnInit {\n\n paymentId: number;\n beforePaymentSection: boolean = true;\n isDownloadInProgress: boolean = false;\n\n constructor(private route: ActivatedRoute, private surveyService: SurveyServicesService,\n private sharedService: SharedComponentService,\n private router: Router, private location: LocationStrategy) {\n this.sharedService.currentSurveySubmissionDetails = undefined;\n history.pushState(null, null, window.location.href);\n this.location.onPopState(() => {\n history.pushState(null, null, window.location.href);\n });\n }\n\n ngOnInit(): void {\n this.route.queryParams.subscribe(s => {\n if (s.paymentId && s.paymentId > 0) {\n this.beforePaymentSection = true;\n this.paymentId = s.paymentId;\n }\n else {\n this.beforePaymentSection = false;\n }\n });\n }\n\n downloadInvoice() {\n this.isDownloadInProgress = true;\n this.surveyService.getGeneratedInvoice2(this.paymentId).subscribe(d => {\n if (d) {\n if (d != null) {\n const blob = new Blob([d], { type: 'application/pdf' })\n const fileName = 'Invoice.pdf';\n saveAs(blob, fileName);\n this.isDownloadInProgress = false;\n this.router.navigate([\"/intakeform/selector\"]);\n }\n else {\n alert(\"unable to download the invoice at this time.\");\n }\n }\n else {\n alert(\"unable to download the invoice at this time.\");\n }\n\n });\n }\n\n}\n","
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n For updates and questions, please visit updates.frontlinemeds.com.\r\n
\r\n
\r\n Click here to\r\n order your recommended vitamins\r\n
\r\n
Dr. Stella MD's Team.
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n ** If you getting any difficulties to filling up the form. Please mail us\r\n \r\n patienthelpdesk@drstellamd.com\r\n
\r\n Telephone - 832-808-5574\r\n
\r\n
\r\n
\r\n
\r\n
Powered by :
\r\n
\r\n\r\n
\r\n
\r\n
","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { Router } from '@angular/router';\r\nimport { AdminServicesService } from '../../api-services/admin-services/admin-services.service';\r\n//import { AthenticationService } from '../../../service/athentication.service';\r\nimport { AlertDialogComponent } from '../../admin/dialog/alert-dialog/alert-dialog.component';\r\nimport { DatePipe } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'app-payment-address',\r\n templateUrl: './payment-address.component.html',\r\n styleUrls: ['./payment-address.component.sass']\r\n})\r\nexport class PaymentAddressComponent implements OnInit {\r\n \r\n disableInEditMode: boolean = false;\r\n submitButtonText: string = \"Submit\";\r\n formHeading: string = \"Update Patient Delivery Details\";\r\n userTypes: any;\r\n\r\n editUserForm = new FormGroup({\r\n PatientFirstName: new FormControl('', [Validators.required]),\r\n PatientLastName: new FormControl('', [Validators.required]),\r\n PatientEmail: new FormControl('', [Validators.pattern('^[a-z0-9._%+-]+@[a-z0-9.-]+\\\\.[a-z]{2,4}$')]),\r\n PatientPhone: new FormControl('',),\r\n PatientAddress: new FormControl(''),\r\n PatientCity: new FormControl(''),\r\n PatientState: new FormControl(''),\r\n PatientZip: new FormControl(''),\r\n PatientGender: new FormControl(''),\r\n PatientDob: new FormControl('', [Validators.required]),\r\n PatientHeight: new FormControl(''),\r\n PatientWeight: new FormControl(''),\r\n PatientEnrollmentDate: new FormControl(''),\r\n});\r\n\r\n\r\n\r\n patientId:number = 0;\r\n pickerDOB:string = '';\r\n pickerEnrollmentDate:string = '';\r\n selectedGender:string = '';\r\n\r\n\r\n\r\n genders:any = [\r\n {\"id\":\"NotSelected\",\"genderName\":\"Not Selected\"},\r\n {\"id\":\"Male\",\"genderName\":\"Male\"},\r\n {\"id\":\"Female\",\"genderName\":\"Female\"},\r\n];\r\n\r\n\r\n\r\n\r\n constructor(@Inject(MAT_DIALOG_DATA) public data:any,public adminService: AdminServicesService, private route: Router, \r\n // private athenticationService: AthenticationService, \r\n private dialog: MatDialog, public dialogRef: MatDialogRef, private datePipe: DatePipe) { }\r\n\r\n ngOnInit(): void {\r\n debugger;\r\n this.dialogRef.updateSize(\"70%\");\r\n this.dialogRef.disableClose = true;\r\n\r\n\r\n if(this.data != null && this.data.selectedRowData != null && this.data.selectedRowData.patientId > 0) {\r\n this.disableInEditMode = true;\r\n this.submitButtonText = \"Update\";\r\n\r\n this.patientId = this.data.selectedRowData.patientId;\r\n this.selectedGender = this.data.selectedRowData.gender;\r\n\r\n this.editUserForm.setValue({\r\n PatientFirstName: this.data.selectedRowData.firstName,\r\n PatientLastName: this.data.selectedRowData.lastName,\r\n PatientEmail: this.data.selectedRowData.email,\r\n PatientPhone: this.data.selectedRowData.phone,\r\n PatientAddress: this.data.selectedRowData.address,\r\n PatientCity: this.data.selectedRowData.city,\r\n PatientState: this.data.selectedRowData.state,\r\n PatientZip: this.data.selectedRowData.zip,\r\n PatientGender: this.data.selectedRowData.gender,\r\n PatientDob: new Date(this.datePipe.transform(this.data.selectedRowData.dob, \"MM/dd/yyyy\")).toString(),\r\n PatientHeight: this.data.selectedRowData.height,\r\n PatientWeight: this.data.selectedRowData.weight,\r\n PatientEnrollmentDate: this.data.selectedRowData.enrollmentDate,\r\n });\r\n\r\n }\r\n }\r\n\r\n submitUserForm() {\r\n \r\n let form = this.editUserForm;\r\n \r\n let PSId = 0;\r\n let UId = 0;\r\n let UserOperation = 1;\r\n let operationMessage = \"Patient Delivery Details Updated Successfully!\";\r\n \r\n\r\n let patientDeliveryAddressModel = {\r\n patientId: this.patientId,\r\n firstName: form.value['PatientFirstName'],\r\n lastName: form.value['PatientLastName'],\r\n email : form.value['PatientEmail'], \r\n phone : form.value['PatientPhone'], \r\n address : form.value['PatientAddress'], \r\n city :form.value['PatientCity'], \r\n state : form.value['PatientState'], \r\n zip : form.value['PatientZip'], \r\n gender : this.selectedGender, \r\n dob : this.datePipe.transform(form.value['PatientDob'], \"yyyy-MM-dd\"), \r\n height : form.value['PatientHeight'],\r\n weight: form.value['PatientWeight'],\r\n enrollmentDate : form.value['PatientEnrollmentDate']\r\n };\r\n \r\n // this.adminService.UpdatePatientDeliveryAddressDetails(patientDeliveryAddressModel).subscribe(data => {\r\n this.adminService.UpdatePatientDetails(patientDeliveryAddressModel).subscribe(data => {\r\n \r\n if(data.data == 1){\r\n \r\n \r\n this.closeDialog();\r\n this.openAlertDialog(operationMessage);\r\n }\r\n else {\r\n this.openAlertDialog('Error occurred during update operation');\r\n }\r\n }, \r\n //error => {\r\n\r\n //}\r\n );\r\n\r\n }\r\n\r\n\r\n openAlertDialog(alertMessage: string) {\r\n const dialogRef = this.dialog.open(AlertDialogComponent, {\r\n data: {\r\n message: alertMessage,\r\n buttonText: {\r\n cancel: 'OK'\r\n }\r\n },\r\n });\r\n }\r\n\r\n closeDialog() {\r\n this.dialogRef.close();\r\n }\r\n\r\n disallowSpace(event) {\r\n return event.keyCode != 32 ? event:event.preventDefault();\r\n }\r\n\r\n \r\n\r\n public checkError = (controlName: string, errorName: string) => {\r\n return this.editUserForm.controls[controlName].hasError(errorName);\r\n }\r\n\r\n}\r\n","
\r\n

{{formHeading}}

\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n First Name*\r\n \r\n Patient First Name is required\r\n \r\n
\r\n\r\n
\r\n \r\n Last Name*\r\n \r\n Patient Last Name is required\r\n \r\n
\r\n\r\n
\r\n \r\n Email*\r\n \r\n Patient Email is required\r\n \r\n
\r\n\r\n
\r\n \r\n Phone*\r\n \r\n Patient Phone is required\r\n \r\n
\r\n\r\n
\r\n \r\n Address*\r\n \r\n Patient Address is required\r\n \r\n
\r\n\r\n
\r\n \r\n City*\r\n \r\n Patient City is required\r\n \r\n
\r\n \r\n
\r\n \r\n State*\r\n \r\n Patient State is required\r\n \r\n
\r\n\r\n
\r\n \r\n Zip*\r\n \r\n Patient Zip is required\r\n \r\n
\r\n\r\n
\r\n \r\n Gender*\r\n \r\n \r\n {{gender.genderName}}\r\n \r\n \r\n\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n Choose Date of Birth\r\n \r\n \r\n \r\n \r\n Patient Date of Birth is required\r\n \r\n\r\n
\r\n \r\n\r\n
\r\n \r\n Height*\r\n \r\n Patient Height is required\r\n \r\n
\r\n\r\n\r\n
\r\n \r\n Weight*\r\n \r\n Patient Weight is required\r\n \r\n
\r\n\r\n
\r\n \r\n Enrollment Date (Read Only)*\r\n \r\n Patient Last Name 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","import { DatePipe } from '@angular/common';\nimport { Component, Inject, OnInit } from '@angular/core';\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { Router } from '@angular/router';\nimport { AdminServicesService } from 'src/app/api-services/admin-services/admin-services.service';\nimport { InvoicePreviewModel } from 'src/app/Models/survey-details';\n\n@Component({\n selector: 'app-payment-confirm',\n templateUrl: './payment-confirm.component.html',\n styleUrls: ['./payment-confirm.component.sass']\n})\nexport class PaymentConfirmComponent implements OnInit {\n invoiceData: InvoicePreviewModel[];\n totalAmount: number;\n\n constructor(@Inject(MAT_DIALOG_DATA) public data: InvoicePreviewModel[], public adminService: AdminServicesService, \n private route: Router, private dialog: MatDialog, public dialogRef: MatDialogRef, private datepipe: DatePipe) { }\n\n ngOnInit(): void {\n this.invoiceData = this.data;\n console.log(this.invoiceData);\n this.totalAmount = this.invoiceData\n .map(a => a.amount)\n .reduce(function (a, b) { return a + b; });\n }\n\n closePayNowPopup(opFlag: boolean) {\n this.dialogRef.close(opFlag);\n }\n\n}\n","
\r\n \r\n
\r\n
\r\n \r\n

\r\n 1.Please review cost details before clicking the “Pay Now Button”.\r\n

\r\n

\r\n 2. I understand that payment is final, there will be no refunds for purchases.\r\n

\r\n

\r\n 3. I acknowledge that payment is final, and I will not initiate refund.\r\n
\r\n\r\n \r\n \r\n \r\n\r\n \r\n

\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Sn.Item NameQTYPrice ($)
{{ i + 1 }}\r\n {{data.name}}\r\n \r\n
0; else otherQuantityContent;\">\r\n {{data.quantity}}\r\n
\r\n \r\n \r\n \r\n
\r\n {{data.amount}}\r\n
Total  $ {{totalAmount}}
\r\n\r\n \r\n
\r\n
\r\n \r\n
\r\n
","import {\r\n AfterViewInit,\r\n Component,\r\n ElementRef,\r\n OnInit,\r\n ViewChild,\r\n} from \"@angular/core\";\r\nimport { FormControl, FormGroup, Validators } from \"@angular/forms\";\r\nimport { MatDialogModule, MatDialog } from \"@angular/material/dialog\";\r\nimport { Router } from \"@angular/router\";\r\nimport { SharedComponentService } from \"src/app/api-services/shared-component-services/shared-component.service\";\r\nimport { SurveyServicesService } from \"src/app/api-services/survey-services/survey-services.service\";\r\nimport {\r\n CompleteSurveyModel,\r\n patientSearchModel,\r\n PrintInvoiceModel,\r\n PromoDetails,\r\n SurveyMedicine,\r\n SurveyPaymentDetails,\r\n SurveySubmissionDetails,\r\n SurveyPatientDetails,\r\n SurveyDetails,\r\n IntakeFormLogModel,\r\n InvoicePreviewModel,\r\n} from \"src/app/Models/survey-details\";\r\nimport redirectLink from \"../../../assets/data/third-party-link.json\"\r\nimport { jsPDF } from \"jspdf\";\r\nimport html2canvas from \"html2canvas\";\r\nimport { PaymentAddressComponent } from \"./../payment-address/payment-address.component\";\r\nimport { TouchSequence } from \"selenium-webdriver\";\r\nimport { AlertDialogComponent } from \"src/app/admin/dialog/alert-dialog/alert-dialog.component\";\r\nimport { AdminServicesService } from \"../../api-services/admin-services/admin-services.service\";\r\nimport { MarketPlaceService } from \"src/app/api-services/market-place.service\";\r\nimport { ConfirmDialogComponent } from \"src/app/admin/dialog/confirm-dialog/confirm-dialog.component\";\r\nimport { PaymentConfirmComponent } from \"./payment-confirm/payment-confirm.component\";\r\nimport { AcuteCareModel } from \"src/app/Models/Acute-Care\";\r\nimport { ThemeService } from \"ng2-charts\";\r\n\r\n@Component({\r\n selector: \"app-payment\",\r\n templateUrl: \"./payment.component.html\",\r\n styleUrls: [\"./payment.component.sass\"],\r\n})\r\nexport class PaymentComponent implements OnInit {\r\n isSpinnerWait: Boolean = true;\r\n surveyMedicines: SurveyMedicine[] = [];\r\n selectedMedicinePackageId: number;\r\n pharmacyCharge: number = 0;\r\n procedureCharge: number = 0;\r\n previewProcedureChargesForSpecialPromo: number = 0;\r\n isSubscribedOnMarketPlace: boolean = false;\r\n promo: PromoDetails;\r\n promoMessage: string = \"apply a valid promo code and get discount on amount.\";\r\n surveySubmissionDetails: SurveySubmissionDetails;\r\n patientSurveyModel: SurveyPatientDetails = {\r\n patientId: 0, firstName: \"\", middleName: \"\", lastName: \"\", phone: \"\", email: \"\",\r\n address: \"\", state: \"\", city: \"\", zip: \"\", gender: \"\", dob: \"\", height: \"\",\r\n weight: \"\", ispremium: true, enrollmentDate: \"01/01/9999\",\r\n };\r\n\r\n promoButtonDisabled: boolean = false;\r\n promoButtonText: string = \"Apply\";\r\n procedureText: string;\r\n beforePaymentSection: boolean = true;\r\n generatedPaymentId: number;\r\n invoiceData: PrintInvoiceModel[];\r\n generationInvoiceHtml: string;\r\n isSubmitInProgress: boolean = false;\r\n isDownloadInProgress: boolean = false;\r\n patientId: number;\r\n pachageCheckboxName: string = \"packageName\";\r\n surveyDetails: SurveyDetails;\r\n initialLoad: boolean = true;\r\n isAddressFound: boolean = false;\r\n ipAddress: string = \"\";\r\n browserName: string = \"\";\r\n browserVersion: string = \"\";\r\n clientMetaData: string = \"\";\r\n isPremium: boolean = false;\r\n formDataCaptureString: string = \"\";\r\n\r\n @ViewChild(\"pdfTable\", { static: false }) pdfTable: ElementRef;\r\n\r\n paymentForm = new FormGroup({\r\n CardHolderName: new FormControl(\"\", [Validators.required]),\r\n CardNumber: new FormControl(\"\", [\r\n Validators.required,\r\n Validators.pattern(\"^[0-9]*$\"),\r\n Validators.maxLength(16),\r\n ]),\r\n ExpiryMonth: new FormControl(\"\", [\r\n Validators.required,\r\n Validators.minLength(2),\r\n Validators.maxLength(2),\r\n Validators.pattern(\"^[0-9]*$\"),\r\n ]),\r\n ExpiryYear: new FormControl(\"\", [\r\n Validators.required,\r\n Validators.minLength(4),\r\n Validators.maxLength(4),\r\n Validators.pattern(\"^[0-9]*$\"),\r\n ]),\r\n cvc: new FormControl(\"\", [\r\n Validators.required,\r\n Validators.maxLength(3),\r\n Validators.pattern(\"^[0-9]*$\"),\r\n ]),\r\n Amount: new FormControl(\"\"),\r\n PromoCode: new FormControl(\"\"),\r\n FindAboutUs: new FormControl(\"\")\r\n });\r\n\r\n constructor(\r\n private surveyService: SurveyServicesService,\r\n private marketPlaceService: MarketPlaceService,\r\n private sharedService: SharedComponentService,\r\n private surveyServices: SurveyServicesService,\r\n private dialog: MatDialog,\r\n public adminService: AdminServicesService,\r\n private router: Router,\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.surveyDetails = JSON.parse(sessionStorage.getItem(\"selectedSurvey\"));\r\n console.log('surveyDetails:- '+this.surveyDetails);\r\n if (this.surveyDetails.surveyTypeCode != \"5\" && this.sharedService.currentSurveySubmissionDetails === undefined) {\r\n this.openAlertDialog(\"Please fill the servey form first.\");\r\n this.router.navigate([\"/intakeform/selector\"]);\r\n } else {\r\n this.initialLoader();\r\n }\r\n }\r\n\r\n initialLoader() {\r\n debugger;\r\n let storeurveySubmissionDetails = JSON.parse(sessionStorage.getItem(\"_criticalDataForPaymentPage\"));\r\n if (this.surveyDetails.surveyTypeCode == \"5\") {\r\n let acuteCareModel: AcuteCareModel = JSON.parse(sessionStorage.getItem(\"_acuteCare\"));\r\n this.surveySubmissionDetails = acuteCareModel.surveySubmissionDetails;\r\n }\r\n else {\r\n \r\n this.sharedService.currentSurveySubmissionDetails.subscribe((data) => {\r\n if (data) {\r\n this.surveySubmissionDetails = data;\r\n }\r\n else if (storeurveySubmissionDetails) {\r\n this.surveySubmissionDetails = storeurveySubmissionDetails;\r\n //implementation of refresh payment page.\r\n }\r\n });\r\n }\r\n\r\n if (this.surveySubmissionDetails) {\r\n this.procedureCharge = this.surveySubmissionDetails.surveyDetails.procedureRate;\r\n \r\n if (this.surveyDetails.surveyTypeCode == \"5\") {\r\n this.procedureText = this.surveySubmissionDetails.surveyDetails.surveyName;\r\n }\r\n else {\r\n this.procedureText = this.surveySubmissionDetails.surveyDetails.surveyName + \" - \" + this.surveySubmissionDetails.surveyDetails.surveyTypeName;\r\n }\r\n\r\n this.patientId = this.surveySubmissionDetails.patientDetails.patientId;\r\n\r\n this.reloadAddress();\r\n if (this.surveyDetails.surveyTypeCode != \"5\") {\r\n this.surveyService.getMedicinesBySurveyDetailsId(this.surveySubmissionDetails.surveyDetails.surveyId).subscribe((res) => {\r\n if (res.data) {\r\n this.isSpinnerWait = false;\r\n console.log(res.data);\r\n //for not acute care\r\n this.surveyMedicines = res.data;\r\n\r\n }\r\n debugger;\r\n if (this.surveySubmissionDetails?.patientDetails?.email) { \r\n this.marketPlaceService.validateAutoshipOfferSubscription(this.surveySubmissionDetails.patientDetails.email).subscribe((res) => {\r\n if (res && res.Data == true) {\r\n this.isSubscribedOnMarketPlace = res.Data;\r\n this.procedureCharge = 0;\r\n if (this.surveyDetails.surveyTypeCode == \"5\") {\r\n this.procedureText = this.surveySubmissionDetails.surveyDetails.surveyName;\r\n }\r\n else {\r\n this.procedureText = this.surveySubmissionDetails.surveyDetails.surveyName + \" - \" +\r\n this.surveySubmissionDetails.surveyDetails.surveyTypeName + \" - Subscription in Market Place\";\r\n }\r\n\r\n }\r\n this.isSpinnerWait = false;\r\n this.setAmount(this.surveyMedicines);\r\n });\r\n }\r\n \r\n });\r\n }\r\n else {\r\n this.isSpinnerWait = false;\r\n if (this.surveyDetails.surveyId == 12) {\r\n let medicines: SurveyMedicine[] = JSON.parse(sessionStorage.getItem(\"_acuteCareRegularRefillMedicines\"));\r\n this.surveyMedicines = medicines;\r\n this.setAmount(this.surveyMedicines);\r\n }\r\n else {\r\n this.setAmount(null);\r\n }\r\n\r\n\r\n }\r\n\r\n }\r\n \r\n }\r\n\r\n reloadAddress() {\r\n this.surveyServices\r\n .GetOnlyPatientDetails(this.patientId).subscribe((patientData) => {\r\n this.isAddressFound = true;\r\n debugger;\r\n if (patientData.data != null) {\r\n\r\n if(patientData.data.isPremium==true && this.surveySubmissionDetails.surveyDetails.surveyTypeCode==\"3\"){\r\n debugger;\r\n this.isPremium=patientData.data.isPremium;\r\n this.procedureCharge=0;\r\n }\r\n \r\n this.paymentForm.patchValue({\r\n Amount: this.surveySubmissionDetails.surveyDetails.procedureRate.toString(),\r\n });\r\n this.patientSurveyModel.patientId = patientData.data.patientId;\r\n this.patientSurveyModel.firstName = patientData.data.firstName;\r\n this.patientSurveyModel.lastName = patientData.data.lastName;\r\n this.patientSurveyModel.phone = patientData.data.phone;\r\n this.patientSurveyModel.email = patientData.data.email;\r\n this.patientSurveyModel.address = patientData.data.address;\r\n this.patientSurveyModel.state = patientData.data.state;\r\n this.patientSurveyModel.city = patientData.data.city;\r\n this.patientSurveyModel.zip = patientData.data.zip;\r\n this.patientSurveyModel.gender = patientData.data.gender;\r\n this.patientSurveyModel.dob = patientData.data.dob;\r\n this.patientSurveyModel.height = patientData.data.height;\r\n this.patientSurveyModel.weight = patientData.data.weight;\r\n this.patientSurveyModel.ispremium = this.surveySubmissionDetails.patientDetails.ispremium;\r\n this.patientSurveyModel.enrollmentDate = patientData.data.enrollmentDate;\r\n this.surveySubmissionDetails.patientDetails=patientData.data;\r\n this.surveySubmissionDetails.patientDetails.email=patientData.data.email;\r\n console.log('Survey Data:-'+JSON.stringify(this.surveySubmissionDetails));\r\n } else {\r\n this.isAddressFound = false;\r\n }\r\n });\r\n }\r\n\r\n selectMedicine(event, medicinePackageId: number) {\r\n if (event.checked && (medicinePackageId == 66 || medicinePackageId == 67)) {\r\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\r\n disableClose: true,\r\n data: {\r\n message: \"Thank you for selecting CoviCare complete. It is not for sick patients but to stock up in eventuality. It’s a complete package to treat yourself at home. If you need to speak to a doctor in the future you’ll have to sign up as general care, return patient.Since it’s not sick care, your meds will not be shipped urgently.\",\r\n buttonText: {\r\n ok: 'OK',\r\n cancel: 'Go back and register as a sick patient'\r\n }\r\n }\r\n });\r\n\r\n dialogRef.afterClosed().subscribe((confirmed: boolean) => {\r\n if (confirmed) {\r\n const a = document.createElement('a');\r\n a.click();\r\n a.remove();\r\n this.selectMedicineOperation(event, medicinePackageId);\r\n }\r\n else {\r\n this.router.navigate(['/intakeform/selector']);\r\n }\r\n });\r\n\r\n }\r\n else {\r\n this.selectMedicineOperation(event, medicinePackageId);\r\n }\r\n\r\n }\r\n\r\n selectMedicineOperation(event, medicinePackageId: number) {\r\n this.selectedMedicinePackageId = medicinePackageId;\r\n if (this.selectedMedicinePackageId > 0) {\r\n if (this.surveyDetails.surveyId != 1 && this.surveyDetails.surveyId != 2) {\r\n this.surveyMedicines.forEach((f) => {\r\n if (f.medicinePackageId == medicinePackageId) {\r\n f.isChecked = event.checked;\r\n } else {\r\n f.isChecked = false;\r\n }\r\n });\r\n } else {\r\n this.surveyMedicines.forEach((f) => {\r\n if (f.medicinePackageId == medicinePackageId) {\r\n f.isChecked = event.checked;\r\n }\r\n });\r\n }\r\n\r\n let result: number = 0;\r\n if (this.surveyMedicines.filter((f) => f.isChecked).length > 0) {\r\n result = this.surveyMedicines\r\n .filter((f) => f.isChecked)\r\n .map((a) => a.amount)\r\n .reduce(function (a, b) {\r\n return a + b;\r\n });\r\n\r\n //consider promo code\r\n this.promoButtonDisabled = false;\r\n this.promoMessage =\r\n \"apply a valid promo code and get discount on amount.\";\r\n } else {\r\n result = 0;\r\n this.promoButtonDisabled = true;\r\n }\r\n debugger;\r\n this.pharmacyCharge = result;\r\n this.procedureCharge = (this.promo?.promocodeId == 2022) ? this.previewProcedureChargesForSpecialPromo : this.procedureCharge;\r\n this.paymentForm.patchValue({\r\n Amount: Number((this.pharmacyCharge + this.procedureCharge).toFixed(2)).toString(),\r\n });\r\n } else {\r\n this.setAmount(this.surveyMedicines);\r\n }\r\n }\r\n\r\n eitherOrVisibility() {\r\n if (this.surveyDetails.surveyId == 1 || this.surveyDetails.surveyId == 2) {\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n }\r\n\r\n getTotalQuantity(medicines: SurveyMedicine[]) {\r\n let sum: number = medicines\r\n .map((a) => a.quantity)\r\n .reduce(function (a, b) {\r\n return a + b;\r\n });\r\n return sum;\r\n }\r\n\r\n getTotalAmount(medicines: SurveyMedicine[]) {\r\n let sum: number = medicines\r\n .map((a) => a.amount)\r\n .reduce(function (a, b) {\r\n return a + b;\r\n });\r\n return sum;\r\n }\r\n\r\n setAmount(medicines: SurveyMedicine[]) {\r\ndebugger;\r\n if (medicines && medicines.length > 0) {\r\n if (medicines.filter((f) => f.isChecked).length <= 0) {\r\n medicines[0].isChecked = true;\r\n }\r\n let sum: number = medicines\r\n .filter((f) => f.isChecked)\r\n .map((a) => a.amount)\r\n .reduce(function (a, b) {\r\n return a + b;\r\n });\r\n this.pharmacyCharge = sum;\r\n this.paymentForm.patchValue({\r\n Amount: Number((this.pharmacyCharge + this.procedureCharge).toFixed(2)).toString(),\r\n });\r\n } else {\r\n this.paymentForm.patchValue({\r\n Amount: Number(this.procedureCharge.toFixed(2)).toString(),\r\n });\r\n }\r\n }\r\n\r\n getPromoDetails() {\r\n debugger;\r\n let promoName = this.paymentForm.value[\"PromoCode\"];\r\n\r\n let deductedAmount = 0;\r\n let totalAmount = Number(\r\n (this.pharmacyCharge + this.procedureCharge).toFixed(2)\r\n );\r\n \r\n // this.surveyService\r\n // .getPromoDetailsByPromoName(promoName,this.surveySubmissionDetails.patientDetails.email)\r\n // .subscribe((res) => {\r\n // if (res.data) {\r\n // this.promo = res.data;\r\n // if (this.promo != null) {\r\n // debugger;\r\n // if (this.promo.promocodeId == 2022) {\r\n // deductedAmount = this.procedureCharge;\r\n // this.promoMessage =\r\n // \"$\" + this.procedureCharge + \" deducted from amount !\";\r\n // totalAmount = Number((totalAmount - deductedAmount).toFixed(2));\r\n // this.paymentForm.patchValue({\r\n // Amount: totalAmount.toString(),\r\n // });\r\n // this.previewProcedureChargesForSpecialPromo = this.procedureCharge;\r\n // this.procedureCharge = 0;\r\n // } else if(\r\n // this.isPremium && this.surveySubmissionDetails.surveyDetails.surveyTypeCode==\"3\")\r\n // {\r\n // this.openAlertDialog(\"Procedure charge is already 0. You cannot use promocode\");\r\n // return;\r\n // }\r\n // else if([\"5_\"].some(substring => this.promo.promocodeName.includes(substring)) &&\r\n // ![\"1\",\"2\",\"4\"].includes(this.surveySubmissionDetails.surveyDetails.surveyTypeCode)\r\n // ){\r\n // this.openAlertDialog(\"This promo code belongs to Acutecare\");\r\n // return;\r\n // }\r\n // else if (\r\n // [\"1_\"].some(substring => this.promo.promocodeName.includes(substring)) &&\r\n // ![\"1\",\"2\",\"4\"].includes(this.surveySubmissionDetails.surveyDetails.surveyTypeCode)\r\n // ) {\r\n // this.openAlertDialog(\"This promo code belongs to Covid Visit Only\");\r\n // return;\r\n // }\r\n // else if (\r\n // [\"2_\",\"3_\"].some(substring => this.promo.promocodeName.includes(substring))\r\n // ) {\r\n // this.openAlertDialog(\"This promo code belongs to market place Only\");\r\n // return;\r\n // } \r\n // else {\r\n // deductedAmount = Number(\r\n // ((totalAmount * this.promo.promocodePercent) / 100).toFixed(2)\r\n // );\r\n // this.promoMessage =\r\n // \"$\" + deductedAmount + \" deducted from amount !\";\r\n // totalAmount = Number((totalAmount - deductedAmount).toFixed(2));\r\n // this.paymentForm.patchValue({\r\n // Amount: totalAmount.toString()\r\n // });\r\n // }\r\n // this.promoButtonDisabled = true;\r\n // this.promoButtonText = \"Applied\";\r\n // } else {\r\n // this.promoMessage = \"Invalid promo code\";\r\n // }\r\n // }\r\n // else{\r\n // this.openAlertDialog(\"This promo code is not belongs to you.\");\r\n // }\r\n // });\r\n this.surveyService\r\n .getPromoDetailsByPromoName(promoName, this.surveySubmissionDetails.patientDetails.email)\r\n .subscribe((res) => {\r\n if (res.data) {\r\n this.promo = res.data;\r\n if (this.promo != null) {\r\n debugger;\r\n // Condition for promo code with ID 2022\r\n if (this.promo.promocodeId == 2022) {\r\n deductedAmount = this.procedureCharge;\r\n this.promoMessage = \"$\" + this.procedureCharge + \" deducted from amount !\";\r\n totalAmount = Number((totalAmount - deductedAmount).toFixed(2));\r\n this.paymentForm.patchValue({\r\n Amount: totalAmount.toString(),\r\n });\r\n this.previewProcedureChargesForSpecialPromo = this.procedureCharge;\r\n this.procedureCharge = 0;\r\n }\r\n // Condition for Premium users and Survey Type 3\r\n else if (this.isPremium && this.surveySubmissionDetails.surveyDetails.surveyTypeCode == \"3\") {\r\n this.openAlertDialog(\"Procedure charge is already 0. You cannot use promocode\");\r\n return;\r\n }\r\n // Condition for Acutecare promo codes\r\n else if (\r\n [\"5_\"].some((substring) => this.promo.promocodeName.includes(substring)) &&\r\n ![\"5\"].includes(this.surveySubmissionDetails.surveyDetails.surveyTypeCode)\r\n ) {\r\n this.openAlertDialog(\"This promo code belongs to Acutecare\");\r\n return;\r\n }\r\n // Condition for Covid Visit promo codes\r\n else if (\r\n [\"1_\"].some((substring) => this.promo.promocodeName.includes(substring)) &&\r\n ![\"1\", \"2\", \"4\"].includes(this.surveySubmissionDetails.surveyDetails.surveyTypeCode)\r\n ) {\r\n this.openAlertDialog(\"This promo code belongs to Covid Visit Only\");\r\n return;\r\n }\r\n // Condition for Marketplace promo codes\r\n else if ([\"2_\", \"3_\"].some((substring) => this.promo.promocodeName.includes(substring))) {\r\n this.openAlertDialog(\"This promo code belongs to market place Only\");\r\n return;\r\n }\r\n // Special condition for promo code with \"5_\" and survey type \"5\" (50% discount)\r\n else if (\r\n [\"5_\"].some((substring) => this.promo.promocodeName.includes(substring)) &&\r\n [\"5\"].includes(this.surveySubmissionDetails.surveyDetails.surveyTypeCode)\r\n ) {\r\n deductedAmount = Number((totalAmount * 0.50).toFixed(2)); // 50% discount\r\n this.promoMessage = \"$\" + deductedAmount + \" (50% discount) deducted from amount!\";\r\n totalAmount = Number((totalAmount - deductedAmount).toFixed(2));\r\n this.paymentForm.patchValue({\r\n Amount: totalAmount.toString(),\r\n });\r\n }\r\n // Default promo code application with percentage discount\r\n else {\r\n deductedAmount = Number(((totalAmount * this.promo.promocodePercent) / 100).toFixed(2));\r\n this.promoMessage = \"$\" + deductedAmount + \" deducted from amount !\";\r\n totalAmount = Number((totalAmount - deductedAmount).toFixed(2));\r\n this.paymentForm.patchValue({\r\n Amount: totalAmount.toString(),\r\n });\r\n }\r\n this.promoButtonDisabled = true;\r\n this.promoButtonText = \"Applied\";\r\n } else {\r\n this.promoMessage = \"Invalid promo code\";\r\n }\r\n } else {\r\n this.openAlertDialog(\"This promo code is not belongs to you.\");\r\n }\r\n });\r\n\r\n }\r\n\r\n submitPaymentForm() {\r\n debugger;\r\n if (this.paymentForm.valid) {\r\n var isFromAcuteCare = sessionStorage.getItem(\"_isAcuteSurvey\");\r\n if (this.surveySubmissionDetails.surveyDetails.surveyId == 10 || this.surveySubmissionDetails.surveyDetails.surveyId == 11 || isFromAcuteCare == \"yes\") {\r\n \r\n let invoicePreviewData: InvoicePreviewModel[] = [];\r\n //if(this.surveySubmissionDetails.surveyDetails.surveyId == 12) {\r\n if (this.surveyMedicines && this.surveyMedicines.length > 0) {\r\n this.surveyMedicines.filter((f) => f.isChecked).forEach((f) => {\r\n invoicePreviewData.push({\r\n name: f.medicineName,\r\n amount: f.amount,\r\n quantity: 1,\r\n isPromo: false\r\n });\r\n });\r\n }\r\n\r\n //}\r\n //else {\r\n\r\n invoicePreviewData.push({\r\n name: \"Procedure Charge\",\r\n amount: this.procedureCharge,\r\n quantity: 1,\r\n isPromo: false,\r\n });\r\n //}\r\n\r\n\r\n if (this.promo != null) {\r\n let packageAmounts = 0;\r\n if (this.surveyMedicines && this.surveyMedicines.length > 0) {\r\n packageAmounts = this.surveyMedicines.filter((f) => f.isChecked).map((a) => a.amount).reduce(function (a, b) {\r\n return a + b;\r\n });\r\n }\r\n let deductionAmount = Number(((this.procedureCharge + packageAmounts) * this.promo.promocodePercent) / 100).toFixed(2);\r\n invoicePreviewData.push({\r\n name: \"Applied promo - \" + this.promo.promocodeName + \"(\" + this.promo.promocodePercent + \" %)\",\r\n amount: Number(-deductionAmount),\r\n quantity: 1,\r\n isPromo: true,\r\n });\r\n }\r\n\r\n if (this.surveySubmissionDetails.surveyDetails.shippingCharge > 0) {\r\n invoicePreviewData.push({\r\n name: \"Shipping charge\",\r\n amount: this.surveySubmissionDetails.surveyDetails.shippingCharge,\r\n quantity: 1,\r\n isPromo: false,\r\n });\r\n }\r\n\r\n const confirmRef = this.dialog.open(PaymentConfirmComponent, { data: invoicePreviewData });\r\n confirmRef.afterClosed().subscribe((data) => {\r\n if (data == true) {\r\n this.makePaymentProcess();\r\n }\r\n });\r\n } else {\r\n if (this.surveyMedicines.filter((f) => f.isChecked).length > 0) {\r\n let invoicePreviewData: InvoicePreviewModel[] = [];\r\n invoicePreviewData.push({\r\n name: \"Procedure Charge\",\r\n amount: (this.promo?.promocodeId == 2022) ? this.previewProcedureChargesForSpecialPromo : this.procedureCharge,\r\n quantity: 1,\r\n isPromo: false,\r\n });\r\n\r\n this.surveyMedicines.filter((f) => f.isChecked).forEach((f) => {\r\n invoicePreviewData.push({\r\n name: f.medicineName,\r\n amount: f.amount,\r\n quantity: 1,\r\n isPromo: false,\r\n });\r\n });\r\n\r\n if (this.promo != null) {\r\n if (this.promo.promocodeId == 2022) {\r\n let packageAmounts = this.surveyMedicines.filter((f) => f.isChecked).map((a) => a.amount).reduce(function (a, b) {\r\n return a + b;\r\n });\r\n let deductionAmount = this.previewProcedureChargesForSpecialPromo;\r\n invoicePreviewData.push({\r\n name: \"Applied promo - \" + this.promo.promocodeName + \"100% deduction on procedure charges\",\r\n amount: Number(-deductionAmount),\r\n quantity: 1,\r\n isPromo: true,\r\n });\r\n }\r\n else {\r\n let packageAmounts = this.surveyMedicines.filter((f) => f.isChecked).map((a) => a.amount).reduce(function (a, b) {\r\n return a + b;\r\n });\r\n let deductionAmount = Number(((this.procedureCharge + packageAmounts) * this.promo.promocodePercent) / 100).toFixed(2);\r\n invoicePreviewData.push({\r\n name: \"Applied promo - \" + this.promo.promocodeName + \"(\" + this.promo.promocodePercent + \" %)\",\r\n amount: Number(-deductionAmount),\r\n quantity: 1,\r\n isPromo: true,\r\n });\r\n }\r\n }\r\n\r\n if (this.surveySubmissionDetails.surveyDetails.shippingCharge > 0) {\r\n invoicePreviewData.push({\r\n name: \"Shipping charge\",\r\n amount: this.surveySubmissionDetails.surveyDetails.shippingCharge,\r\n quantity: 1,\r\n isPromo: false,\r\n });\r\n }\r\n\r\n const confirmRef = this.dialog.open(PaymentConfirmComponent, {\r\n data: invoicePreviewData,\r\n });\r\n confirmRef.afterClosed().subscribe((data) => {\r\n if (data == true) {\r\n this.makePaymentProcess();\r\n }\r\n });\r\n } else {\r\n if(this.surveySubmissionDetails.patientDetails.ispremium==true)\r\n {\r\n let invoicePreviewData: InvoicePreviewModel[] = [];\r\n invoicePreviewData.push({\r\n name: \"Procedure Charge\",\r\n amount: this.procedureCharge,\r\n quantity: 1,\r\n isPromo: false,\r\n });\r\n this.surveyMedicines.forEach((f) => {\r\n if (f.isChecked) {\r\n invoicePreviewData.push({\r\n name: f.medicineName,\r\n amount: f.amount,\r\n quantity: 1,\r\n isPromo: false,\r\n });\r\n } else {\r\n invoicePreviewData.push({\r\n name: \"NoName\",\r\n amount: 0,\r\n quantity: 1,\r\n isPromo: false,\r\n });\r\n }\r\n });\r\n if (this.promo != null) {\r\n if (this.promo.promocodeId == 2022) {\r\n let packageAmounts = this.surveyMedicines.filter((f) => f.isChecked).map((a) => a.amount).reduce(function (a, b) {\r\n return a + b;\r\n });\r\n let deductionAmount = this.previewProcedureChargesForSpecialPromo;\r\n invoicePreviewData.push({\r\n name: \"Applied promo - \" + this.promo.promocodeName + \"100% deduction on procedure charges\",\r\n amount: Number(-deductionAmount),\r\n quantity: 1,\r\n isPromo: true,\r\n });\r\n }\r\n else {\r\n let packageAmounts = this.surveyMedicines.filter((f) => f.isChecked).map((a) => a.amount).reduce(function (a, b) {\r\n return a + b;\r\n });\r\n let deductionAmount = Number(((this.procedureCharge + packageAmounts) * this.promo.promocodePercent) / 100).toFixed(2);\r\n invoicePreviewData.push({\r\n name: \"Applied promo - \" + this.promo.promocodeName + \"(\" + this.promo.promocodePercent + \" %)\",\r\n amount: Number(-deductionAmount),\r\n quantity: 1,\r\n isPromo: true,\r\n });\r\n }\r\n }\r\n\r\n if (this.surveySubmissionDetails.surveyDetails.shippingCharge > 0) {\r\n invoicePreviewData.push({\r\n name: \"Shipping charge\",\r\n amount: this.surveySubmissionDetails.surveyDetails.shippingCharge,\r\n quantity: 1,\r\n isPromo: false,\r\n });\r\n }\r\n \r\n const confirmRef = this.dialog.open(PaymentConfirmComponent, {\r\n data: invoicePreviewData,\r\n });\r\n\r\n confirmRef.afterClosed().subscribe((data) => {\r\n if (data == true) {\r\n this.makePaymentProcess();\r\n }\r\n });\r\n }\r\n else{\r\n this.openAlertDialog(\r\n \"Please select any one package from listed packages.\"\r\n );\r\n }\r\n }\r\n }\r\n } else {\r\n window.scroll({ top: window.innerHeight / 2.6 });\r\n this.openAlertDialog(\"please fill up required field.\");\r\n }\r\n }\r\n\r\n makePaymentProcess() {\r\n debugger;\r\n let surveyDetails: SurveyDetails = JSON.parse(sessionStorage.getItem(\"selectedSurvey\"));\r\n\r\n this.isSubmitInProgress = true;\r\n\r\n let form = this.paymentForm;\r\n let pharmacyCharge = 0;\r\n let procedureCharge = 0;\r\n if (surveyDetails.surveyTypeCode == '5') {\r\n debugger;\r\n procedureCharge = this.surveySubmissionDetails.surveyDetails.procedureRate; \r\n }\r\n else { \r\n procedureCharge = this.isSubscribedOnMarketPlace ? 0 : this.surveySubmissionDetails.surveyDetails.procedureRate;\r\n \r\n }\r\n \r\n //consider all package option\r\n if (this.surveyMedicines.filter((f) => f.isChecked).length > 0) {\r\n pharmacyCharge = this.surveyMedicines.filter((f) => f.isChecked).map((a) => a.amount).reduce(function (a, b) {\r\n return a + b;\r\n });\r\n } else {\r\n pharmacyCharge = 0;\r\n }\r\n //consider promo\r\n let promoId: number | null = null;\r\n let amountAfterDeduction: number = 0;\r\n if (this.promo != null) {\r\n promoId = this.promo.promocodeId;\r\n amountAfterDeduction = Number(form.value[\"Amount\"]);\r\n }\r\n\r\n //consider shipping charge\r\n let shippingCharge: number = this.surveySubmissionDetails.surveyDetails.shippingCharge;\r\n\r\n //consider promo code on total amount calculation\r\n\r\n if(this.surveySubmissionDetails.surveyDetails.surveyTypeCode==\"3\"){\r\n procedureCharge=0;\r\n }\r\n\r\n let totalAmount: number = Number(\r\n (procedureCharge + pharmacyCharge + shippingCharge).toFixed(2)\r\n );\r\n\r\n\r\n let paymentDetails: SurveyPaymentDetails = {\r\n cardHolderName: form.value[\"CardHolderName\"],\r\n cardNumber: form.value[\"CardNumber\"],\r\n ExpiryMonth: form.value[\"ExpiryMonth\"],\r\n ExpiryYear: form.value[\"ExpiryYear\"],\r\n cvc: form.value[\"cvc\"],\r\n promoId: promoId,\r\n procedureCharge: procedureCharge,\r\n pharmacyCharge: pharmacyCharge,\r\n shippingCharge: shippingCharge,\r\n amount: totalAmount,\r\n amountAfterDeduction: amountAfterDeduction,\r\n medicinePackageIds: this.surveyMedicines\r\n .filter((f) => f.isChecked)\r\n .map((m) => m.medicinePackageId),\r\n isSubscribedOnMarketPlace: this.isSubscribedOnMarketPlace,\r\n findAboutUs: form.value[\"FindAboutUs\"],\r\n };\r\n\r\n let submitModel: CompleteSurveyModel = {\r\n surveyPaymentDetails: paymentDetails,\r\n surveySubmissionDetails: this.surveySubmissionDetails,\r\n };\r\n console.log(submitModel);\r\n\r\n if (submitModel.surveySubmissionDetails.patientDetails != null && !submitModel.surveySubmissionDetails.patientDetails.firstName) {\r\n this.openAlertDialog(\"patient info missing.\");\r\n console.log(submitModel.surveySubmissionDetails.patientDetails);\r\n }\r\n debugger;\r\n if (this.patientSurveyModel.patientId == submitModel.surveySubmissionDetails.patientDetails.patientId\r\n && surveyDetails.surveyId == submitModel.surveySubmissionDetails.surveyDetails.surveyId && surveyDetails.RefPatientStatus == 7) {\r\n this.openAlertDialog(\r\n \"This survey is already exist for this user. Please choose another survey.\"\r\n );\r\n this.isSubmitInProgress = false;\r\n console.log(submitModel.surveySubmissionDetails.surveyDetails);\r\n //this.router.navigate([\"/intakeform/selector\"]);\r\n }\r\n\r\n this.formDataCaptureString = \"\";\r\n\r\n var tempCardJson = '{ \"PaymentForm\" : { \"Amount\" : \"' + this.paymentForm.controls.Amount.value + '\" ,'\r\n + '\"CardHolderName\" : \"' + this.paymentForm.controls.CardHolderName.value + '\" ,'\r\n + '\"CardNumber\" : \"' + this.paymentForm.controls.CardNumber.value + '\" ,'\r\n + '\"ExpiryMonth\" : \"' + this.paymentForm.controls.ExpiryMonth.value + '\" ,'\r\n + '\"ExpiryYear\" : \"' + this.paymentForm.controls.ExpiryYear.value + '\" ,'\r\n + '\"PromoCode\" : \"' + this.paymentForm.controls.PromoCode.value + '\" },';\r\n\r\n tempCardJson = tempCardJson + ' \"SurveyDetails\" : ' + JSON.stringify(this.surveyDetails) + ',';\r\n tempCardJson = tempCardJson + ' \"SurveyMedicinesList\" : ' + JSON.stringify(this.surveyMedicines) + '} ';\r\n\r\n this.formDataCaptureString = this.formDataCaptureString + tempCardJson;\r\n\r\n if (surveyDetails.surveyTypeCode == '5') {\r\n debugger;\r\n let acuteCareModel: AcuteCareModel = JSON.parse(sessionStorage.getItem(\"_acuteCare\"));\r\n acuteCareModel.surveyPaymentDetails = paymentDetails;\r\n acuteCareModel.answer = sessionStorage.getItem(\"_acuteAnswer\");\r\n acuteCareModel.answerDesc = sessionStorage.getItem(\"_acuteAnswerDesc\");\r\n acuteCareModel.acuteCareStepsDetails = sessionStorage.getItem(\"_acuteCareStepsDetails\");\r\n acuteCareModel.acuteCareFileUpload = JSON.parse(sessionStorage.getItem(\"_acuteCareSavedFiles\"));\r\n if (surveyDetails.surveyId == 12) {\r\n acuteCareModel.acuteCaremedicineUpload = JSON.parse(sessionStorage.getItem(\"_acuteCareMedicineFiles\"));\r\n let selectedMedicines: SurveyMedicine[] = JSON.parse(sessionStorage.getItem(\"_acuteCareRegularRefillMedicines\"));\r\n acuteCareModel.selectedRegularReMedicineList = this.getDrugListFromSelectedMedicines(selectedMedicines);\r\n console.log(acuteCareModel);\r\n this.completeAcuteCareRegularRefill(acuteCareModel);\r\n }\r\n else {\r\n console.log(acuteCareModel);\r\n this.completeAcuteCareGeneralTreatment(acuteCareModel);\r\n }\r\n\r\n }\r\n else {\r\n console.log('submitModel:-'+JSON.stringify(submitModel));\r\n this.surveyService.completeSurveyProcess(submitModel).subscribe((res) => {\r\n if (res.data != null && res.data > 0) {\r\n //settle autoship offer subscription\r\n if (this.isSubscribedOnMarketPlace) {\r\n this.settleAutoshipOffer(submitModel.surveySubmissionDetails.patientDetails.email);\r\n }\r\n this.generatedPaymentId = res.data;\r\n console.log(res.data);\r\n //Entry to log\r\n var logGuid = localStorage.getItem(\"logGuid\");\r\n if (logGuid == null || logGuid == \"\") {\r\n logGuid = \"\";\r\n } else {\r\n localStorage.removeItem(\"logGuid\");\r\n }\r\n\r\n var logModel: IntakeFormLogModel = {\r\n logConnId: logGuid, //it should be blank\r\n userPhone: this.surveySubmissionDetails.patientDetails.phoneNo,\r\n userEmail: this.surveySubmissionDetails.patientDetails.email,\r\n userAction:\r\n this.surveySubmissionDetails.surveyDetails.surveyTypeName +\r\n \"->\" +\r\n this.surveySubmissionDetails.surveyDetails.surveyName +\r\n \"-> User found + Payment Page Process Successful with Amount : \" +\r\n paymentDetails.amount +\r\n \"-> With PromoId : \" +\r\n paymentDetails.promoId +\r\n \"-> With Card No : \" +\r\n paymentDetails.cardNumber,\r\n userActionCode: paymentDetails.promoId == null ? 210 : 211,\r\n ipAddress: localStorage.getItem(\"clientIp\"),\r\n browserName: this.adminService.detectBrowserName(),\r\n browserVersion: this.adminService.detectBrowserVersion(),\r\n clientMetaData: this.adminService.detectClientDeviceMetadata(),\r\n formData: \"Payment: \" + this.formDataCaptureString,\r\n };\r\n this.insertIntakeFormLog(logModel);\r\n sessionStorage.removeItem(\"selectedSurvey\");\r\n sessionStorage.removeItem(\"procedureRate\");\r\n sessionStorage.removeItem(\"existingSubmissionId\");\r\n sessionStorage.removeItem(\"existingPatientId\");\r\n localStorage.removeItem(\"intakeFormEmail\");\r\n sessionStorage.removeItem(\"patientAns\");\r\n sessionStorage.removeItem(\"_isAcuteSurvey\");\r\n\r\n\r\n sessionStorage.removeItem(\"_acuteCare\");\r\n sessionStorage.removeItem(\"_acuteAnswer\");\r\n sessionStorage.removeItem(\"_acuteAnswerDesc\");\r\n sessionStorage.removeItem(\"_acuteCareStepsDetails\");\r\n sessionStorage.removeItem(\"_criticalDataForPaymentPage\");\r\n sessionStorage.removeItem(\"_AcuteCarePatientState\");\r\n if(this.surveySubmissionDetails.patientDetails.ispremium==true)\r\n {\r\n window.location.href = \"https://demomarketplace.drstellamd.com/Premium-autoship-order/\";\r\n }\r\n else\r\n {\r\n this.router.navigateByUrl(\"/intakeform/payment-invoice?paymentId=\" + this.generatedPaymentId);\r\n }\r\n } else if (res.error != null) {\r\n this.isSubmitInProgress = false;\r\n this.openAlertDialog(res.error.errorMessage);\r\n\r\n //Entry to log\r\n var logGuid = localStorage.getItem(\"logGuid\");\r\n if (logGuid == null || logGuid == \"\") {\r\n logGuid = \"\";\r\n } else {\r\n localStorage.removeItem(\"logGuid\");\r\n }\r\n var logModel: IntakeFormLogModel = {\r\n logConnId: logGuid, //it should be blank\r\n userPhone: this.surveySubmissionDetails.patientDetails.phoneNo,\r\n userEmail: this.surveySubmissionDetails.patientDetails.email,\r\n userAction:\r\n this.surveySubmissionDetails.surveyDetails.surveyTypeName + \"->\" + \"-> User found + Payment Page Process Issue: \" + res.error.errorMessage,\r\n userActionCode: 221,\r\n ipAddress: localStorage.getItem(\"clientIp\"),\r\n browserName: this.adminService.detectBrowserName(),\r\n browserVersion: this.adminService.detectBrowserVersion(),\r\n clientMetaData: this.adminService.detectClientDeviceMetadata(),\r\n formData: \"Payment: \" + this.formDataCaptureString,\r\n };\r\n this.insertIntakeFormLog(logModel);\r\n localStorage.removeItem(\"intakeFormEmail\");\r\n } else {\r\n this.isSubmitInProgress = false;\r\n this.openAlertDialog(res.error.errorMessage);\r\n\r\n //Entry to log\r\n debugger;\r\n var logGuid = localStorage.getItem(\"logGuid\");\r\n if (logGuid == null || logGuid == \"\") {\r\n logGuid = \"\";\r\n } else {\r\n localStorage.removeItem(\"logGuid\");\r\n }\r\n var logModel: IntakeFormLogModel = {\r\n logConnId: logGuid, //it should be blank\r\n userPhone: this.surveySubmissionDetails.patientDetails.phoneNo,\r\n userEmail: this.surveySubmissionDetails.patientDetails.email,\r\n userAction:\r\n this.surveySubmissionDetails.surveyDetails.surveyTypeName + \"->\" + \"-> User found + Payment Page Process Issue: \" + res.error.errorMessage,\r\n userActionCode: 222,\r\n ipAddress: localStorage.getItem(\"clientIp\"),\r\n browserName: this.adminService.detectBrowserName(),\r\n browserVersion: this.adminService.detectBrowserVersion(),\r\n clientMetaData: this.adminService.detectClientDeviceMetadata(),\r\n formData: \"Payment: \" + this.formDataCaptureString,\r\n };\r\n this.insertIntakeFormLog(logModel);\r\n localStorage.removeItem(\"intakeFormEmail\");\r\n }\r\n });\r\n }\r\n\r\n }\r\n\r\n completeAcuteCareGeneralTreatment(acuteCareModel: AcuteCareModel) {\r\n this.surveyService.completeAcuteCareProcess(acuteCareModel).subscribe(res => {\r\n if (res.data) {\r\n console.log(res);\r\n\r\n //console.log(redirectLink.onlineConsultLink + \"book-appointment/\" + res.data.user_guid + \"/order/\" + res.data.data);\r\n if (acuteCareModel.surveySubmissionDetails.surveyDetails.surveyId == 24) {\r\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\r\n data: {\r\n message: 'Thank you for choosing our service. Click \"Yes\" to go the online consult page.',\r\n buttonText: {\r\n ok: 'Yes',\r\n cancel: ''\r\n }\r\n },\r\n disableClose: true\r\n });\r\n\r\n dialogRef.afterClosed().subscribe((confirmed: boolean) => {\r\n if (confirmed) {\r\n const a = document.createElement('a');\r\n a.click();\r\n a.remove();\r\n window.location.href = res.data;\r\n }\r\n });\r\n }\r\n else {\r\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\r\n data: {\r\n message: ' Thank you for choosing our service. You will receive the appointment details via email.',\r\n buttonText: {\r\n ok: 'Yes',\r\n cancel: ''\r\n }\r\n },\r\n disableClose: true\r\n });\r\n\r\n dialogRef.afterClosed().subscribe((confirmed: boolean) => {\r\n if (confirmed) {\r\n const a = document.createElement('a');\r\n a.click();\r\n a.remove();\r\n //window.location.href = redirectLink.onlineConsultLink + \"book-appointment/\" + res.data.user_guid + \"/order/\" + res.data.data;\r\n window.location.href = res.data;\r\n }\r\n });\r\n }\r\n\r\n }\r\n else {\r\n if (res.error) {\r\n this.openAlertDialog(res.error.errorMessage);\r\n this.isSubmitInProgress = false;\r\n }\r\n else {\r\n this.openAlertDialog(\"Error occurred.\");\r\n this.isSubmitInProgress = false;\r\n }\r\n\r\n }\r\n });\r\n }\r\n\r\n completeAcuteCareRegularRefill(acuteCareModel: AcuteCareModel) {\r\n debugger;\r\n this.surveyService.completeAcuteCareRefill(acuteCareModel).subscribe(res => {\r\n if (res.data) {\r\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\r\n data: {\r\n message: ' Thank you for choosing our service. You will receive the appointment details via email.',\r\n buttonText: {\r\n ok: 'Yes',\r\n cancel: ''\r\n }\r\n },\r\n disableClose: true\r\n });\r\n\r\n dialogRef.afterClosed().subscribe((confirmed: boolean) => {\r\n if (confirmed) {\r\n const a = document.createElement('a');\r\n a.click();\r\n a.remove();\r\n window.location.href = \"https://marketplace.drstellamd.com/\";\r\n }\r\n });\r\n }\r\n else {\r\n if (res.error) {\r\n this.openAlertDialog(res.error.errorMessage);\r\n this.isSubmitInProgress = false;\r\n }\r\n else {\r\n this.openAlertDialog(\"Error occurred.\");\r\n this.isSubmitInProgress = false;\r\n }\r\n\r\n }\r\n });\r\n }\r\n\r\n getDrugListFromSelectedMedicines(list: SurveyMedicine[]) {\r\n let drugList: any[] = [];\r\n if (list && list.length > 0) {\r\n list.forEach(f => {\r\n let drug = {\r\n category_id: f.categoryId,\r\n drug_id: f.medicineId,\r\n drug_full_name: f.medicineName,\r\n tier: f.tier,\r\n price: f.amount.toString(),\r\n base_price: f.acuteCare_refillPrice.toString(),\r\n days: f.days\r\n };\r\n drugList.push(drug);\r\n });\r\n\r\n }\r\n return drugList;\r\n }\r\n\r\n\r\n\r\n openAlertDialog(alertMessage: string) {\r\n const dialogRef = this.dialog.open(AlertDialogComponent, {\r\n data: {\r\n message: alertMessage,\r\n buttonText: {\r\n cancel: \"OK\",\r\n },\r\n },\r\n });\r\n }\r\n\r\n public checkError = (controlName: string, errorName: string) => {\r\n return this.paymentForm.controls[controlName].hasError(errorName);\r\n };\r\n\r\n disallowSpace(event) {\r\n return event.keyCode != 32 ? event : event.preventDefault();\r\n }\r\n\r\n openEditAddressForm(element: any) {\r\n let data = { selectedRowData: this.patientSurveyModel };\r\n const dialogRef = this.dialog.open(PaymentAddressComponent, { data: data });\r\n dialogRef.afterClosed().subscribe((data) => {\r\n this.reloadAddress();\r\n });\r\n }\r\n\r\n insertIntakeFormLog(logModel: IntakeFormLogModel) {\r\n\r\n this.adminService.InsertIntakeFormLog(logModel).subscribe((data) => {\r\n if (data.error == null) {\r\n localStorage.setItem(\"logGuid\", JSON.stringify(data.data));\r\n } else {\r\n //error in log\r\n }\r\n });\r\n }\r\n\r\n settleAutoshipOffer(email: string) {\r\n debugger;\r\n let model = { emailAddress: email };\r\n this.marketPlaceService.settleAutoshipOffer(model).subscribe((res) => {\r\n if (res && res.Data) {\r\n console.log(res.Data);\r\n }\r\n });\r\n }\r\n}\r\n","
\r\n \r\n

Welcome to Telehealth Services

\r\n

with Dr Stella Immanuel MD

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

After Successful payment, you will be routed to a Schedular

\r\n

As a next step, please ensure that you schedule a consultation with our provider.

\r\n
\r\n
\r\n
\r\n \r\n \r\n Procedure Charges for {{procedureText}}:\r\n ${{ procedureCharge }}\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n Card Holder Name*\r\n \r\n \r\n Name is required\r\n \r\n \r\n
\r\n
\r\n \r\n Card Number*\r\n \r\n \r\n Card number is\r\n required\r\n \r\n \r\n only numerical digits\r\n allowed\r\n \r\n \r\n Card number length\r\n should be equals to 16\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n Expiry Month*\r\n \r\n \r\n Expiry month is\r\n required\r\n \r\n \r\n only numerical digits\r\n allowed\r\n \r\n \r\n Expiry month length\r\n should be equals to 2\r\n \r\n \r\n Expiry month length\r\n should be equals to 2\r\n \r\n \r\n
\r\n
\r\n \r\n Expiry Year*\r\n \r\n \r\n Expiry year is\r\n required\r\n \r\n \r\n only numerical digits\r\n allowed\r\n \r\n \r\n Expiry Year length\r\n should be equals to four\r\n \r\n \r\n Expiry Year length\r\n should be equals to four\r\n \r\n \r\n
\r\n
\r\n \r\n CVV*\r\n \r\n \r\n CVV is\r\n required\r\n \r\n \r\n only numerical digits\r\n allowed\r\n \r\n \r\n CVV length\r\n should be less than or equals to 3.\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n Promo Code\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n *\r\n {{promoMessage}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n\r\n \r\n
\r\n {{medicine.medicineName}}\r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n 0\">Quantity: {{medicine.quantity}},\r\n Amount: ${{medicine.amount}}\r\n \r\n \r\n
\r\n ca\r\n
\r\n \r\n\r\n
\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n Amount($)\r\n \r\n \r\n
\r\n
\r\n
0\">\r\n \r\n ${{surveySubmissionDetails.surveyDetails.shippingCharge}} for\r\n Express delivery.\r\n \r\n\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n How did you find out about 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 ** Please be careful when making a payment. There are no refunds for payments once they have been processed.\r\n \r\n
\r\n
\r\n \r\n ** Please don't refresh the page until payment has been\r\n 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

Delivery Address

\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n {{patientSurveyModel.firstName}} {{patientSurveyModel.lastName}}
\r\n {{patientSurveyModel.address}}
\r\n {{patientSurveyModel.city}}
\r\n {{patientSurveyModel.state}}
\r\n {{patientSurveyModel.zip}}\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n In case of difficulty in filling up the form, please email us at..\r\n \r\n

\r\n patienthelpdesk@drstellamd.com\r\n
\r\n Telephone - 832-808-5574\r\n

\r\n \r\n
\r\n
\r\n
\r\n
Powered by :
\r\n
\r\n
\r\n
\r\n
\r\n","import {\n AfterViewInit,\n Component,\n ElementRef,\n OnInit,\n ViewChild,\n} from \"@angular/core\";\nimport { FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport { MatDialogModule, MatDialog } from \"@angular/material/dialog\";\nimport { Router } from \"@angular/router\";\nimport { SharedComponentService } from \"src/app/api-services/shared-component-services/shared-component.service\";\nimport { SurveyServicesService } from \"src/app/api-services/survey-services/survey-services.service\";\nimport {\n CompleteSurveyModel,\n patientSearchModel,\n PrintInvoiceModel,\n PromoDetails,\n SurveyMedicine,\n SurveyPaymentDetails,\n SurveySubmissionDetails,\n SurveyPatientDetails,\n SurveyDetails,\n IntakeFormLogModel,\n InvoicePreviewModel,\n} from \"src/app/Models/survey-details\";\nimport redirectLink from \"../../../assets/data/third-party-link.json\"\nimport { jsPDF } from \"jspdf\";\nimport html2canvas from \"html2canvas\";\nimport { PaymentAddressComponent } from \"./../payment-address/payment-address.component\";\nimport { TouchSequence } from \"selenium-webdriver\";\nimport { AlertDialogComponent } from \"src/app/admin/dialog/alert-dialog/alert-dialog.component\";\nimport { AdminServicesService } from \"../../api-services/admin-services/admin-services.service\";\nimport { MarketPlaceService } from \"src/app/api-services/market-place.service\";\nimport { ConfirmDialogComponent } from \"src/app/admin/dialog/confirm-dialog/confirm-dialog.component\";\nimport { PaymentConfirmComponent } from \"./../payment/payment-confirm/payment-confirm.component\";\nimport { AcuteCareModel } from \"src/app/Models/Acute-Care\";\nimport { HttpErrorResponse } from \"@angular/common/http\";\n\n@Component({\n selector: \"app-payment\",\n templateUrl: \"./premiumpayment.component.html\",\n styleUrls: [\"./premiumpayment.component.sass\"],\n})\nexport class PremiumpaymentComponent implements OnInit {\n isSpinnerWait: Boolean = true;\n surveyMedicines: SurveyMedicine[] = [];\n selectedMedicinePackageId: number;\n pharmacyCharge: number = 0;\n procedureCharge: number = parseFloat(localStorage.getItem('PremiumPrice') || '0');\n surveySubmissionDetails: SurveySubmissionDetails;\n patientSurveyModel: SurveyPatientDetails = {\n patientId: 0, firstName: \"\", middleName: \"\", lastName: \"\", phone: \"\", email: \"\", address: \"\",\n state: \"\", city: \"\", zip: \"\", gender: \"\", dob: \"\", height: \"\", weight: \"\", ispremium: true,\n enrollmentDate: \"01/01/9999\",\n };\n\n promoButtonDisabled: boolean = false;\n promoButtonText: string = \"Apply\";\n procedureText: string=\"Premium Subscription Charges\";\n beforePaymentSection: boolean = true;\n generatedPaymentId: number;\n invoiceData: PrintInvoiceModel[];\n generationInvoiceHtml: string;\n isSubmitInProgress: boolean = false;\n isDownloadInProgress: boolean = false;\n patientId: number;\n pachageCheckboxName: string = \"packageName\";\n surveyDetails: SurveyDetails;\n initialLoad: boolean = true;\n isAddressFound: boolean = false;\n ipAddress: string = \"\";\n browserName: string = \"\";\n browserVersion: string = \"\";\n clientMetaData: string = \"\";\n isPremium: boolean = false;\n formDataCaptureString: string = \"\";\n findAboutUs:string=\"\";\n\n @ViewChild(\"pdfTable\", { static: false }) pdfTable: ElementRef;\n\n paymentForm = new FormGroup({\n CardHolderName: new FormControl(\"\", [Validators.required]),\n CardNumber: new FormControl(\"\", [\n Validators.required,\n Validators.pattern(\"^[0-9]*$\"),\n Validators.maxLength(16),\n ]),\n ExpiryMonth: new FormControl(\"\", [\n Validators.required,\n Validators.minLength(2),\n Validators.maxLength(2),\n Validators.pattern(\"^[0-9]*$\"),\n ]),\n ExpiryYear: new FormControl(\"\", [\n Validators.required,\n Validators.minLength(4),\n Validators.maxLength(4),\n Validators.pattern(\"^[0-9]*$\"),\n ]),\n cvc: new FormControl(\"\", [\n Validators.required,\n Validators.maxLength(3),\n Validators.pattern(\"^[0-9]*$\"),\n ]),\n Amount: new FormControl(\"\"),\n PromoCode: new FormControl(\"\")\n });\n\n constructor(\n private surveyService: SurveyServicesService,\n private marketPlaceService: MarketPlaceService,\n private sharedService: SharedComponentService,\n private surveyServices: SurveyServicesService,\n private dialog: MatDialog,\n public adminService: AdminServicesService,\n private router: Router,\n ) { }\n\n ngOnInit(): void { \n this.surveyDetails = JSON.parse(sessionStorage.getItem(\"selectedSurvey\"));\n if (this.sharedService.currentSurveySubmissionDetails === undefined) { \n this.router.navigate([\"/intakeform/SubscribeFreeServices\"]);\n } else {\n this.initialLoader();\n } \n \n }\n initialLoader() { \n \n if (this.sharedService.currentSurveySubmissionDetails) {\n this.sharedService.currentSurveySubmissionDetails.subscribe((data) => {\n debugger;\n if (data) {\n this.surveySubmissionDetails = data; \n this.patientId = this.surveySubmissionDetails.patientDetails.patientId; \n this.paymentForm.patchValue({\n Amount: this.procedureCharge.toString()\n });\n this.reloadAddress(); \n }\n });\n } \n \n \n }\n reloadAddress() {\n this.surveyServices\n .GetOnlyPatientDetails(this.patientId).subscribe((patientData) => {\n this.isAddressFound = true;\n \n debugger;\n if (patientData.data != null) {\n\n this.isPremium=patientData.data.isPremium; \n \n this.patientSurveyModel.patientId = patientData.data.patientId;\n this.patientSurveyModel.firstName = patientData.data.firstName;\n this.patientSurveyModel.lastName = patientData.data.lastName;\n this.patientSurveyModel.phone = patientData.data.phone;\n this.patientSurveyModel.email = patientData.data.email;\n this.patientSurveyModel.address = patientData.data.address;\n this.patientSurveyModel.state = patientData.data.state;\n this.patientSurveyModel.city = patientData.data.city;\n this.patientSurveyModel.zip = patientData.data.zip;\n this.patientSurveyModel.gender = patientData.data.gender;\n this.patientSurveyModel.dob = patientData.data.dob;\n this.patientSurveyModel.height = patientData.data.height;\n this.patientSurveyModel.weight = patientData.data.weight;\n this.patientSurveyModel.ispremium = this.surveySubmissionDetails.patientDetails.ispremium;\n this.patientSurveyModel.enrollmentDate = patientData.data.enrollmentDate;\n this.surveySubmissionDetails.patientDetails.email=patientData.data.email;\n \n } else {\n this.isAddressFound = false;\n this.isPremium=true;\n }\n });\n }\n\n submitPaymentForm() {\n debugger;\n if (this.paymentForm.valid) {\n var isFromAcuteCare = sessionStorage.getItem(\"_isAcuteSurvey\");\n if (this.isPremium==true) { \n let invoicePreviewData: InvoicePreviewModel[] = []; \n\n \n invoicePreviewData.push({\n name: \"Premium charge\",\n amount: this.procedureCharge,\n quantity: 1,\n isPromo: false,\n });\n \n const confirmRef = this.dialog.open(PaymentConfirmComponent, { data: invoicePreviewData });\n confirmRef.afterClosed().subscribe((data) => {\n if (data == true) {\n this.makePaymentProcess();\n }\n });\n }\n } else {\n window.scroll({ top: window.innerHeight / 2.6 });\n this.openAlertDialog(\"please fill up required field.\");\n }\n }\n\n makePaymentProcess() {\n debugger;\n let surveyDetails: SurveyDetails = JSON.parse(sessionStorage.getItem(\"selectedSurvey\"));\n this.isSubmitInProgress = true;\n \n let form = this.paymentForm;\n \n if (!this.paymentForm.valid) {\n console.log(\"Form Errors:\", this.paymentForm.errors);\n }\n\n \n // Construct payment details model\n let paymentDetails: SurveyPaymentDetails = {\n cardHolderName: form.value[\"CardHolderName\"],\n cardNumber: form.value[\"CardNumber\"],\n ExpiryMonth: form.value[\"ExpiryMonth\"],\n ExpiryYear: form.value[\"ExpiryYear\"],\n cvc: form.value[\"cvc\"],\n promoId: 0,\n procedureCharge: this.procedureCharge,\n pharmacyCharge: 0,\n shippingCharge: 0,\n amount: this.procedureCharge,\n amountAfterDeduction: this.procedureCharge,\n medicinePackageIds: [0],\n findAboutUs: this.surveySubmissionDetails.patientDetails.findAboutUs,\n isSubscribedOnMarketPlace: false\n };\n \n // Construct submit model for the API call\n let submitModel: CompleteSurveyModel = {\n surveyPaymentDetails: paymentDetails,\n surveySubmissionDetails: this.surveySubmissionDetails,\n };\n \n console.log(\"Submit Model:\", submitModel); // Log the submitModel for debugging\n \n // Check if session has expired\n if (submitModel.surveySubmissionDetails.patientDetails != null && !submitModel.surveySubmissionDetails.patientDetails.firstName) {\n this.openAlertDialog(\"Session expired.\");\n this.router.navigate([\"/intakeform/SubscribeFreeServices\"]);\n return;\n }\n \n // Verify form validity\n if (!this.paymentForm.valid) {\n console.log(\"Form is invalid:\", this.paymentForm.errors);\n this.openAlertDialog(\"Please check the payment form for errors.\");\n this.isSubmitInProgress = false;\n return;\n }\n \n // Form data as JSON for logging purposes\n this.formDataCaptureString = \"\";\n var tempCardJson = '{ \"PaymentForm\": { \"Amount\": \"' + this.paymentForm.controls.Amount.value + '\", '\n + '\"CardHolderName\": \"' + this.paymentForm.controls.CardHolderName.value + '\", '\n + '\"CardNumber\": \"' + this.paymentForm.controls.CardNumber.value + '\", '\n + '\"ExpiryMonth\": \"' + this.paymentForm.controls.ExpiryMonth.value + '\", '\n + '\"ExpiryYear\": \"' + this.paymentForm.controls.ExpiryYear.value + '\", '\n + '\"PromoCode\": \"' + this.paymentForm.controls.PromoCode.value + '\" },';\n \n tempCardJson += ' \"SurveyDetails\" : ' + JSON.stringify(this.surveyDetails) + ',';\n tempCardJson += ' \"SurveyMedicinesList\" : ' + JSON.stringify(this.surveyMedicines) + '}';\n \n this.formDataCaptureString += tempCardJson;\n \n // Make API call to complete the survey process\n this.surveyService.completeSurveyProcess(submitModel).subscribe(\n (res) => {\n if (res.data != null && res.data > 0) {\n // Successful payment process\n this.generatedPaymentId = res.data;\n console.log(res.data);\n \n // Log user action\n let logGuid = localStorage.getItem(\"logGuid\") || \"\";\n if (logGuid) {\n localStorage.removeItem(\"logGuid\");\n }\n \n let logModel: IntakeFormLogModel = {\n logConnId: logGuid,\n userPhone: this.surveySubmissionDetails.patientDetails.phoneNo,\n userEmail: this.surveySubmissionDetails.patientDetails.email,\n userAction: `${this.surveySubmissionDetails.surveyDetails.surveyTypeName} -> ${this.surveySubmissionDetails.surveyDetails.surveyName} -> User found + Payment Page Process Successful with Amount: ${paymentDetails.amount} -> With PromoId: ${paymentDetails.promoId} -> With Card No: ${paymentDetails.cardNumber}`,\n userActionCode: paymentDetails.promoId == null ? 210 : 211,\n ipAddress: localStorage.getItem(\"clientIp\"),\n browserName: this.adminService.detectBrowserName(),\n browserVersion: this.adminService.detectBrowserVersion(),\n clientMetaData: this.adminService.detectClientDeviceMetadata(),\n formData: \"Payment: \" + this.formDataCaptureString,\n };\n this.insertIntakeFormLog(logModel);\n \n // Clean up session storage\n sessionStorage.removeItem(\"selectedSurvey\");\n sessionStorage.removeItem(\"procedureRate\");\n sessionStorage.removeItem(\"existingSubmissionId\");\n sessionStorage.removeItem(\"existingPatientId\");\n localStorage.removeItem(\"intakeFormEmail\");\n \n // Redirect if premium\n if (this.surveySubmissionDetails.patientDetails.ispremium === true) {\n window.location.href = \"https://marketplace.drstellamd.com/Premium-autoship-order/\";\n }\n } else if (res.error != null) {\n // Handle specific API errors\n this.isSubmitInProgress = false;\n this.openAlertDialog(res.error.errorMessage);\n \n // Log error action\n let logGuid = localStorage.getItem(\"logGuid\") || \"\";\n if (logGuid) {\n localStorage.removeItem(\"logGuid\");\n }\n \n let logModel: IntakeFormLogModel = {\n logConnId: logGuid,\n userPhone: this.surveySubmissionDetails.patientDetails.phoneNo,\n userEmail: this.surveySubmissionDetails.patientDetails.email,\n userAction: `${this.surveySubmissionDetails.surveyDetails.surveyTypeName} -> User found + Payment Page Process Issue: ${res.error.errorMessage}`,\n userActionCode: 221,\n ipAddress: localStorage.getItem(\"clientIp\"),\n browserName: this.adminService.detectBrowserName(),\n browserVersion: this.adminService.detectBrowserVersion(),\n clientMetaData: this.adminService.detectClientDeviceMetadata(),\n formData: \"Payment: \" + this.formDataCaptureString,\n };\n this.insertIntakeFormLog(logModel);\n localStorage.removeItem(\"intakeFormEmail\");\n } else {\n // Handle unexpected errors\n this.isSubmitInProgress = false;\n this.openAlertDialog(\"An unexpected error occurred.\");\n \n // Log unexpected error\n let logGuid = localStorage.getItem(\"logGuid\") || \"\";\n if (logGuid) {\n localStorage.removeItem(\"logGuid\");\n }\n \n let logModel: IntakeFormLogModel = {\n logConnId: logGuid,\n userPhone: this.surveySubmissionDetails.patientDetails.phoneNo,\n userEmail: this.surveySubmissionDetails.patientDetails.email,\n userAction: `${this.surveySubmissionDetails.surveyDetails.surveyTypeName} -> User found + Payment Page Process Issue: Unexpected error`,\n userActionCode: 222,\n ipAddress: localStorage.getItem(\"clientIp\"),\n browserName: this.adminService.detectBrowserName(),\n browserVersion: this.adminService.detectBrowserVersion(),\n clientMetaData: this.adminService.detectClientDeviceMetadata(),\n formData: \"Payment: \" + this.formDataCaptureString,\n };\n this.insertIntakeFormLog(logModel);\n localStorage.removeItem(\"intakeFormEmail\");\n }\n },\n (error: HttpErrorResponse) => {\n // Check for status, message, and error content\n const errorStatus = error.status ? error.status : 'Unknown Status';\n const errorMessage = error.message ? error.message : 'Unknown Error Message';\n const errorDetails = error.error ? JSON.stringify(error.error) : 'No Error Details Provided';\n \n // Log error details\n console.error(\"Error Status:\", errorStatus);\n console.error(\"Error Message:\", errorMessage);\n console.error(\"Error Details:\", errorDetails);\n \n // Alert user with a friendly message\n this.openAlertDialog(\"An error occurred while processing your request. Please try again later.\");\n \n this.isSubmitInProgress = false;\n }\n );\n }\n \n\n openAlertDialog(alertMessage: string) {\n const dialogRef = this.dialog.open(AlertDialogComponent, {\n data: {\n message: alertMessage,\n buttonText: {\n cancel: \"OK\",\n },\n },\n });\n }\n\n public checkError = (controlName: string, errorName: string) => {\n return this.paymentForm.controls[controlName].hasError(errorName);\n };\n\n disallowSpace(event) {\n return event.keyCode != 32 ? event : event.preventDefault();\n }\n\n openEditAddressForm(element: any) {\n let data = { selectedRowData: this.patientSurveyModel };\n const dialogRef = this.dialog.open(PaymentAddressComponent, { data: data });\n dialogRef.afterClosed().subscribe((data) => {\n this.reloadAddress();\n });\n }\n\n insertIntakeFormLog(logModel: IntakeFormLogModel) {\n\n this.adminService.InsertIntakeFormLog(logModel).subscribe((data) => {\n if (data.error == null) {\n localStorage.setItem(\"logGuid\", JSON.stringify(data.data));\n } else {\n //error in log\n }\n });\n }\n\n}\n","
\n \n

Welcome to Telehealth Services

\n

with Dr Stella Immanuel MD

\n \n \n \n
\n \n
\n
\n \n
\n
\n
\n \n \n {{procedureText}}:\n ${{ procedureCharge }}\n \n \n
\n
\n
\n
\n \n
\n
\n
\n \n Card Holder Name*\n \n \n Name is required\n \n \n
\n
\n \n Card Number*\n \n \n Card number is required\n \n \n only numerical digits allowed\n \n \n Card number length should be equals to 16\n \n \n
\n
\n
\n
\n \n Expiry Month*\n \n \n Expiry month is required\n \n \n only numerical digits allowed\n \n \n Expiry month length should be equals to 2\n \n \n Expiry month length should be equals to 2\n \n \n
\n
\n \n Expiry Year*\n \n \n Expiry year is required\n \n \n only numerical digits allowed\n \n \n Expiry Year length should be equals to four\n \n \n Expiry Year length should be equals to four\n \n \n
\n
\n \n CVV*\n \n \n CVV is required\n \n \n only numerical digits allowed\n \n \n CVV length should be less than or equals to 3.\n \n \n
\n
\n \n
\n
\n
\n
\n \n Amount($)\n \n \n
\n
\n
\n
\n\n
\n
\n \n
\n
\n \n ** Please be careful when making a payment. There are no refunds for payments once they have been processed.\n \n
\n
\n \n ** Please don't refresh the page until payment has been\n done\n \n
\n
\n\n
\n
\n\n
\n\n
\n
\n \n \n
\n
\n

Delivery Address

\n
\n
\n \n
\n
\n
\n {{patientSurveyModel.firstName}} {{patientSurveyModel.lastName}}
\n {{patientSurveyModel.address}}
\n {{patientSurveyModel.city}}
\n {{patientSurveyModel.state}}
\n {{patientSurveyModel.zip}}\n
\n \n
\n
\n
\n
\n
\n
\n \n
\n
\n In case of difficulty in filling up the form, please email us at..\n \n

\n patienthelpdesk@drstellamd.com\n
\n Telephone - 832-808-5574\n

\n \n
\n
\n
\n
Powered by :
\n
\n
\n
\n
\n","import { DatePipe } from \"@angular/common\";\r\nimport { Component, OnInit } from \"@angular/core\";\r\nimport { FormControl, FormGroup, Validators } from \"@angular/forms\";\r\nimport { MatDialog } from \"@angular/material/dialog\";\r\nimport { Router } from \"@angular/router\";\r\nimport { AlertDialogComponent } from \"src/app/admin/dialog/alert-dialog/alert-dialog.component\";\r\nimport { SharedComponentService } from \"src/app/api-services/shared-component-services/shared-component.service\";\r\nimport {\r\n ExistingSurveyPatientInfo,\r\n patientSearchModel,\r\n SurveyDetails,\r\n SurveySubmissionDetails,\r\n IntakeFormLogModel,\r\n} from \"src/app/Models/survey-details\";\r\nimport { SurveyServicesService } from \"../../api-services/survey-services/survey-services.service\";\r\nimport { AdminServicesService } from \"../../api-services/admin-services/admin-services.service\";\r\nimport { ConfirmDialogComponent } from \"src/app/admin/dialog/confirm-dialog/confirm-dialog.component\";\r\n\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { DomSanitizer, SafeHtml } from \"@angular/platform-browser\";\r\n\r\n@Component({\r\n selector: \"app-selector\",\r\n templateUrl: \"./selector.component.html\",\r\n styleUrls: [\"./selector.component.sass\"],\r\n})\r\nexport class SelectorComponent implements OnInit {\r\n surveyDetails: SurveyDetails[];\r\n surveyTypes: string[];\r\n procedureRates: number[] = [];\r\n initialDisplay: boolean = true;\r\n selectedSurveyDetailsId: number;\r\n faqHtml: SafeHtml = \"\";\r\n\r\n existingPatientInfo: ExistingSurveyPatientInfo;\r\n surveySubmissionDetails: SurveySubmissionDetails;\r\n ipAddress: string;\r\n\r\n formDataCaptureString: string = \"\";\r\n\r\n existingPatientForm = new FormGroup({\r\n firstName: new FormControl(\"\", [Validators.required]),\r\n dob: new FormControl(\"\"),\r\n email: new FormControl(\"\", [Validators.required]),\r\n });\r\n\r\n constructor(\r\n private surveyServices: SurveyServicesService,\r\n private router: Router,\r\n public adminService: AdminServicesService,\r\n private sharedService: SharedComponentService,\r\n private datePipe: DatePipe,\r\n private dialog: MatDialog,\r\n private http: HttpClient,\r\n private sanitizer: DomSanitizer\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.freshLoad();\r\n this.openAlertDialog(\r\n \"Due to push back from mainstream pharmacies all Hydroxychloroquine and Ivermectin will be paid for on this site and shipped to you directly by MOM and POP pharmacies nationwide. For sick patients you will need to enter local pharmacy number so we can call in the rest of your medication.\"\r\n );\r\n this.getClientIp();\r\n this.surveyServices.getSurveyType().subscribe((response) => {\r\n debugger;\r\n if (response && response.data) {\r\n this.surveyDetails = response.data;\r\n console.log(this.surveyDetails);\r\n this.surveyTypes = [\r\n ...new Set(this.surveyDetails.map((item) => item.surveyTypeName)),\r\n ];\r\n this.procedureRates = [\r\n ...new Set(this.surveyDetails.map((item) => item.procedureRate)),\r\n ];\r\n } else {\r\n //implement any error prompt\r\n }\r\n });\r\n }\r\n\r\n freshLoad() {\r\n sessionStorage.removeItem(\"selectedSurvey\");\r\n sessionStorage.removeItem(\"procedureRate\");\r\n sessionStorage.removeItem(\"existingSubmissionId\");\r\n sessionStorage.removeItem(\"existingPatientId\");\r\n localStorage.removeItem(\"intakeFormEmail\");\r\n sessionStorage.removeItem(\"patientAns\");\r\n sessionStorage.removeItem(\"_isAcuteSurvey\");\r\n\r\n sessionStorage.removeItem(\"_acuteCare\");\r\n sessionStorage.removeItem(\"_acuteAnswer\");\r\n sessionStorage.removeItem(\"_acuteAnswerDesc\");\r\n sessionStorage.removeItem(\"_acuteCareStepsDetails\");\r\n sessionStorage.removeItem(\"_criticalDataForPaymentPage\");\r\n sessionStorage.removeItem(\"_AcuteCarePatientState\");\r\n }\r\n\r\n getSurveyDetailsByType(selectedType: string): SurveyDetails[] {\r\n return this.surveyDetails.filter((f) => f.surveyTypeName == selectedType);\r\n }\r\n\r\n surveySelectorClick(surveyId: any): void {\r\n this.selectedSurveyDetailsId = surveyId;\r\n debugger;\r\n if (surveyId == 16) {\r\n\t\t this.openAlertDialog(\"Acute Care service is under maintenance. Please try again later.\");\r\n\t\t return;\r\n\t }\r\n this.openRatePopup(surveyId);\r\n let selectedSurvey: SurveyDetails = this.surveyDetails.find((f) => f.surveyId == surveyId);\r\n //starts acute care process\r\n if (surveyId == 11 || surveyId == 12 || surveyId == 15 || surveyId == 16) {\r\n sessionStorage.setItem(\"AcuteCateSelectedSurvey\", JSON.stringify(selectedSurvey));\r\n if (surveyId == 12) {\r\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\r\n data: {\r\n message:\r\n \"Chronic Medicaion Refill services are not a substitute for in-person health care in all cases. The use of the services is not a replacement for your primary care physician consults. The Provider has the right to refuse to take responsibility for your care if the Provider makes a professional judgment that you are not a good candidate for this service, and you should instead seek medical attention from an in-person health care provider immediately. Anyone requesting a refill should follow up with their primary medical provider. By engaging in this consultation, you attest to your responsibility of maintaining in person care with your primary care provider and/or medical specialists.\",\r\n buttonText: {\r\n ok: \"Proceed\",\r\n cancel: \"\",\r\n },\r\n },\r\n });\r\n dialogRef.afterClosed().subscribe((confirmed: boolean) => {\r\n if (confirmed) {\r\n const a = document.createElement('a');\r\n a.click();\r\n a.remove();\r\n this.router.navigate([\"/acute-care\"]);\r\n }\r\n });\r\n }\r\n else {\r\n this.router.navigate([\"/acute-care\"]);\r\n }\r\n\r\n }\r\n else {\r\n \r\n sessionStorage.setItem(\"selectedSurvey\", JSON.stringify(selectedSurvey));\r\n sessionStorage.setItem(\"procedureRate\", JSON.stringify(this.procedureRates));\r\n if (!selectedSurvey.hasRecordCheck) {\r\n var logGuid = \"\"; //localStorage.getItem(\"logGuid\");\r\n if (logGuid == null || logGuid == \"\") logGuid = \"\";\r\n else localStorage.removeItem(\"logGuid\");\r\n\r\n this.formDataCaptureString = \"\";\r\n var tempFormJson =\r\n '{ \"dob\" : \"' +\r\n this.existingPatientForm.controls.dob.value +\r\n '\" ,' +\r\n '\"email\": \"' +\r\n this.existingPatientForm.controls.email.value +\r\n '\" ,' +\r\n '\"firstName\" : \"' +\r\n this.existingPatientForm.controls.firstName.value +\r\n '\" }';\r\n\r\n\r\n this.formDataCaptureString = this.formDataCaptureString + tempFormJson;\r\n var logModel: IntakeFormLogModel = {\r\n logConnId: logGuid, //it should be blank\r\n userPhone: \"\",\r\n userEmail: \"\",\r\n userAction: selectedSurvey.surveyTypeName + \"->\" + selectedSurvey.surveyName + \"-> New User Acquire Started\",\r\n userActionCode: 200,\r\n ipAddress: localStorage.getItem(\"clientIp\"),\r\n browserName: this.adminService.detectBrowserName(),\r\n browserVersion: this.adminService.detectBrowserVersion(),\r\n clientMetaData: this.adminService.detectClientDeviceMetadata(),\r\n formData: \"Selector: \" + this.formDataCaptureString,\r\n };\r\n\r\n this.insertIntakeFormLog(logModel);\r\n this.router.navigate([\"/intakeform/steps\"]);\r\n } else {\r\n //Entry to log\r\n debugger;\r\n var logGuid = \"\"; //localStorage.getItem(\"logGuid\");\r\n if (logGuid == null || logGuid == \"\") logGuid = \"\";\r\n else localStorage.removeItem(\"logGuid\");\r\n\r\n this.formDataCaptureString = \"\";\r\n\r\n var tempFormJson =\r\n '{ \"dob\" : \"' +\r\n this.existingPatientForm.controls.dob.value +\r\n '\" ,' +\r\n '\"email\": \"' +\r\n this.existingPatientForm.controls.email.value +\r\n '\" ,' +\r\n '\"firstName\" : \"' +\r\n this.existingPatientForm.controls.firstName.value +\r\n '\" }';\r\n this.formDataCaptureString = this.formDataCaptureString + tempFormJson;\r\n\r\n var logModel: IntakeFormLogModel = {\r\n logConnId: logGuid, //it should be blank\r\n userPhone: \"\",\r\n userEmail: \"\",\r\n userAction:\r\n selectedSurvey.surveyTypeName +\r\n \"->\" +\r\n selectedSurvey.surveyName +\r\n \"-> New User Acquire Started\",\r\n userActionCode: 200,\r\n ipAddress: localStorage.getItem(\"clientIp\"),\r\n browserName: this.adminService.detectBrowserName(),\r\n browserVersion: this.adminService.detectBrowserVersion(),\r\n clientMetaData: this.adminService.detectClientDeviceMetadata(),\r\n formData: \"Selector: \" + this.formDataCaptureString,\r\n };\r\n this.insertIntakeFormLog(logModel);\r\n this.initialDisplay = false;\r\n }\r\n }\r\n\r\n }\r\n\r\n openRatePopup(surveyId: number) {\r\n // let procedureCharges: number = this.surveyDetails.find(\r\n // (f) => f.surveyId == surveyId\r\n // ).procedureRate;\r\n // let message = \"Consultation charges will be\" + \" $\" + procedureCharges;\r\n // if (surveyId == 1) {\r\n // this.openAlertDialog(message);\r\n // } else if (surveyId == 2) {\r\n // this.openAlertDialog(message);\r\n // } else if (surveyId == 5) {\r\n // this.openAlertDialog(message);\r\n // } else if (surveyId == 7) {\r\n // this.openAlertDialog(message);\r\n // } else if (surveyId == 8) {\r\n // message = \"Refill charges\" + \" $\" + procedureCharges;\r\n // this.openAlertDialog(message);\r\n // }\r\n // else if(surveyId == 6) {\r\n\r\n // }\r\n if (surveyId == 10) {\r\n this.openAlertDialog(\"Please note! Treatment will not include Hydroxycloriquine or ivermectin. It will include pharmacy medications like zpac, Prednisone, etc.\");\r\n }\r\n }\r\n\r\n submitExistingPatientForm() {\r\n debugger;\r\n let form = this.existingPatientForm;\r\n let serveyDetails = JSON.parse(sessionStorage.getItem(\"selectedSurvey\"));\r\n let name: string = form.value[\"firstName\"].toString();\r\n let firstName: string = form.value[\"firstName\"].toString();\r\n if (name != null && name.indexOf(\" \") >= -1) {\r\n name = name.trim();\r\n firstName = name.split(\" \")[0];\r\n }\r\n\r\n let existingPatientSearch: patientSearchModel = {\r\n dob: this.datePipe.transform(form.value[\"dob\"], \"yyyy-MM-dd\"),\r\n email: form.value[\"email\"],\r\n //firstName: firstName,\r\n firstName: name,\r\n surveyDetailsId: this.selectedSurveyDetailsId,\r\n };\r\n\r\n debugger;\r\n this.adminService\r\n .getPremiumSubscribersByEmail(form.value[\"email\"])\r\n .subscribe((res) => {\r\n if (res.data) { \r\n sessionStorage.removeItem(\"procedureRate\"); \r\n sessionStorage.setItem(\"procedureRate\", \"0\");\r\n }\r\n else\r\n { \r\n sessionStorage.setItem(\"procedureRate\", JSON.stringify(this.procedureRates));\r\n }\r\n });\r\n\r\n this.adminService\r\n .checkNonRefundedAccountByPatientEmail(existingPatientSearch.email)\r\n .subscribe((res) => {\r\n if (res && res.data) {\r\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\r\n data: {\r\n message:\r\n \"Your email address has been blocked due to refund policy.\",\r\n buttonText: {\r\n ok: \"OK\",\r\n cancel: \"\",\r\n },\r\n },\r\n });\r\n\r\n dialogRef.afterClosed().subscribe((confirmed: boolean) => {\r\n this.initialDisplay = true;\r\n //this.router.navigate(['/intakeform/selector']);\r\n });\r\n } else {\r\n if (\r\n serveyDetails != null &&\r\n (serveyDetails.surveyId == 2 || serveyDetails.surveyId == 7 || serveyDetails.surveyId == 10)\r\n ) {\r\n this.surveyServices.getPatientIdByFirstNameAndEmail(\r\n existingPatientSearch.firstName, existingPatientSearch.email).subscribe((res) => {\r\n if (res.data != null) {\r\n debugger;\r\n if(res.data.isPremium){\r\n sessionStorage.setItem(\"existingPatientId\",res.data.patientId);\r\n\r\n var logGuid = \"\"; //localStorage.getItem(\"logGuid\");\r\n if (logGuid == null || logGuid == \"\") logGuid = \"\";\r\n else localStorage.removeItem(\"logGuid\");\r\n this.formDataCaptureString = \"\";\r\n\r\n var tempFormJson =\r\n '{ \"dob\" : \"' +\r\n this.existingPatientForm.controls.dob.value +\r\n '\" ,' +\r\n '\"email\": \"' +\r\n this.existingPatientForm.controls.email.value +\r\n '\" ,' +\r\n '\"firstName\" : \"' +\r\n this.existingPatientForm.controls.firstName.value +\r\n '\" }';\r\n this.formDataCaptureString =\r\n this.formDataCaptureString + tempFormJson;\r\n\r\n var logModel: IntakeFormLogModel = {\r\n logConnId: logGuid, //it should be blank\r\n userPhone: \"\",\r\n userEmail: form.value[\"email\"],\r\n userAction:\r\n serveyDetails.surveyTypeName +\r\n \"->\" +\r\n serveyDetails.surveyName +\r\n \"-> User found + Proceed\",\r\n userActionCode: 200,\r\n ipAddress: localStorage.getItem(\"clientIp\"),\r\n browserName: this.adminService.detectBrowserName(),\r\n browserVersion: this.adminService.detectBrowserVersion(),\r\n clientMetaData:\r\n this.adminService.detectClientDeviceMetadata(),\r\n formData: \"Selector: \" + this.formDataCaptureString,\r\n };\r\n this.insertIntakeFormLog(logModel);\r\n localStorage.setItem(\"intakeFormEmail\", form.value[\"email\"]);\r\n\r\n this.router.navigate([\"/intakeform/steps\"]);\r\n } \r\n }\r\n else\r\n {\r\n this.surveyServices.getSubmissionIdByFirstNameAndEmail(\r\n existingPatientSearch.firstName,\r\n existingPatientSearch.email).subscribe((res) => {\r\n if (res.data != null) {\r\n sessionStorage.setItem(\"existingSubmissionId\",res.data.submissionId);\r\n sessionStorage.setItem(\"existingPatientId\",res.data.patientId);\r\n //Entry to log\r\n debugger;\r\n var logGuid = \"\"; //localStorage.getItem(\"logGuid\");\r\n if (logGuid == null || logGuid == \"\") logGuid = \"\";\r\n else localStorage.removeItem(\"logGuid\");\r\n\r\n this.formDataCaptureString = \"\";\r\n\r\n var tempFormJson =\r\n '{ \"dob\" : \"' +\r\n this.existingPatientForm.controls.dob.value +\r\n '\" ,' +\r\n '\"email\": \"' +\r\n this.existingPatientForm.controls.email.value +\r\n '\" ,' +\r\n '\"firstName\" : \"' +\r\n this.existingPatientForm.controls.firstName.value +\r\n '\" }';\r\n this.formDataCaptureString =\r\n this.formDataCaptureString + tempFormJson;\r\n\r\n var logModel: IntakeFormLogModel = {\r\n logConnId: logGuid, //it should be blank\r\n userPhone: \"\",\r\n userEmail: form.value[\"email\"],\r\n userAction:\r\n serveyDetails.surveyTypeName +\r\n \"->\" +\r\n serveyDetails.surveyName +\r\n \"-> User found + Proceed\",\r\n userActionCode: 200,\r\n ipAddress: localStorage.getItem(\"clientIp\"),\r\n browserName: this.adminService.detectBrowserName(),\r\n browserVersion: this.adminService.detectBrowserVersion(),\r\n clientMetaData:\r\n this.adminService.detectClientDeviceMetadata(),\r\n formData: \"Selector: \" + this.formDataCaptureString,\r\n };\r\n this.insertIntakeFormLog(logModel);\r\n localStorage.setItem(\"intakeFormEmail\", form.value[\"email\"]);\r\n\r\n this.router.navigate([\"/intakeform/steps\"]);\r\n } \r\n \r\n else {\r\n alert(res.error.errorMessage);\r\n }\r\n debugger;\r\n });\r\n }\r\n }); \r\n\r\n \r\n } else {\r\n debugger;\r\n this.surveyServices\r\n .createSubmissionAndGetExistingPatientDetails(\r\n existingPatientSearch\r\n )\r\n .subscribe((response) => {\r\n debugger;\r\n if (response.data != null) {\r\n\r\n this.existingPatientInfo = response.data;\r\n \r\n let enrollDate = new Date(this.existingPatientInfo.enrollmentDate);\r\n let dateDiff = Math.abs(new Date().getTime() - enrollDate.getTime());\r\n let diffDays = Math.ceil(dateDiff / (1000 * 3600 * 24));\r\n debugger;\r\n if (existingPatientSearch.surveyDetailsId == 9 && diffDays > 30) {\r\n alert(\"Your Follow up date is expired. Please select option of 'Already registered patient'\");\r\n } \r\n else {\r\n this.surveySubmissionDetails = {\r\n submissionId: this.existingPatientInfo.submissionId,\r\n patientDetails: {\r\n patientId: this.existingPatientInfo.patientId,\r\n firstName: this.existingPatientInfo.firstName,\r\n middleName: this.existingPatientInfo.middleName,\r\n lastName: this.existingPatientInfo.lastName,\r\n phoneNo: this.existingPatientInfo.phoneNo,\r\n email: this.existingPatientInfo.email,\r\n address: this.existingPatientInfo.address,\r\n state: this.existingPatientInfo.state,\r\n city: this.existingPatientInfo.city,\r\n zipCode: this.existingPatientInfo.zipCode,\r\n zip: this.existingPatientInfo.zip,\r\n gendar: this.existingPatientInfo.gendar,\r\n gender: this.existingPatientInfo.gendar,\r\n dob: this.existingPatientInfo.dob,\r\n height: this.existingPatientInfo.height,\r\n weight: this.existingPatientInfo.weight,\r\n },\r\n surveyDetails: JSON.parse(\r\n sessionStorage.getItem(\"selectedSurvey\")\r\n ),\r\n };\r\n this.sharedService.setSurveySWubmissionDetails(\r\n this.surveySubmissionDetails\r\n );\r\n\r\n debugger;\r\n var logGuid = \"\"; //localStorage.getItem(\"logGuid\");\r\n if (logGuid == null || logGuid == \"\") logGuid = \"\";\r\n else localStorage.removeItem(\"logGuid\");\r\n\r\n this.formDataCaptureString = \"\";\r\n\r\n var tempFormJson =\r\n '{ \"dob\" : \"' +\r\n this.existingPatientForm.controls.dob.value +\r\n '\" ,' +\r\n '\"email\": \"' +\r\n this.existingPatientForm.controls.email.value +\r\n '\" ,' +\r\n '\"firstName\" : \"' +\r\n this.existingPatientForm.controls.firstName.value +\r\n '\" }';\r\n this.formDataCaptureString =\r\n this.formDataCaptureString + tempFormJson;\r\n\r\n var logModel: IntakeFormLogModel = {\r\n logConnId: logGuid, //it should be blank\r\n userPhone: \"\",\r\n userEmail: form.value[\"email\"],\r\n userAction:\r\n serveyDetails.surveyTypeName +\r\n \"->\" +\r\n serveyDetails.surveyName +\r\n \"-> User found + Proceed\",\r\n userActionCode: 200,\r\n ipAddress: localStorage.getItem(\"clientIp\"),\r\n browserName: this.adminService.detectBrowserName(),\r\n browserVersion: this.adminService.detectBrowserVersion(),\r\n clientMetaData:\r\n this.adminService.detectClientDeviceMetadata(),\r\n formData: \"Selector: \" + this.formDataCaptureString,\r\n };\r\n this.insertIntakeFormLog(logModel);\r\n\r\n this.router.navigate([\"/intakeform/payment\"]);\r\n\r\n }\r\n \r\n //if (this.existingPatientInfo.state != \"Colorado\") {\r\n\r\n // } \r\n // else {\r\n // alert(\"Service not available for this area.\");\r\n // }\r\n //Entry to log\r\n } else if (response.error != null) {\r\n //Entry to log\r\n debugger;\r\n var logGuid = localStorage.getItem(\"logGuid\");\r\n if (logGuid == null || logGuid == \"\") logGuid = \"\";\r\n else localStorage.removeItem(\"logGuid\");\r\n\r\n this.formDataCaptureString = \"\";\r\n\r\n var tempFormJson =\r\n '{ \"dob\" : \"' +\r\n this.existingPatientForm.controls.dob.value +\r\n '\" ,' +\r\n '\"email\": \"' +\r\n this.existingPatientForm.controls.email.value +\r\n '\" ,' +\r\n '\"firstName\" : \"' +\r\n this.existingPatientForm.controls.firstName.value +\r\n '\" }';\r\n this.formDataCaptureString =\r\n this.formDataCaptureString + tempFormJson;\r\n\r\n var logModel: IntakeFormLogModel = {\r\n logConnId: logGuid, //it should be blank\r\n userPhone: \"\",\r\n userEmail: form.value[\"email\"],\r\n userAction:\r\n serveyDetails.surveyTypeName +\r\n \"->\" +\r\n serveyDetails.surveyName +\r\n \"-> User Not found\",\r\n userActionCode: 400,\r\n ipAddress: localStorage.getItem(\"clientIp\"),\r\n browserName: this.adminService.detectBrowserName(),\r\n browserVersion: this.adminService.detectBrowserVersion(),\r\n clientMetaData:\r\n this.adminService.detectClientDeviceMetadata(),\r\n formData: \"Selector: \" + this.formDataCaptureString,\r\n };\r\n this.insertIntakeFormLog(logModel);\r\n\r\n alert(response.error.errorMessage);\r\n } else {\r\n //Entry to log\r\n debugger;\r\n var logGuid = localStorage.getItem(\"logGuid\");\r\n if (logGuid == null || logGuid == \"\") logGuid = \"\";\r\n else localStorage.removeItem(\"logGuid\");\r\n\r\n this.formDataCaptureString = \"\";\r\n\r\n var tempFormJson =\r\n '{ \"dob\" : \"' +\r\n this.existingPatientForm.controls.dob.value +\r\n '\" ,' +\r\n '\"email\": \"' +\r\n this.existingPatientForm.controls.email.value +\r\n '\" ,' +\r\n '\"firstName\" : \"' +\r\n this.existingPatientForm.controls.firstName.value +\r\n '\" }';\r\n this.formDataCaptureString =\r\n this.formDataCaptureString + tempFormJson;\r\n\r\n var logModel: IntakeFormLogModel = {\r\n logConnId: logGuid, //it should be blank\r\n userPhone: \"\",\r\n userEmail: form.value[\"email\"],\r\n userAction:\r\n serveyDetails.surveyTypeName +\r\n \"->\" +\r\n serveyDetails.surveyName +\r\n \"-> User Not found\",\r\n userActionCode: 400,\r\n ipAddress: localStorage.getItem(\"clientIp\"),\r\n browserName: this.adminService.detectBrowserName(),\r\n browserVersion: this.adminService.detectBrowserVersion(),\r\n clientMetaData:\r\n this.adminService.detectClientDeviceMetadata(),\r\n formData: \"Selector: \" + this.formDataCaptureString,\r\n };\r\n this.insertIntakeFormLog(logModel);\r\n\r\n alert(\"Patient not found.\");\r\n }\r\n });\r\n }\r\n }\r\n });\r\n }\r\n\r\n openAlertDialog(alertMessage: string) {\r\n const dialogRef = this.dialog.open(AlertDialogComponent, {\r\n data: {\r\n message: alertMessage,\r\n buttonText: {\r\n cancel: \"Proceed\",\r\n },\r\n },\r\n });\r\n }\r\n\r\n public checkError = (controlName: string, errorName: string) => {\r\n return this.existingPatientForm.controls[controlName].hasError(errorName);\r\n };\r\n\r\n insertIntakeFormLog(logModel: IntakeFormLogModel) {\r\n debugger;\r\n this.adminService.InsertIntakeFormLog(logModel).subscribe(\r\n (data) => {\r\n //debugger;\r\n if (data.error == null) {\r\n localStorage.setItem(\"logGuid\", JSON.stringify(data.data));\r\n } else {\r\n //error in log\r\n }\r\n }\r\n //error => {\r\n\r\n //}\r\n );\r\n }\r\n\r\n getClientIp() {\r\n this.adminService.getIPAddress().subscribe((res: any) => {\r\n this.ipAddress = res.ip;\r\n localStorage.setItem(\"clientIp\", this.ipAddress);\r\n });\r\n }\r\n\r\n LoadFAQ() {\r\n // this.http.get('https://kissht.com/',{responseType:'text'}).subscribe(res=>{\r\n // this.faqHtml = this.sanitizer.bypassSecurityTrustHtml(res);\r\n window.open(\"https://telehealth.drstellamd.com/assets/faq.html\", \"_blank\");\r\n //});\r\n }\r\n}\r\n","
\r\n \r\n
\r\n

Welcome to Telehealth Services

\r\n

with Dr Stella Immanuel MD

\r\n \r\n \r\n
\r\n Select Survey\r\n
\r\n \r\n Enter Details\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n

{{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
Please enter your details below :
\r\n
\r\n
\r\n
\r\n \r\n First Name\r\n *\r\n \r\n \r\n Name is required\r\n \r\n
\r\n\r\n
\r\n \r\n Date of Birth\r\n *\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n
\r\n \r\n Email\r\n *\r\n \r\n \r\n Email 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 In case of difficulty in filling up the form, please email us at..\r\n

\r\n patienthelpdesk@drstellamd.com\r\n
\r\n Telephone - 832-808-5574\r\n
\r\n

\r\n \r\n
\r\n
\r\n
\r\n FAQ\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Powered by :
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n","import { DatePipe, LocationStrategy } from '@angular/common';\r\nimport { Component, ElementRef, OnInit, ViewChild } from '@angular/core';\r\nimport { FormControl } from '@angular/forms';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { Router } from '@angular/router';\r\nimport { AlertDialogComponent } from 'src/app/admin/dialog/alert-dialog/alert-dialog.component';\r\nimport { ConfirmDialogComponent } from 'src/app/admin/dialog/confirm-dialog/confirm-dialog.component';\r\nimport { SharedComponentService } from 'src/app/api-services/shared-component-services/shared-component.service';\r\nimport { SurveyServicesService } from 'src/app/api-services/survey-services/survey-services.service';\r\nimport { AcuteCareModel } from 'src/app/Models/Acute-Care';\r\nimport { SurveyDetails, SurveyStep, SurveySubmissionDetails, IntakeFormLogModel, ChildDisplay } from 'src/app/Models/survey-details';\r\nimport { AdminServicesService } from '../../api-services/admin-services/admin-services.service';\r\n\r\n@Component({\r\n selector: 'app-steps',\r\n templateUrl: './steps.component.html',\r\n styleUrls: ['./steps.component.scss']\r\n})\r\nexport class StepsComponent implements OnInit {\r\n\r\n @ViewChild('scrollPanel') public panel:ElementRef;\r\n\r\n surveySteps: SurveyStep[];\r\n currentStep: SurveyStep = {\r\n questions: [],\r\n stepCode: 0,\r\n stepID: 0,\r\n subTitle: \"\",\r\n tabOrder: 0,\r\n title: \"\"\r\n };\r\n\r\n acuteCareModel: AcuteCareModel;\r\n \r\n stepCounter: number = 0;\r\n maxStepIndex: number;\r\n @ViewChild('form') form: any;\r\n @ViewChild('myElement') desc: any;\r\n formCompleted: boolean = false;\r\n surveySubmissionDetails: SurveySubmissionDetails;\r\n selectedSurveyId: number;\r\n countForEmail: number = 1;\r\n emailValue: string;\r\n phoneValue: string;\r\n\r\n isDisplayPreviousButton: boolean = false;\r\n isDisplayNextButton: boolean = true;\r\n answers: { [id: number]: string; } = {};\r\n descAnswer: {[desc: string]: string} = {}\r\n\r\n isNextButtonDisabled: boolean = false;\r\n selectedStateValue: string = \"\";\r\n formDataCaptureString: string = \"\";\r\n\r\n childDisplayArry: ChildDisplay[];\r\n\r\n constructor(\r\n private surveyServices: SurveyServicesService, \r\n public adminService: AdminServicesService,\r\n private sharedService: SharedComponentService, \r\n private router: Router, \r\n private dialog: MatDialog,\r\n private el: ElementRef, \r\n private location: LocationStrategy) {\r\n history.pushState(null, null, window.location.href);\r\n this.location.onPopState(() => { \r\n history.pushState(null, null, window.location.href);\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n debugger;\r\n let selectedSurvey: SurveyDetails = JSON.parse(sessionStorage.getItem(\"selectedSurvey\"));\r\n this.selectedSurveyId = (selectedSurvey === undefined) ? 0 : selectedSurvey.surveyId;\r\n this.surveyServices.getQuestionBySurveyDetailsId(this.selectedSurveyId).subscribe(response => {\r\n if (response && response.data) {\r\n this.surveySteps = response.data;\r\n this.maxStepIndex = (this.surveySteps.length - 1);\r\n this.currentStep = this.surveySteps[this.stepCounter];\r\n let fetchedAns: { [id: number]: string; } = JSON.parse(sessionStorage.getItem(\"patientAns\"));\r\n \r\n if(fetchedAns) {\r\n this.answers = fetchedAns;\r\n this.stepCounter = this.surveySteps.length - 1;\r\n this.currentStep = this.surveySteps[this.stepCounter];\r\n this.formCompleted = true;\r\n this.isDisplayPreviousButton = true;\r\n }\r\n }\r\n else {\r\n //implement any error prompt\r\n }\r\n });\r\n }\r\n\r\n previousClick() {\r\n this.stepCounter = this.stepCounter - 1;\r\n this.currentStep = this.surveySteps[this.stepCounter];\r\n this.checkPreviousShow(this.stepCounter);\r\n this.checkNextButtonShow(this.stepCounter);\r\n }\r\n\r\n nextClick() {\r\n let serveyDetails = JSON.parse(sessionStorage.getItem(\"selectedSurvey\"));\r\n \r\n this.formDataCaptureString = \"\";\r\n\r\n this.formDataCaptureString = this.formDataCaptureString + JSON.stringify(this.answers);\r\nconsole.log('this.formDataCaptureString1'+this.formDataCaptureString);\r\n Object.keys(this.form.controls).forEach(key => {\r\n if (this.countForEmail == 12) {\r\n //console.log(this.form.controls[key]);\r\n this.emailValue = this.form.controls[key].value;\r\n }\r\n if (this.countForEmail == 10) {\r\n this.phoneValue = this.form.controls[key].value;\r\n }\r\n this.form.controls[key].markAsTouched();\r\n\r\n this.countForEmail++;\r\n });\r\n if (this.form.valid) {\r\n debugger;\r\n if (Number(serveyDetails.surveyId) != 2 && Number(serveyDetails.surveyId) != 7 && Number(serveyDetails.surveyId) != 10 && Number(serveyDetails.surveyId) != 13) {\r\n if (this.stepCounter == 0) {\r\n this.adminService.checkNonRefundedAccountByPatientEmail(this.emailValue).subscribe(res=> {\r\n if(res && res.data) {\r\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\r\n data: {\r\n message: \"Your email address has been blocked due to refund policy.\",\r\n buttonText: {\r\n ok: 'OK',\r\n cancel: ''\r\n }\r\n }\r\n });\r\n\r\n dialogRef.afterClosed().subscribe((confirmed: boolean) => {\r\n this.router.navigate(['/intakeform/selector']);\r\n });\r\n }\r\n else {\r\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\r\n data: {\r\n message: \"Please confirm you have entered correct mobile number (Not a landline number).\",\r\n buttonText: {\r\n ok: 'I confirm my mobile number',\r\n cancel: 'Cancel'\r\n }\r\n }\r\n });\r\n \r\n dialogRef.afterClosed().subscribe((confirmed: boolean) => {\r\n if (confirmed) {\r\n const a = document.createElement('a');\r\n a.click();\r\n a.remove();\r\n console.log(this.stepCounter);\r\n \r\n this.proceedToNext();\r\n \r\n \r\n //Entry to log\r\n var logGuid = localStorage.getItem(\"logGuid\");\r\n if (logGuid == null || logGuid == '')\r\n logGuid = '';\r\n else\r\n localStorage.removeItem(\"logGuid\");\r\n \r\n var logModel: IntakeFormLogModel = {\r\n logConnId: logGuid,\r\n userPhone: this.phoneValue,\r\n userEmail: this.emailValue,\r\n userAction: serveyDetails.surveyTypeName + \"->\" + serveyDetails.surveyName + \"-> Clicked On Next with step counter -> \" + this.stepCounter,\r\n userActionCode: 200,\r\n ipAddress: localStorage.getItem(\"clientIp\"),\r\n browserName: this.adminService.detectBrowserName(),\r\n browserVersion: this.adminService.detectBrowserVersion(),\r\n clientMetaData: this.adminService.detectClientDeviceMetadata(),\r\n formData: \"Steps: \" + this.formDataCaptureString,\r\n }\r\n this.insertIntakeFormLog(logModel);\r\n \r\n \r\n }\r\n });\r\n }\r\n });\r\n \r\n }\r\n else {\r\n //console.log(this.stepCounter);\r\n this.proceedToNext();\r\n\r\n\r\n //Entry to log\r\n var logGuid = localStorage.getItem(\"logGuid\");\r\n if (logGuid == null || logGuid == '')\r\n logGuid = '';\r\n else\r\n localStorage.removeItem(\"logGuid\");\r\n\r\n var logModel: IntakeFormLogModel = {\r\n logConnId: logGuid,\r\n userPhone: this.phoneValue,\r\n userEmail: this.emailValue,\r\n userAction: serveyDetails.surveyTypeName + \"->\" + serveyDetails.surveyName + \"-> Clicked On Next with step counter -> \" + this.stepCounter,\r\n userActionCode: 200,\r\n ipAddress: localStorage.getItem(\"clientIp\"),\r\n browserName: this.adminService.detectBrowserName(),\r\n browserVersion: this.adminService.detectBrowserVersion(),\r\n clientMetaData: this.adminService.detectClientDeviceMetadata(),\r\n formData: \"Steps: \" + this.formDataCaptureString,\r\n }\r\n this.insertIntakeFormLog(logModel);\r\n }\r\n }\r\n else {\r\n\r\n\r\n //Entry to log\r\n var logGuid = localStorage.getItem(\"logGuid\");\r\n if (logGuid == null || logGuid == '')\r\n logGuid = '';\r\n else\r\n localStorage.removeItem(\"logGuid\");\r\n\r\n if (this.emailValue == null || this.emailValue == undefined ||\r\n this.emailValue.toUpperCase() == \"NO\" || this.emailValue.toUpperCase() == \"YES\") //This is for COVID Treatment with Symptoms Already registered patient - Here options will have yes / no values only \r\n this.emailValue = localStorage.getItem(\"intakeFormEmail\");\r\n\r\n var logModel: IntakeFormLogModel = {\r\n logConnId: logGuid,\r\n userPhone: '', //Phone no. could not be fetched\r\n userEmail: this.emailValue,\r\n userAction: serveyDetails.surveyTypeName + \"->\" + serveyDetails.surveyName + \"-> Clicked On Next with step counter -> \" + this.stepCounter,\r\n userActionCode: 200,\r\n ipAddress: localStorage.getItem(\"clientIp\"),\r\n browserName: this.adminService.detectBrowserName(),\r\n browserVersion: this.adminService.detectBrowserVersion(),\r\n clientMetaData: this.adminService.detectClientDeviceMetadata(),\r\n formData: \"Steps: \" + this.formDataCaptureString,\r\n }\r\n this.insertIntakeFormLog(logModel);\r\n\r\n console.log(this.stepCounter);\r\n this.proceedToNext();\r\n\r\n }\r\n\r\n }\r\n else {\r\n setTimeout(() => {\r\n window.scroll({ top: (window.innerHeight/2.6) });\r\n \r\n });\r\n alert(\"please fill up all the required field.\");\r\n }\r\n }\r\n\r\n proceedToNext() {\r\n this.stepCounter = this.stepCounter + 1;\r\n this.currentStep = this.surveySteps[this.stepCounter];\r\n\r\n this.checkPreviousShow(this.stepCounter);\r\n this.checkNextButtonShow(this.stepCounter);\r\n window.scroll(0,0);\r\n }\r\n\r\n checkPreviousShow(stepCounter) {\r\n if (stepCounter > 0) {\r\n this.isDisplayPreviousButton = true;\r\n }\r\n else {\r\n this.isDisplayPreviousButton = false;\r\n }\r\n }\r\n checkNextButtonShow(stepCounter) {\r\n if (stepCounter < this.maxStepIndex) {\r\n this.isDisplayNextButton = true;\r\n }\r\n else {\r\n this.isDisplayNextButton = false;\r\n }\r\n }\r\n\r\n previousReviewClick() {\r\n debugger;\r\n this.formCompleted = false;\r\n this.checkNextButtonShow(this.stepCounter);\r\n \r\n }\r\n\r\n submitClick() {\r\n Object.keys(this.form.controls).forEach(key => {\r\n this.form.controls[key].markAsTouched();\r\n });\r\n\r\n let serveyDetails = JSON.parse(sessionStorage.getItem(\"selectedSurvey\"));\r\n if (serveyDetails.surveyId == 2 || serveyDetails.surveyId == 7 || serveyDetails.surveyId == 10) {\r\n let existingSubmissionId = sessionStorage.getItem(\"existingSubmissionId\");\r\n console.log('existingSubmissionId:- '+existingSubmissionId);\r\n\r\n this.surveyServices.getExistingSurveyAsnwerBySubmissionId(Number(existingSubmissionId), serveyDetails.surveyId)\r\n .subscribe(res => {\r\n if (res.data != null) {\r\n res.data.forEach(q => {\r\n this.answers[q.questionId] = q.answer;\r\n });\r\n\r\n }\r\n });\r\n }\r\n this.surveySteps.forEach(step => {\r\n if (step.questions) {\r\n step.questions.forEach(question => {\r\n if (question.type == 'Date')\r\n this.answers[question.questionID] = new DatePipe(\"en-us\").transform(this.answers[question.questionID], 'MM/dd/yyyy');\r\n });\r\n }\r\n });\r\n\r\n if (this.form.valid) {\r\n this.formCompleted = true;\r\n }\r\n }\r\n\r\n stepHasAnswers(step) {\r\n return step.questions.some(q => {\r\n if (this.answers[q.questionID])\r\n return true;\r\n });\r\n }\r\n\r\n confirmClick() {\r\n debugger;\r\n // const dialogRef = this.dialog.open(ConfirmDialogComponent, {\r\n // data: {\r\n // message: \"We are swamped and recruiting more doctors as fast as we can. We are seeing sick patients first and backed up several days on prevention\",\r\n // buttonText: {\r\n // ok: 'Proceed',\r\n // cancel: 'Cancel'\r\n // }\r\n // }\r\n // });\r\n\r\n // dialogRef.afterClosed().subscribe((confirmed: boolean) => {\r\n // if (confirmed) {\r\n // const a = document.createElement('a');\r\n // a.click();\r\n // a.remove();\r\n // console.log(this.stepCounter);\r\n // // code removed from here\r\n // }\r\n // });\r\n\r\n\r\n this.formDataCaptureString = \"\";\r\n \r\n this.formDataCaptureString = this.formDataCaptureString + JSON.stringify(this.answers);\r\n console.log('this.formDataCaptureString:-'+this.formDataCaptureString);\r\n\r\n let serveyDetails = JSON.parse(sessionStorage.getItem(\"selectedSurvey\"));\r\n let patId: number = 0;\r\n if (serveyDetails != null && (serveyDetails.surveyId == 2 || serveyDetails.surveyId == 7 || serveyDetails.surveyId == 10)) {\r\n let existingPatientId = sessionStorage.getItem(\"existingPatientId\");\r\n patId = Number(existingPatientId);\r\n }\r\n if(serveyDetails.surveyTypeCode == 5) {\r\n this.acuteCareModel = this.bindAcuteCareModel();\r\n sessionStorage.setItem(\"_acuteCare\", JSON.stringify(this.acuteCareModel));\r\n sessionStorage.setItem(\"_acuteAnswer\", JSON.stringify(this.answers));\r\n sessionStorage.setItem(\"_acuteAnswerDesc\", JSON.stringify(this.descAnswer));\r\n this.sharedService.setSurveySWubmissionDetails(this.acuteCareModel.surveySubmissionDetails);\r\n this.router.navigate(['/intakeform/payment']);\r\n }\r\n else {\r\n debugger;\r\n this.surveyServices.createSurveySubmission(this.answers).subscribe(res => {\r\n if (res.data > 0) {\r\n sessionStorage.setItem(\"patientAns\", JSON.stringify(this.answers));\r\n if(serveyDetails.surveyId == 13) {\r\n this.surveySubmissionDetails = {\r\n submissionId: res.data,\r\n patientDetails: {\r\n patientId: patId,\r\n firstName: this.answers[1],\r\n middleName: this.answers[2],\r\n lastName: this.answers[3],\r\n phoneNo: this.answers[10],\r\n email: this.answers[12],\r\n address: this.answers[5],\r\n state: this.answers[7],\r\n city: this.answers[6],\r\n zip: this.answers[8],\r\n zipCode: this.answers[8],\r\n gendar: this.answers[4],\r\n gender: this.answers[4],\r\n dob: this.answers[9],\r\n height: this.answers[11205],\r\n weight: this.answers[11206].toString(),\r\n },\r\n surveyDetails: JSON.parse(sessionStorage.getItem(\"selectedSurvey\"))\r\n };\r\n }\r\n else {\r\n this.surveySubmissionDetails = {\r\n submissionId: res.data,\r\n patientDetails: {\r\n patientId: patId,\r\n firstName: this.answers[1] || this.answers[11184],\r\n middleName: this.answers[2] || null,\r\n lastName: this.answers[3] || this.answers[11186],\r\n phoneNo: this.answers[10] || this.answers[11188],\r\n email: this.answers[12] || this.answers[11183],\r\n address: this.answers[5] || this.answers[11190],\r\n state: this.answers[7] || this.answers[11189],\r\n city: this.answers[6] || this.answers[11181],\r\n zip: this.answers[8] || this.answers[11191],\r\n zipCode: this.answers[8] || this.answers[11191],\r\n gendar: this.answers[4] || this.answers[11185],\r\n gender: this.answers[4] || this.answers[11185],\r\n dob: this.answers[9] || this.answers[11182],\r\n height: this.answers[15] || null,\r\n weight: this.answers[16] ? this.answers[16].toString() : null\r\n },\r\n surveyDetails: JSON.parse(sessionStorage.getItem(\"selectedSurvey\"))\r\n };\r\n }\r\n \r\n console.log(this.surveySubmissionDetails);\r\n this.sharedService.setSurveySWubmissionDetails(this.surveySubmissionDetails);\r\n sessionStorage.setItem(\"_criticalDataForPaymentPage\", JSON.stringify(this.surveySubmissionDetails));\r\n //Entry to log\r\n var logGuid = localStorage.getItem(\"logGuid\");\r\n if (logGuid == null || logGuid == '')\r\n logGuid = '';\r\n else\r\n localStorage.removeItem(\"logGuid\");\r\n \r\n var logModel: IntakeFormLogModel = {\r\n logConnId: logGuid,\r\n userPhone: this.surveySubmissionDetails.patientDetails.phoneNo,\r\n userEmail: this.surveySubmissionDetails.patientDetails.email, //serveyDetails.email, \r\n userAction: serveyDetails.surveyTypeName + \"->\" + serveyDetails.surveyName + \"-> Clicked to the payment page.\",\r\n userActionCode: 200,\r\n ipAddress: localStorage.getItem(\"clientIp\"),\r\n browserName: this.adminService.detectBrowserName(),\r\n browserVersion: this.adminService.detectBrowserVersion(),\r\n clientMetaData: this.adminService.detectClientDeviceMetadata(),\r\n formData: \"Steps: \" + this.formDataCaptureString,\r\n }\r\n this.insertIntakeFormLog(logModel);\r\n \r\n \r\n \r\n this.router.navigate(['/intakeform/payment']);\r\n }\r\n });\r\n }\r\n\r\n \r\n\r\n }\r\n\r\n openAlertDialog(alertMessage: string) {\r\n const dialogRef = this.dialog.open(AlertDialogComponent, {\r\n data: {\r\n message: alertMessage,\r\n buttonText: {\r\n cancel: 'OK'\r\n }\r\n },\r\n });\r\n }\r\n\r\n\r\n\r\n insertIntakeFormLog(logModel: IntakeFormLogModel) {\r\n this.adminService.InsertIntakeFormLog(logModel).subscribe(data => {\r\n if (data.error == null) {\r\n localStorage.setItem('logGuid', JSON.stringify(data.data));\r\n\r\n }\r\n else {\r\n //error in log\r\n }\r\n },\r\n //error => {\r\n\r\n //}\r\n );\r\n }\r\n\r\n checkDropdownSelectChange(question, event) {\r\n let isArray = event.value instanceof Array;\r\n if(isArray) {\r\n question.options.forEach(f => {\r\n if(event.value.indexOf(f.optionValue) != -1) {\r\n if(f.isChildShow) {\r\n question.initialView = true;\r\n }\r\n else {\r\n question.initialView = false;\r\n }\r\n if(f.isStopper) {\r\n this.showStopper(event);\r\n }\r\n }\r\n });\r\n }\r\n else {\r\n let selectOptionDetails = question.options.filter(f=>f.optionValue == event.value);\r\n console.log(event);\r\n if(selectOptionDetails[0].isChildShow) {\r\n question.initialView = true;\r\n }\r\n else {\r\n question.initialView = false;\r\n }\r\n\r\n if(selectOptionDetails[0].isStopper) {\r\n this.showStopper(event);\r\n }\r\n }\r\n // this.selectedStateValue = value;\r\n // if (questionId == 7) {\r\n // if (value == \"Colorado\") {\r\n // this.isNextButtonDisabled = true;\r\n // this.openAlertDialog(\"Service not available for this area\");\r\n // }\r\n // else {\r\n // if (this.selectedStateValue == \"Colorado\") {\r\n // this.isNextButtonDisabled = true;\r\n // }\r\n // else {\r\n // this.isNextButtonDisabled = false;\r\n // }\r\n\r\n // }\r\n\r\n // }\r\n // else {\r\n\r\n // }\r\n }\r\n radioChange(question, event) {\r\n let selectOptionDetails = question.options.filter(f=>f.optionValue == event.value);\r\n if(selectOptionDetails[0].isChildShow) {\r\n question.initialView = true;\r\n }\r\n else {\r\n question.initialView = false;\r\n }\r\n\r\n if(selectOptionDetails[0].isStopper) {\r\n this.showStopper(event);\r\n }\r\n }\r\n\r\n showStopper(event) {\r\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\r\n data: {\r\n message: \"For your safety, we advise you to seek your primary care doctor.\",\r\n buttonText: {\r\n ok: 'OK',\r\n cancel: ''\r\n }\r\n }\r\n });\r\n\r\n dialogRef.afterClosed().subscribe((confirmed: boolean) => {\r\n if (confirmed) {\r\n const a = document.createElement('a');\r\n a.click();\r\n a.remove();\r\n this.router.navigate(['/acute-care']);\r\n }\r\n else {\r\n event.value = \"\";\r\n }\r\n });\r\n }\r\n\r\n bindAcuteCareModel(): AcuteCareModel {\r\n let acuteCare: AcuteCareModel;\r\n acuteCare = {\r\n pharmacyDetails: {\r\n pharmacyFax: \"FAX\",\r\n pharmacyName: \"TestPharmacy\",\r\n pharmacyPhone: \"Test Phone\"\r\n },\r\n surveySubmissionDetails: {\r\n submissionId: 0,\r\n patientDetails: {\r\n patientId: 0,\r\n firstName: this.answers[1],\r\n middleName: this.answers[2],\r\n lastName: this.answers[3],\r\n phoneNo: this.answers[10],\r\n email: this.answers[12],\r\n address: this.answers[5],\r\n state: this.answers[7],\r\n city: this.answers[6],\r\n zip: this.answers[8],\r\n zipCode: this.answers[8],\r\n gendar: this.answers[4],\r\n gender: this.answers[4],\r\n dob: this.answers[9],\r\n height: '',\r\n weight: '',\r\n },\r\n surveyDetails: JSON.parse(sessionStorage.getItem(\"selectedSurvey\"))\r\n },\r\n surveyPaymentDetails: null,\r\n questionierDetails: null\r\n }\r\n return acuteCare;\r\n }\r\n\r\n LoadConsent() {\r\n // this.http.get('https://kissht.com/',{responseType:'text'}).subscribe(res=>{\r\n // this.faqHtml = this.sanitizer.bypassSecurityTrustHtml(res);\r\n window.open(\"https://telehealth.drstellamd.com/assets/Informed_Consent.html\", \"_blank\");\r\n //});\r\n }\r\n\r\n}\r\n","
\r\n \r\n

Welcome to Telehealth Services

\r\n

with Dr Stella Immanuel MD

\r\n \r\n \r\n Step {{ (stepCounter + 1) + \" \" + currentStep.title }}\r\n {{ currentStep.subTitle }}\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n  \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n {{ question.question }}\r\n \r\n {{ question.hint }}\r\n \r\n This field is required\r\n \r\n invalid\r\n \r\n \r\n \r\n
{{ question.question }} \r\n
\r\n
\r\n \r\n \r\n {{ question.question }}\r\n \r\n {{ question.hint }}\r\n \r\n This field is required\r\n \r\n invalid\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n {{ question.hint }}\r\n This field is required\r\n {{ controlid?.value }}\r\n
\r\n \r\n \r\n {{ question.question }}\r\n \r\n {{ question.hint }}\r\n This field is required\r\n invalid email\r\n \r\n \r\n \r\n {{ question.question }}\r\n \r\n \r\n {{option.optionValue}}\r\n \r\n \r\n \r\n This field is required\r\n \r\n \r\n\r\n \r\n {{ question.question }}\r\n \r\n \r\n {{option.optionValue}}\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
{{ question.question }}*\r\n \r\n This field is required\r\n \r\n \r\n
\r\n \r\n \r\n {{option.optionValue}}\r\n \r\n {{ question.hint }}\r\n
\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 {{option.optionValue}}\r\n \r\n \r\n \r\n {{ question.hint }}\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n {{ question.question }}\r\n \r\n \r\n
\r\n
\r\n \r\n Description\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
{{ step.title }}
\r\n
\r\n \r\n : {{ answers[question.questionID] }}\r\n \r\n \r\n : {{ answers[question.questionID] | date : 'MM/dd/yyyy' }}\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n  \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n In case of difficulty in filling up the form, please email us at..\r\n

\r\n patienthelpdesk@drstellamd.com\r\n
\r\n Telephone - 832-808-5574\r\n

\r\n \r\n
\r\n
\r\n
\r\n
Powered by :
\r\n
\r\n
\r\n
\r\n \r\n
\r\n","import { DatePipe } from '@angular/common';\nimport { Component, OnInit, TemplateRef, ViewChild } from '@angular/core';\nimport { AbstractControl, FormBuilder, FormControl, FormGroup, ValidationErrors, ValidatorFn, Validators } from '@angular/forms';\nimport { MatDialog, MatDialogRef } from '@angular/material/dialog';\nimport { MatSnackBar, MatSnackBarRef } from '@angular/material/snack-bar';\nimport { ActivatedRoute, NavigationEnd, Router } from '@angular/router';\nimport { ServiceSubscription, SubcribeDetailModel, SurveyMedicine, SurveySubmissionDetails } from 'src/app/Models/survey-details';\nimport { SurveyServicesService } from 'src/app/api-services/survey-services/survey-services.service';\nimport { SurveyDetails, SurveyStep, IntakeFormLogModel, ChildDisplay } from 'src/app/Models/survey-details';\nimport { SharedComponentService } from 'src/app/api-services/shared-component-services/shared-component.service';\nimport { PremiumSubscriptionOtpResponseModel } from 'src/app/Models/premium-subscription-otp-response-model.model';\nimport { numericValidator } from 'src/app/app.component';\n\n@Component({\n selector: 'app-subscribefreeservices',\n templateUrl: './subscribefreeservices.component.html',\n styleUrls: ['./subscribefreeservices.component.sass']\n})\n\nexport class SubscribefreeservicesComponent implements OnInit {\n \n formGroupProductCheckOutAddress: FormGroup = new FormGroup({}); //This form group will capture all the data for address\n \n isBillingDetailsReadonly: boolean = false;\n \n productList: ServiceSubscription[] = [];\n subscriptionModel: SubcribeDetailModel= {} as SubcribeDetailModel;\n shipmentCharge: number = 0;\n isPromocodeButtonDisabled: boolean = true;\n discountedPercent: number = 0.00;\n discountedPrice: number = 0.00;\n promoCodeInvalidLabel: string = \"\";\n \n isCartEmpty: boolean = false;\n totalPriceWithShippingAndDiscount: number = 0.00;\n discountAmountShow: string = \"\";\n isAutoshipProductPayment: boolean = false;\n isNormalProductPayment: boolean = false;\n\n supplementProductAmount: number = 0;\n\n isPaymentConditionSelected: boolean = false;\n isSubscriptionRelatedProductPresent: boolean = false;\n\n //This click event subcription will receive event message / trigger when \"check out\" clicked at the header component\n clickEventsubscription_UpdateProductCheckOutAmountValue: ServiceSubscription;\n surveySubmissionDetails: SurveySubmissionDetails;\n SubcribeDetailModel: {\n Action: number; ServiceTypeId: any; FirstName: any; LastName: any; Email: any; PhoneNo: any; ShippingAddress1: any; ShippingAddress2: any; ShippingCity: any; ShippingState: any; ShippingZipCode: any; DeliveryAddress1: any; DeliveryAddress2: string; // Assuming it's always empty\n DeliveryCity: any; DeliveryState: any; DeliveryZipCode: any; DeliveryAgencyId: number; // Default value or fetch from a source\n DeliveryAgencyName: string; // Default value or fetch from a source\n SubscriptionCheck: boolean; // Default value or fetch from a source\n UerPaymentCount: number; // Default value or fetch from a source\n FindAboutUs: string;\n };\n surveyMedicines: SurveyMedicine[] = [];\n isOTPVisible: boolean = false;\n isOTPValid: boolean = false;\n isOtpMessage: boolean = false;\n isMakeEmailReadonly: boolean = false;\n otpReceived: string = \"\";\n emailMessage: string = \"\";\n isOtpMismatch: boolean = false;\n otpMismatchMessage: string = \"\";\n isOtherSelected: boolean = false;\n @ViewChild('otpDialog') otpDialog!: TemplateRef; // Reference to OTP dialog template\n @ViewChild('TnCDialog') TnCDialog!: TemplateRef;\n currentSnackBarRef: any;\n private dialogRef: MatDialogRef | null = null;\n submitted:boolean = false;\n otpReceivedTime: Date=null;\n discount: number = 0;\n promoError: string = '';\n states: string[] = [\n 'Alabama', 'Alaska', 'Arizona', 'Arkansas', 'California', 'Colorado', 'Connecticut', \n 'Delaware', 'District of Columbia','Florida', 'Georgia', 'Hawaii', 'Idaho', 'Illinois', 'Indiana', 'Iowa', \n 'Kansas', 'Kentucky', 'Louisiana', 'Maine', 'Maryland', 'Massachusetts', 'Michigan', \n 'Minnesota', 'Mississippi', 'Missouri', 'Montana', 'Nebraska', 'Nevada', 'New Hampshire', \n 'New Jersey', 'New Mexico', 'New York', 'North Carolina', 'North Dakota', 'Ohio', 'Oklahoma', \n 'Oregon', 'Pennsylvania', 'Rhode Island', 'South Carolina', 'South Dakota', 'Tennessee', \n 'Texas', 'Utah', 'Vermont', 'Virginia', 'Washington', 'Washington DC', 'West Virginia', 'Wisconsin', 'Wyoming'\n];\n constructor(\n private fBuilder: FormBuilder\n , private router: Router\n , public datepipe: DatePipe\n , private dialog: MatDialog\n , private _snackBar: MatSnackBar\n ,private route: ActivatedRoute\n ,private surveyServices: SurveyServicesService\n ,private sharedService: SharedComponentService\n ) {\n //This will restrict only Cart Check-Out Navigation to Payment CheckOut Page\n this.SetupInitialParameters(); \n }\n\n GetOtp() {\n // Check if the form is valid except the OTP field\n const requiredFields = [\n 'ShippingDetailsEmail',\n 'ShippingDetailsFirstName',\n 'ShippingDetailsLastName',\n 'ShippingDetailsPhoneNo',\n 'ShippingDetailsShippingAddress1',\n 'ShippingDetailsShippingCity',\n 'ShippingDetailsShippingState',\n 'ShippingDetailsZipcode',\n 'BillingDetailsBillingAddress',\n 'BillingDetailsCity',\n 'BillingDetailsState',\n 'BillingDetailsZipcode',\n 'FindAboutUs',\n 'declaration',\n 'acceptance',\n ];\n this.submitted = true;\n this.otpReceivedTime = new Date();\n // Check if any required field is missing or invalid\n const isFormValid = requiredFields.every(field => {\n const control = this.formGroupProductCheckOutAddress.get(field);\n return control && control.valid;\n });\n\n if (isFormValid) {\n const email: string = this.formGroupProductCheckOutAddress.value[\"ShippingDetailsEmail\"];\n const firstName: string = this.formGroupProductCheckOutAddress.value[\"ShippingDetailsFirstName\"];\n if (email) {\n this.surveyServices.getsubscriberService(email).subscribe(res => {\n if(res.data) {\n this.openSnackBar(res.data[0].email + \" Already Registered\" , \"Dismiss\"); \n }\n else{\n this.surveyServices.getPremiumLoginOTP(firstName,email).subscribe(s => {\n let result = s.data;\n if (s.Error == null && result!=0) {\n this.isOtpMessage = true;\n this.otpReceived = result;\n this.openOtpDialog(); // Open OTP dialog only if OTP is received\n this.openSnackBar(\"One Time Password sent to your email.\", \"Dismiss\");\n }\n else{\n this.openSnackBar(\"something is wrong..\", \"Dismiss\");\n }\n }); \n }\n }, \n ); \n \n } else {\n this.openSnackBar(\"Email is Required.\", \"Dismiss\");\n }\n }\n \n}\n\n // Method to open OTP dialog\n openOtpDialog() {\n // If the dialog is already open, close it first\n if (this.dialogRef) {\n this.dialogRef.close();\n this.dialogRef = null;\n }\n \n // Open the new OTP dialog and set the reference\n this.dialogRef = this.dialog.open(this.otpDialog, {\n disableClose: true, // Prevent closing the dialog by clicking outside\n width: '400px', // Optional: Set width for better control\n panelClass: 'custom-otp-dialog' // Optional: Custom styling class\n });\n }\n \n onOtpDialogClose() {\n // Check if the dialog is open before closing\n if (this.dialogRef) {\n this.dialogRef.close(); // Close the dialog\n this.dialogRef = null; // Clear the reference after closing\n }\n }\n \n // Method to submit OTP\n SubmitOtp() {\n const otpValue = this.formGroupProductCheckOutAddress.value[\"OTP\"];\n \n // Check if OTP is provided\n if (otpValue) {\n const currentTime = new Date(); // Get current time\n const otpValidDuration = 5 * 60 * 1000; // 5 minutes in milliseconds\n const timeElapsed = currentTime.getTime() - this.otpReceivedTime.getTime(); // Calculate time elapsed since OTP was received\n \n if (timeElapsed <= otpValidDuration) { // Check if OTP is still valid (within 5 minutes)\n if (this.otpReceived === otpValue) {\n this.MakeSubscription(); // Proceed to subscription if OTP matches\n this.onOtpDialogClose(); // Close dialog after submission\n } else {\n this.isOtpMismatch = true;\n this.openSnackBar(\"One Time Password is not correct.\", \"Dismiss\");\n }\n } else {\n this.openSnackBar(\"One Time Password has expired. Please request a new OTP.\", \"Dismiss\");\n }\n } else {\n this.openSnackBar(\"One Time Password is required.\", \"Dismiss\");\n }\n }\n \n //Terms and condition dialog\n // Method to open OTP dialog\n openTnCDialog() {\n // If the dialog is already open, close it first\n if (this.dialogRef) {\n this.dialogRef.close();\n this.dialogRef = null;\n }\n \n // Open the new OTP dialog and set the reference\n this.dialogRef = this.dialog.open(this.TnCDialog, {\n disableClose: true, // Prevent closing the dialog by clicking outside\n width: '400px', // Optional: Set width for better control\n panelClass: 'custom-otp-dialog' // Optional: Custom styling class\n });\n }\n\n ngOnInit(): void {\n this.router.events.subscribe((evt) => {\n if (!(evt instanceof NavigationEnd)) {\n return;\n }\n window.scrollTo(0, 0)\n }); \n }\n\n SetupInitialParameters() {\n let currentUrl: string = window.location.href;\n //This will setup form controls\n this.SetupFormControls();\n localStorage.setItem('PremiumPrice', '199.00'); \n }\n\n SetupFormControls() {\n this.formGroupProductCheckOutAddress\n = this.fBuilder.group({\n \n ShippingDetailsFirstName: new FormControl('', [\n Validators.required,\n Validators.maxLength(50),\n ]),\n ShippingDetailsLastName: new FormControl('', [\n Validators.required,\n Validators.maxLength(50),\n ]),\n ShippingDetailsEmail: new FormControl('', [\n Validators.required,\n Validators.email,\n Validators.maxLength(100),\n ]),\n ShippingDetailsPhoneNo: [\n '',\n [Validators.required, Validators.maxLength(10), Validators.pattern('^[0-9]*$')],\n ],\n ShippingDetailsShippingAddress1: new FormControl('', [\n Validators.required,\n Validators.maxLength(200),\n ]),\n ShippingDetailsShippingAddress2: new FormControl('', [\n Validators.maxLength(200),\n ]),\n ShippingDetailsShippingCity: new FormControl('', [\n Validators.required,\n Validators.maxLength(50),\n ]),\n ShippingDetailsShippingState: new FormControl('', [\n Validators.required,\n Validators.maxLength(50),\n ]),\n ShippingDetailsShippingCountry: new FormControl('', [\n Validators.required\n ]),\n ShippingDetailsZipcode: new FormControl('', [\n Validators.required,\n Validators.maxLength(5),\n numericValidator(),\n ]),\n \n BillingDetailIsSameAsShippingAddress: false,\n\n BillingDetailsBillingAddress: new FormControl('', [\n Validators.required,\n Validators.maxLength(401),\n ]),\n BillingDetailsCity: new FormControl('', [\n Validators.required,\n Validators.maxLength(50),\n ]),\n BillingDetailsState: new FormControl('', [\n Validators.required,\n Validators.maxLength(50),\n ]),\n BillingDetailsZipcode: new FormControl('', [\n Validators.required,\n Validators.maxLength(10),\n ]),\n FindAboutUs: new FormControl('', [\n Validators.required\n ]),\n OTP: new FormControl(''),\n Promocode: new FormControl(''),\n declaration: new FormControl(false, Validators.requiredTrue),\n OtherDetails: new FormControl(''),\n acceptance: new FormControl(false, Validators.requiredTrue),\n });\n }\n\n ReturnToSubscription() {\n //If there is any autoship item list then that will be cleared\n \n window.location.href = '/intakeform/Surveysubscription';\n }\n\n //This will be used when we toggle to duplicate address\n checkToggle() {\n var billingAddress = \"\";\n var billingCity = \"\";\n var billingState = \"\";\n var billingZipCode = \"\";\n\n if (this.formGroupProductCheckOutAddress.value[\"BillingDetailIsSameAsShippingAddress\"] == true) {\n\n //Set Value\n billingAddress = this.formGroupProductCheckOutAddress.value[\"ShippingDetailsShippingAddress1\"] + \",\"\n + this.formGroupProductCheckOutAddress.value[\"ShippingDetailsShippingAddress2\"];\n billingCity = this.formGroupProductCheckOutAddress.value[\"ShippingDetailsShippingCity\"];\n billingState = this.formGroupProductCheckOutAddress.value[\"ShippingDetailsShippingState\"];\n billingZipCode = this.formGroupProductCheckOutAddress.value[\"ShippingDetailsZipcode\"];\n\n //Disable Control\n this.isBillingDetailsReadonly = true;\n }\n else {\n //Enable Control\n this.isBillingDetailsReadonly = false;\n\n }\n this.formGroupProductCheckOutAddress.get('BillingDetailsBillingAddress')?.setValue(billingAddress);\n this.formGroupProductCheckOutAddress.get(\"BillingDetailsCity\")?.setValue(billingCity);\n this.formGroupProductCheckOutAddress.get(\"BillingDetailsState\")?.setValue(billingState);\n this.formGroupProductCheckOutAddress.get(\"BillingDetailsZipcode\")?.setValue(billingZipCode);\n }\n\n //Send Payload to BE and make payment\n MakeSubscription() {\n // Extract form values\n const firstName = this.formGroupProductCheckOutAddress.value[\"ShippingDetailsFirstName\"];\n const lastName = this.formGroupProductCheckOutAddress.value[\"ShippingDetailsLastName\"];\n const email = this.formGroupProductCheckOutAddress.value[\"ShippingDetailsEmail\"];\n const phoneNo = this.formGroupProductCheckOutAddress.value[\"ShippingDetailsPhoneNo\"];\n const shippingAddress1 = this.formGroupProductCheckOutAddress.value[\"ShippingDetailsShippingAddress1\"];\n const shippingAddress2 = this.formGroupProductCheckOutAddress.value[\"ShippingDetailsShippingAddress2\"];\n const shippingCity = this.formGroupProductCheckOutAddress.value[\"ShippingDetailsShippingCity\"];\n const shippingState = this.formGroupProductCheckOutAddress.value[\"ShippingDetailsShippingState\"];\n const shippingZipCode = this.formGroupProductCheckOutAddress.value[\"ShippingDetailsZipcode\"];\n const deliveryAddress1 = this.formGroupProductCheckOutAddress.value[\"BillingDetailsBillingAddress\"];\n const deliveryCity = this.formGroupProductCheckOutAddress.value[\"BillingDetailsCity\"];\n const deliveryState = this.formGroupProductCheckOutAddress.value[\"BillingDetailsState\"];\n const deliveryZipCode = this.formGroupProductCheckOutAddress.value[\"BillingDetailsZipcode\"];\n // Get the selected 'FindAboutUs' value\n let findAboutUs = this.formGroupProductCheckOutAddress.value[\"FindAboutUs\"];\n \n // If \"Other\" is selected, append the other details input\n if (findAboutUs === 'Other') {\n const otherDetails = this.formGroupProductCheckOutAddress.value[\"OtherDetails\"];\n findAboutUs = `Other: ${otherDetails}`; // Append the \"Other\" value\n }\n \n // Iterate over selected service subscription IDs\n this.SubcribeDetailModel = {\n Action: 1,\n ServiceTypeId: 0,\n FirstName: firstName,\n LastName: lastName,\n Email: email,\n PhoneNo: phoneNo,\n ShippingAddress1: shippingAddress1,\n ShippingAddress2: shippingAddress2,\n ShippingCity: shippingCity,\n ShippingState: shippingState,\n ShippingZipCode: shippingZipCode,\n DeliveryAddress1: deliveryAddress1,\n DeliveryAddress2: \"\", // Assuming it's always empty\n DeliveryCity: deliveryCity,\n DeliveryState: deliveryState,\n DeliveryZipCode: deliveryZipCode,\n \n DeliveryAgencyId: 0, // Default value or fetch from a source\n DeliveryAgencyName: '', // Default value or fetch from a source\n SubscriptionCheck: false, // Default value or fetch from a source\n UerPaymentCount: 0, // Default value or fetch from a source\n FindAboutUs:findAboutUs,\n };\n \n debugger;\n this.surveySubmissionDetails = {\n submissionId: 0,\n patientDetails: {\n patientId: 0,\n firstName: this.SubcribeDetailModel.FirstName,\n middleName: '',\n lastName: this.SubcribeDetailModel.LastName,\n phoneNo: this.SubcribeDetailModel.PhoneNo.toString(),\n email: this.SubcribeDetailModel.Email,\n address: this.SubcribeDetailModel.ShippingAddress1,\n state: this.SubcribeDetailModel.ShippingState,\n city: this.SubcribeDetailModel.ShippingCity,\n zip: this.SubcribeDetailModel.ShippingZipCode,\n zipCode: '',\n gendar: '',\n gender: '',\n dob: '',\n height: '',\n weight: '',\n ispremium:true,\n findAboutUs: this.SubcribeDetailModel.FindAboutUs,\n },\n surveyDetails: {\n surveyId: 0,\n surveyCode: 0,\n surveyName: 'Premium Services',\n surveyTypeName: '',\n procedureRate: 199,\n shippingCharge: 0,\n surveyTypeCode: '',\n hasRecordCheck: false,\n description: '',\n service_mode: '',\n created_at: new Date(),\n updated_at: new Date(),\n RefPatientStatus: 0,\n findAboutUs:'',\n }\n }\n debugger;\n \n // this.surveyServices.getsubscriberService(this.surveySubmissionDetails.patientDetails.email).subscribe(res => {\n // if(res.data && res.data) {\n // debugger;\n // this.openSnackBar(res.data[0].email + \" Already Registered till \" +res.data[0].enrollmentDate , \"Dismiss\"); \n // } \n // else{\n this.sharedService.setSurveySWubmissionDetails(this.surveySubmissionDetails);\n sessionStorage.setItem(\"_criticalDataForPaymentPage\", JSON.stringify(this.surveySubmissionDetails));\n sessionStorage.setItem(\"selectedSurvey\", JSON.stringify(this.surveySubmissionDetails.surveyDetails));\n this.router.navigate(['/intakeform/payments']);\n // }\n // }, \n // ); \n } \n\n ProceedToHomePage() {\n window.location.href = this.router['location']._platformLocation.location.origin;\n }\n\n ProceedToAutoShip() {\n window.location.href = '/autoship-order/';\n }\n\n DisabledPayNowActions() {\n this.openSnackBar(\"Please validate all the input data.\", \"Dismiss\");\n }\n\n openSnackBar(message: string, action: string) {\n // Dismiss the currently open snackbar, if any\n if (this.currentSnackBarRef) {\n this.currentSnackBarRef.dismiss();\n }\n \n // Open a new snackbar and keep a reference to it\n this.currentSnackBarRef = this._snackBar.open(message, action, {\n duration: 15000,\n });\n \n // Clear the reference after it is dismissed\n this.currentSnackBarRef.afterDismissed().subscribe(() => {\n this.currentSnackBarRef = null;\n });\n }\n \n closeSnackBar() {\n this._snackBar.dismiss();\n }\n\n public checkError = (controlName: string, errorName: string) => {\n return this.formGroupProductCheckOutAddress.controls[controlName].hasError(errorName);\n };\n\n DisallowSpace(event: any) {\n return event.keyCode != 32 ? event : event.preventDefault();\n }\n\n onFindAboutUsChange(value: string) {\n this.isOtherSelected = value === 'Other';\n if (!this.isOtherSelected) {\n // Clear the \"OtherDetails\" field when \"Other\" is not selected\n this.formGroupProductCheckOutAddress.get('OtherDetails')?.reset();\n }\n }\n \n allowOnlyDigits(event: KeyboardEvent) {\n const allowedKeys = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'Backspace', 'Tab'];\n \n if (!allowedKeys.includes(event.key)) {\n event.preventDefault(); // Prevent the default action if the key is not allowed\n }\n }\n\n applyPromocode() {\n const promocode = this.formGroupProductCheckOutAddress.value[\"Promocode\"];\n if (!promocode) {\n this.promoError = 'Please enter a promocode.';\n return;\n }\n var originalPrice = 199.00; \n this.surveyServices\n .getPromoByPromoName(promocode)\n .subscribe((res) => {\n if (res.data) {\n this.discount = 5;\n this.promoError = '';\n \n this.discountedPrice = originalPrice - (originalPrice * this.discount / 100); // Calculate final price after discount\n localStorage.setItem('PremiumPrice', this.discountedPrice.toFixed(2)); \n }\n else{\n debugger;\n this.discount = 0;\n this.promoError = 'Invalid or expired promocode.';\n localStorage.setItem('PremiumPrice', originalPrice.toFixed(2)); \n }\n \n });\n \n }\n}\n","\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Premium Subscription Form

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

Customer Details

\r\n
\r\n\r\n \r\n First Name*\r\n \r\n First Name is\r\n required.\r\n First Name cannot be more\r\n than 50 characters.\r\n \r\n\r\n \r\n Last Name*\r\n \r\n Last Name is\r\n required\r\n Last Name cannot be more\r\n than 50 characters\r\n \r\n\r\n \r\n Email *\r\n \r\n Email is\r\n required\r\n Email address\r\n not proper\r\n Email address cannot be more\r\n than 100 characters\r\n \r\n\r\n \r\n Phone *\r\n \r\n Phone is\r\n required\r\n Phone cannot be more\r\n than 10 characters\r\n \r\n \r\n\r\n \r\n Shipping Address 1 *\r\n \r\n Shipping Address 1\r\n is required.\r\n Shipping Address 1\r\n cannot be more than 200 characters.\r\n \r\n\r\n \r\n Shipping Address 2 \r\n \r\n Shipping Address 2\r\n cannot be more than 200 characters.\r\n \r\n\r\n\r\n \r\n Shipping City*\r\n \r\n Shipping City\r\n is required\r\n Shipping City\r\n cannot be more than 50 characters\r\n \r\n\r\n \r\n \r\n Shipping State*\r\n \r\n \r\n {{ state }}\r\n \r\n \r\n Shipping State\r\n is required\r\n \r\n \r\n Zip Code*\r\n \r\n Zip Code\r\n is required\r\n Zip Code\r\n cannot be more than 10 characters\r\n Only numeric \r\n allowed\r\n \r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n
\r\n\r\n
\r\n

Billing Details

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

\r\n \r\n Same As Shipping Address\r\n

\r\n
\r\n \r\n\r\n \r\n Billing Address *\r\n \r\n Billing Address\r\n is required\r\n Billing Address\r\n cannot be more than 400 characters\r\n \r\n\r\n \r\n Billing City*\r\n \r\n Billing City\r\n is required\r\n Billing City\r\n cannot be more than 50 characters\r\n \r\n\r\n \r\n \r\n Billing State*\r\n \r\n \r\n {{ state }}\r\n \r\n \r\n Billing State\r\n is required\r\n \r\n\r\n \r\n Billing Zip Code*\r\n \r\n Billing Zip Code\r\n is required\r\n Billing Zip Code\r\n cannot be more than 10 characters\r\n \r\n\r\n \r\n Promo Code\r\n \r\n \r\n Discount Applied: {{ discount }}%\r\n \r\n
{{ promoError }}
\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n \r\n Search Engine\r\n Recommended by friend or colleague\r\n Social Media\r\n TV/Podcast\r\n Event\r\n Other\r\n \r\n \r\n \r\n
\r\n \r\n Please specify\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 This field is required.\r\n \r\n
\r\n
\r\n Please Read and Acknowledge Our Terms and Policies Before Proceeding\r\n \r\n Please acknowledge Terms And 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

Verify Your Identity

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

\r\n We've sent a One-Time Password (OTP) to your email. Please enter the 6-digit code below to verify your identity.\r\n

\r\n \r\n \r\n \r\n
\r\n \r\n Enter OTP\r\n \r\n \r\n Invalid OTP. Please try again.\r\n \r\n \r\n OTP 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 Didn't receive the email? Check your spam folder or request a new OTP.\r\n

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

Terms & Conditions

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

DRStellaMD Subscription Services Terms and Policies

\r\n \r\n

1. Agreement to Terms

\r\n

\r\n By subscribing to our services by checking the box below and proceeding with payment, you (“Patient”) acknowledge that you have read, understood, and agree to be bound by these Terms and Policies.\r\n

\r\n \r\n

2. Subscription Services

\r\n

\r\n Patient will receive access to the following services as part of their monthly subscription fee of $199:\r\n https://drstellamd.com/our-subscriptions/\r\n

\r\n
    \r\n
  1. 1. 50% off acute care visits for covered services ($75 value)
  2. \r\n
  3. 2. 99% off covid/pandemic sick care visits ($285 value Cost of Medicine not included)
  4. \r\n
  5. 3. Free consult on refills (pharmacy fee not included)
  6. \r\n
  7. 4. Three free supplements of choice per month
  8. \r\n
  9. 5. Free unlimited consultation on Covid complete pack: ($150 value, medicine cost not included)
  10. \r\n
  11. 6. Free unlimited consultation on Antibiotic pack for emergency ($150 value, medicine cost not included)
  12. \r\n
  13. 7. Monthly Zoom Q and A with Dr Stella and other frontline doctors
  14. \r\n
  15. 8. Free triage calls to nurse practitioners from 9-4pm Monday to Friday
  16. \r\n
  17. 9. Free office visits at Rehoboth Medical Center in Houston with 20% discount on procedures and treatments.
  18. \r\n
  19. 10. 20% off marketplace products
  20. \r\n
\r\n \r\n

3. Monthly Fees and Payments

\r\n

\r\n - The subscription fee of $199 is due on a monthly basis.
\r\n - Payment is automatically charged to the payment method provided upon subscription. You authorize DRStellaMD to charge this account for the subscription fee.\r\n

\r\n \r\n

4. Cancellation and Refund Policy

\r\n

\r\n - Patient may cancel their subscription at any time. Cancellations will take effect at the end of the current billing cycle.
\r\n - All fees paid prior to cancellation are non-refundable.\r\n

\r\n \r\n

5. Patient Obligations

\r\n

\r\n - The patient is responsible for maintaining accurate contact and billing information at all times.
\r\n - When shopping online through DRStellaMD’s marketplace, the patient agrees to provide valid and accurate payment information for all purchases.
\r\n - The patient agrees to review all orders before confirming purchases, as returns or refunds for certain products may not be permitted.
\r\n - The patient acknowledges that any disputes regarding products or orders must be raised within 30 days of receiving the product.
\r\n - The patient is responsible for covering any additional shipping or handling fees that may apply to certain products.\r\n

\r\n \r\n

6. Limitations of Liability

\r\n

\r\n - DrStellaMD and its staff shall not be liable for any injuries, losses, or damages resulting from the use or inability to use the services provided. The Patient agrees to indemnify and hold harmless DRStellaMD from any claims or demands arising out of their use of services.\r\n

\r\n \r\n

7. Medical Emergencies

\r\n

\r\n - Patients should not rely on our services for medical emergencies. In the event of a medical emergency, you should contact emergency services or go to the nearest hospital.\r\n

\r\n \r\n

8. Modifications to Terms

\r\n

\r\n - DrStellaMD reserves the right to modify these Terms and Policies at any time. Patients will be notified of significant changes, and continued subscription will indicate acceptance of the revised terms.\r\n

\r\n \r\n

9. Governing Law

\r\n

\r\n - These Terms and Policies shall be governed by the laws of Texas. Any disputes arising out of or related to these terms shall be resolved in accordance with those laws.\r\n

\r\n \r\n

10. Contact Information

\r\n

\r\n For any questions regarding these Terms and Policies, please contact us at:
\r\n - DRStellaMD
\r\n - 832-808-5574
\r\n - patienthelpdesk@drstellamd.com\r\n

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

Acknowledgment
\r\n By checking the box above and proceeding with payment, you acknowledge that you have read and understood these Terms and Policies and agree to abide by 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","\nimport { Component, OnInit } from '@angular/core';\nimport { ServiceSubscription } from 'src/app/Models/survey-details';\nimport { MatDialog } from '@angular/material/dialog';\nimport { Router } from '@angular/router';\nimport { SurveyServicesService } from 'src/app/api-services/survey-services/survey-services.service';\nimport { MarketPlaceService } from 'src/app/api-services/market-place.service';\nimport { SharedComponentService } from 'src/app/api-services/shared-component-services/shared-component.service';\nimport { AdminServicesService } from 'src/app/api-services/admin-services/admin-services.service';\nimport { AlertDialogComponent } from 'src/app/admin/dialog/alert-dialog/alert-dialog.component';\nimport { MatSnackBar } from '@angular/material/snack-bar';\n\n@Component({\n selector: 'app-surveysubscription',\n templateUrl: './surveysubscription.component.html',\n styleUrls: ['./surveysubscription.component.sass'],\n})\nexport class SurveysubscriptionComponent implements OnInit {\n isSpinnerWait: Boolean = true;\n ServiceSubscriptionList: ServiceSubscription[] = [];\n selectedServiceSubscriptions: ServiceSubscription[] = [];\n nonselectedServiceSubscription: ServiceSubscription[] = [];\n selectedServiceSubscriptionIds: number[] = [];\n nonSelectedServiceSubscriptionIds: number[] = [];\n ServiceSubscriptionCharge: number = 0;\n\n ngOnInit(): void { }\n\n constructor(\n private surveyService: SurveyServicesService,\n private marketPlaceService: MarketPlaceService,\n private sharedService: SharedComponentService,\n private dialog: MatDialog,\n public adminService: AdminServicesService,\n private _snackBar: MatSnackBar,\n private router: Router,\n ) { \n this.GetServiceSubscription();\n }\n\n GetServiceSubscription() { \n try {\n this.surveyService.getServiceType().subscribe(s => {\n let result = s;\n debugger;\n this.ServiceSubscriptionList = result.data;\n this.ServiceSubscriptionSelect(null, null);\n });\n } catch (e) {\n console.error(e);\n }\n }\n\n setAmount(services: ServiceSubscription[]) {\n if (services && services.length > 0) {\n if (services.filter(f => f.isChecked).length <= 0) {\n services[0].isChecked = true;\n }\n this.ServiceSubscriptionCharge = 0;\n }\n }\n\n openAlertDialog(alertMessage: string) {\n const dialogRef = this.dialog.open(AlertDialogComponent, {\n data: {\n message: alertMessage,\n buttonText: {\n cancel: 'OK',\n },\n },\n });\n }\n\n ServiceSubscriptionSelect(serviceSubscription: ServiceSubscription | null | undefined, event: any) {\n debugger;\n if (event == null) {\n let nonSelectedIdsOnly = this.ServiceSubscriptionList.map(x => x.serviceTypeId).filter(x => !this.selectedServiceSubscriptions.map(x => x.serviceTypeId).includes(x));\n this.nonselectedServiceSubscription = this.ServiceSubscriptionList.filter(x => nonSelectedIdsOnly.includes(x.serviceTypeId));\n\n if (this.selectedServiceSubscriptions.length < 1) {\n this.selectedServiceSubscriptionIds = this.selectedServiceSubscriptions.map(x => x.serviceTypeId);\n this.nonSelectedServiceSubscriptionIds.length = 0;\n } else if (this.selectedServiceSubscriptions.length == 12) {\n this.selectedServiceSubscriptionIds = this.selectedServiceSubscriptions.map(x => x.serviceTypeId);\n this.nonSelectedServiceSubscriptionIds = nonSelectedIdsOnly;\n } else if (this.selectedServiceSubscriptions.length > 0) {\n this.selectedServiceSubscriptionIds = this.selectedServiceSubscriptions.map(x => x.serviceTypeId);\n this.nonSelectedServiceSubscriptionIds = nonSelectedIdsOnly;\n }\n } else if (event.checked == true && serviceSubscription != null) {\n if (this.selectedServiceSubscriptions.length < 12) {\n this.selectedServiceSubscriptions.push(serviceSubscription);\n\n if (this.selectedServiceSubscriptions.length == 1) {\n this.openSnackBar('Products added. Please checkout.', 'Dismiss');\n }\n }\n\n let nonSelectedIdsOnly = this.ServiceSubscriptionList.map(x => x.serviceTypeId).filter(x => !this.selectedServiceSubscriptions.map(x => x.serviceTypeId).includes(x));\n this.nonselectedServiceSubscription = this.ServiceSubscriptionList.filter(x => nonSelectedIdsOnly.includes(x.serviceTypeId));\n\n if (this.selectedServiceSubscriptions.length < 12) {\n this.selectedServiceSubscriptionIds = this.selectedServiceSubscriptions.map(x => x.serviceTypeId);\n this.nonSelectedServiceSubscriptionIds.length = 0;\n } else if (this.selectedServiceSubscriptions.length == 12) {\n this.selectedServiceSubscriptionIds = this.selectedServiceSubscriptions.map(x => x.serviceTypeId);\n this.nonSelectedServiceSubscriptionIds = nonSelectedIdsOnly;\n } else if (this.selectedServiceSubscriptions.length > 12) {\n this.selectedServiceSubscriptionIds = this.selectedServiceSubscriptions.map(x => x.serviceTypeId);\n this.nonSelectedServiceSubscriptionIds = nonSelectedIdsOnly;\n }\n } else if (event.checked == false && serviceSubscription != null) {\n if (this.selectedServiceSubscriptions.length >= 1) {\n if (this.selectedServiceSubscriptions.length == 12) {\n this.closeSnackBar();\n }\n let currentProductIndex = this.selectedServiceSubscriptions.map(x => x.serviceTypeId).indexOf(serviceSubscription.serviceTypeId);\n this.selectedServiceSubscriptions.splice(currentProductIndex, 1);\n }\n\n let nonSelectedIdsOnly = this.ServiceSubscriptionList.map(x => x.serviceTypeId).filter(x => !this.selectedServiceSubscriptions.map(x => x.serviceTypeId).includes(x));\n this.nonselectedServiceSubscription = this.ServiceSubscriptionList.filter(x => nonSelectedIdsOnly.includes(x.serviceTypeId));\n\n if (this.selectedServiceSubscriptions.length < 12) {\n this.selectedServiceSubscriptionIds = this.selectedServiceSubscriptions.map(x => x.serviceTypeId);\n this.nonSelectedServiceSubscriptionIds.length = 0;\n } else if (this.selectedServiceSubscriptions.length == 12) {\n this.selectedServiceSubscriptionIds = this.selectedServiceSubscriptions.map(x => x.serviceTypeId);\n this.nonSelectedServiceSubscriptionIds = nonSelectedIdsOnly;\n } else if (this.selectedServiceSubscriptions.length > 1) {\n this.selectedServiceSubscriptionIds = this.selectedServiceSubscriptions.map(x => x.serviceTypeId);\n this.nonSelectedServiceSubscriptionIds = nonSelectedIdsOnly;\n }\n }\n }\n\n openSnackBar(message: string, action: string) {\n this._snackBar.open(message, action, {\n duration: 5000,\n });\n }\n\n closeSnackBar() {\n this._snackBar.dismiss();\n }\n\n CheckOutServiceSubscription() {\n this.router.navigate(['/intakeform/SubscribeFreeServices']);\n }\n CheckOutSupplement() {\n \n const queryParams = { selectedIds: this.selectedServiceSubscriptionIds.join(',') };\n this.router.navigate(['/intakeform/SubscribeFreeServices'], { queryParams });\n }\n}\n","
\r\n \"\"\r\n
\r\n \r\n
\r\n \r\n Supplements Subscription - any Service at $0 per month\r\n \r\n
\r\n \r\n
\r\n \r\n **Please select any service out of listed and 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 \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n Service\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
{{servicesubscription.serviceType}}
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n ","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-auth-layout',\r\n templateUrl: './auth-layout.component.html',\r\n styleUrls: [],\r\n})\r\nexport class AuthLayoutComponent implements OnInit {\r\n constructor() {}\r\n\r\n ngOnInit(): void {}\r\n}\r\n","\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-main-layout',\r\n templateUrl: './main-layout.component.html',\r\n styleUrls: [],\r\n})\r\nexport class MainLayoutComponent implements OnInit {\r\n constructor() {}\r\n\r\n ngOnInit(): void {}\r\n}\r\n","\r\n\r\n\r\n\r\n","import { DOCUMENT } from \"@angular/common\";\r\nimport {\r\n Component,\r\n Inject,\r\n ElementRef,\r\n OnInit,\r\n Renderer2,\r\n AfterViewInit,\r\n} from \"@angular/core\";\r\nimport { Router } from \"@angular/router\";\r\nimport { ConfigService } from \"src/app/config/config.service\";\r\nimport { AuthService } from \"src/app/core/service/auth.service\";\r\nimport { RightSidebarService } from \"src/app/core/service/rightsidebar.service\";\r\nimport { LanguageService } from \"src/app/core/service/language.service\";\r\nimport { UnsubscribeOnDestroyAdapter } from \"src/app/shared/UnsubscribeOnDestroyAdapter\";\r\nimport { UserServicesService } from \"src/app/api-services/user-services/user-services.service\";\r\nimport { Role } from \"src/app/core/models/role\";\r\nconst document: any = window.document;\r\n\r\n@Component({\r\n selector: \"app-header\",\r\n templateUrl: \"./header.component.html\",\r\n styleUrls: [\"./header.component.sass\"],\r\n})\r\nexport class HeaderComponent\r\n extends UnsubscribeOnDestroyAdapter\r\n implements OnInit, AfterViewInit\r\n{\r\n public config: any = {};\r\n userImg: string;\r\n homePage: string;\r\n isNavbarCollapsed = true;\r\n flagvalue;\r\n countryName;\r\n langStoreValue: string;\r\n defaultFlag: string;\r\n isOpenSidebar: boolean;\r\n constructor(\r\n @Inject(DOCUMENT) private document: Document,\r\n private renderer: Renderer2,\r\n public elementRef: ElementRef,\r\n private rightSidebarService: RightSidebarService,\r\n private configService: ConfigService,\r\n private authService: AuthService,\r\n private router: Router,\r\n public languageService: LanguageService,\r\n private userService: UserServicesService\r\n ) {\r\n super();\r\n }\r\n listLang = [\r\n { text: \"English\", flag: \"assets/images/flags/us.jpg\", lang: \"en\" },\r\n { text: \"Spanish\", flag: \"assets/images/flags/spain.jpg\", lang: \"es\" },\r\n { text: \"German\", flag: \"assets/images/flags/germany.jpg\", lang: \"de\" },\r\n ];\r\n notifications: any[] = [\r\n {\r\n userImg: \"assets/images/user/user1.jpg\",\r\n userName: \"Sarah Smith\",\r\n time: \"14 mins ago\",\r\n message: \"Please check your mail\",\r\n },\r\n {\r\n userImg: \"assets/images/user/user2.jpg\",\r\n userName: \"Airi Satou\",\r\n time: \"22 mins ago\",\r\n message: \"Work Completed !!!\",\r\n },\r\n {\r\n userImg: \"assets/images/user/user3.jpg\",\r\n userName: \"John Doe\",\r\n time: \"3 hours ago\",\r\n message: \"kindly help me for code.\",\r\n },\r\n {\r\n userImg: \"assets/images/user/user4.jpg\",\r\n userName: \"Ashton Cox\",\r\n time: \"5 hours ago\",\r\n message: \"Lets break for lunch...\",\r\n },\r\n {\r\n userImg: \"assets/images/user/user5.jpg\",\r\n userName: \"Sarah Smith\",\r\n time: \"14 mins ago\",\r\n message: \"Please check your mail\",\r\n },\r\n {\r\n userImg: \"assets/images/user/user6.jpg\",\r\n userName: \"Airi Satou\",\r\n time: \"22 mins ago\",\r\n message: \"Work Completed !!!\",\r\n },\r\n {\r\n userImg: \"assets/images/user/user7.jpg\",\r\n userName: \"John Doe\",\r\n time: \"3 hours ago\",\r\n message: \"kindly help me for code.\",\r\n },\r\n ];\r\n ngOnInit() {\r\n this.config = this.configService.configData;\r\n //const userRole: Role = this.userService.currentUserValue.role;\r\n //console.log(userRole);\r\n this.userImg = \"assets/images/user/admin-login-logo.png\";\r\n this.homePage = \"submission/list\";\r\n // if (userRole.toString() === \"Admin\") {\r\n // this.homePage = \"admin/dashboard/main\";\r\n // }else if (userRole.toString() === \"Doctor\") {\r\n // this.homePage = \"doctor/dashboard\";\r\n // }else if (userRole.toString() === \"Staff\") {\r\n // this.homePage = \"doctor/dashboard\";\r\n // }else if (userRole.toString() === \"Pharmacy\") {\r\n // this.homePage = \"doctor/dashboard\";\r\n // } else {\r\n // this.homePage = \"admin/dashboard/main\";\r\n // }\r\n\r\n this.langStoreValue = localStorage.getItem(\"lang\");\r\n const val = this.listLang.filter((x) => x.lang === this.langStoreValue);\r\n this.countryName = val.map((element) => element.text);\r\n if (val.length === 0) {\r\n if (this.flagvalue === undefined) {\r\n this.defaultFlag = \"assets/images/flags/us.jpg\";\r\n }\r\n } else {\r\n this.flagvalue = val.map((element) => element.flag);\r\n }\r\n }\r\n\r\n ngAfterViewInit() {\r\n // set theme on startup\r\n if (localStorage.getItem(\"theme\")) {\r\n this.renderer.removeClass(this.document.body, this.config.layout.variant);\r\n this.renderer.addClass(this.document.body, localStorage.getItem(\"theme\"));\r\n } else {\r\n this.renderer.addClass(this.document.body, this.config.layout.variant);\r\n }\r\n\r\n if (localStorage.getItem(\"menuOption\")) {\r\n this.renderer.addClass(\r\n this.document.body,\r\n localStorage.getItem(\"menuOption\")\r\n );\r\n } else {\r\n this.renderer.addClass(\r\n this.document.body,\r\n \"menu_\" + this.config.layout.sidebar.backgroundColor\r\n );\r\n }\r\n\r\n if (localStorage.getItem(\"choose_logoheader\")) {\r\n this.renderer.addClass(\r\n this.document.body,\r\n localStorage.getItem(\"choose_logoheader\")\r\n );\r\n } else {\r\n this.renderer.addClass(\r\n this.document.body,\r\n \"logo-\" + this.config.layout.logo_bg_color\r\n );\r\n }\r\n\r\n if (localStorage.getItem(\"sidebar_status\")) {\r\n if (localStorage.getItem(\"sidebar_status\") === \"close\") {\r\n this.renderer.addClass(this.document.body, \"side-closed\");\r\n this.renderer.addClass(this.document.body, \"submenu-closed\");\r\n } else {\r\n this.renderer.removeClass(this.document.body, \"side-closed\");\r\n this.renderer.removeClass(this.document.body, \"submenu-closed\");\r\n }\r\n } else {\r\n if (this.config.layout.sidebar.collapsed === true) {\r\n this.renderer.addClass(this.document.body, \"side-closed\");\r\n this.renderer.addClass(this.document.body, \"submenu-closed\");\r\n }\r\n }\r\n }\r\n callFullscreen() {\r\n if (\r\n !document.fullscreenElement &&\r\n !document.mozFullScreenElement &&\r\n !document.webkitFullscreenElement &&\r\n !document.msFullscreenElement\r\n ) {\r\n if (document.documentElement.requestFullscreen) {\r\n document.documentElement.requestFullscreen();\r\n } else if (document.documentElement.msRequestFullscreen) {\r\n document.documentElement.msRequestFullscreen();\r\n } else if (document.documentElement.mozRequestFullScreen) {\r\n document.documentElement.mozRequestFullScreen();\r\n } else if (document.documentElement.webkitRequestFullscreen) {\r\n document.documentElement.webkitRequestFullscreen();\r\n }\r\n } else {\r\n if (document.exitFullscreen) {\r\n document.exitFullscreen();\r\n } else if (document.msExitFullscreen) {\r\n document.msExitFullscreen();\r\n } else if (document.mozCancelFullScreen) {\r\n document.mozCancelFullScreen();\r\n } else if (document.webkitExitFullscreen) {\r\n document.webkitExitFullscreen();\r\n }\r\n }\r\n }\r\n setLanguage(text: string, lang: string, flag: string) {\r\n this.countryName = text;\r\n this.flagvalue = flag;\r\n this.langStoreValue = lang;\r\n this.languageService.setLanguage(lang);\r\n }\r\n mobileMenuSidebarOpen(event: any, className: string) {\r\n const hasClass = event.target.classList.contains(className);\r\n if (hasClass) {\r\n this.renderer.removeClass(this.document.body, className);\r\n } else {\r\n this.renderer.addClass(this.document.body, className);\r\n }\r\n }\r\n callSidemenuCollapse() {\r\n const hasClass = this.document.body.classList.contains(\"side-closed\");\r\n if (hasClass) {\r\n this.renderer.removeClass(this.document.body, \"side-closed\");\r\n this.renderer.removeClass(this.document.body, \"submenu-closed\");\r\n } else {\r\n this.renderer.addClass(this.document.body, \"side-closed\");\r\n this.renderer.addClass(this.document.body, \"submenu-closed\");\r\n }\r\n }\r\n public toggleRightSidebar(): void {\r\n this.subs.sink = this.rightSidebarService.sidebarState.subscribe(\r\n (isRunning) => {\r\n this.isOpenSidebar = isRunning;\r\n }\r\n );\r\n\r\n this.rightSidebarService.setRightSidebar(\r\n (this.isOpenSidebar = !this.isOpenSidebar)\r\n );\r\n }\r\n logout() {\r\n this.subs.sink = this.userService.logout().subscribe((res) => {\r\n if (!res.success) {\r\n this.router.navigate([\"/authentication/signin\"]);\r\n }\r\n });\r\n }\r\n}\r\n","\r\n","import { Component, OnInit } from '@angular/core';\r\n@Component({\r\n selector: 'app-page-loader',\r\n templateUrl: './page-loader.component.html',\r\n styleUrls: ['./page-loader.component.sass'],\r\n})\r\nexport class PageLoaderComponent implements OnInit {\r\n constructor() {}\r\n ngOnInit() {}\r\n}\r\n","\r\n

\r\n
\r\n","import { DOCUMENT } from \"@angular/common\";\r\nimport {\r\n Component,\r\n Inject,\r\n ElementRef,\r\n OnInit,\r\n AfterViewInit,\r\n Renderer2,\r\n ChangeDetectionStrategy,\r\n} from \"@angular/core\";\r\nimport { ConfigService } from \"src/app/config/config.service\";\r\nimport { RightSidebarService } from \"src/app/core/service/rightsidebar.service\";\r\nimport { MatSlideToggleChange } from \"@angular/material/slide-toggle\";\r\nimport { UnsubscribeOnDestroyAdapter } from \"src/app/shared/UnsubscribeOnDestroyAdapter\";\r\n\r\n@Component({\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n selector: \"app-right-sidebar\",\r\n templateUrl: \"./right-sidebar.component.html\",\r\n styleUrls: [\"./right-sidebar.component.sass\"],\r\n})\r\nexport class RightSidebarComponent\r\n extends UnsubscribeOnDestroyAdapter\r\n implements OnInit, AfterViewInit\r\n{\r\n selectedBgColor = \"white\";\r\n maxHeight: string;\r\n maxWidth: string;\r\n showpanel = false;\r\n isOpenSidebar: boolean;\r\n isDarkSidebar = false;\r\n isDarTheme = false;\r\n isRtl = false;\r\n public config: any = {};\r\n\r\n constructor(\r\n @Inject(DOCUMENT) private document: Document,\r\n private renderer: Renderer2,\r\n public elementRef: ElementRef,\r\n private rightSidebarService: RightSidebarService,\r\n private configService: ConfigService\r\n ) {\r\n super();\r\n }\r\n ngOnInit() {\r\n this.config = this.configService.configData;\r\n this.subs.sink = this.rightSidebarService.sidebarState.subscribe(\r\n (isRunning) => {\r\n this.isOpenSidebar = isRunning;\r\n }\r\n );\r\n this.setRightSidebarWindowHeight();\r\n }\r\n\r\n ngAfterViewInit() {\r\n // set header color on startup\r\n if (localStorage.getItem(\"choose_skin\")) {\r\n this.renderer.addClass(\r\n this.document.body,\r\n localStorage.getItem(\"choose_skin\")\r\n );\r\n this.selectedBgColor = localStorage.getItem(\"choose_skin_active\");\r\n } else {\r\n this.renderer.addClass(\r\n this.document.body,\r\n \"theme-\" + this.config.layout.theme_color\r\n );\r\n this.selectedBgColor = this.config.layout.theme_color;\r\n }\r\n\r\n if (localStorage.getItem(\"menuOption\")) {\r\n if (localStorage.getItem(\"menuOption\") === \"menu_dark\") {\r\n this.isDarkSidebar = true;\r\n } else if (localStorage.getItem(\"menuOption\") === \"menu_light\") {\r\n this.isDarkSidebar = false;\r\n } else {\r\n this.isDarkSidebar =\r\n this.config.layout.sidebar.backgroundColor === \"dark\" ? true : false;\r\n }\r\n } else {\r\n this.isDarkSidebar =\r\n this.config.layout.sidebar.backgroundColor === \"dark\" ? true : false;\r\n }\r\n\r\n if (localStorage.getItem(\"theme\")) {\r\n if (localStorage.getItem(\"theme\") === \"dark\") {\r\n this.isDarTheme = true;\r\n } else if (localStorage.getItem(\"theme\") === \"light\") {\r\n this.isDarTheme = false;\r\n } else {\r\n this.isDarTheme = this.config.layout.variant === \"dark\" ? true : false;\r\n }\r\n } else {\r\n this.isDarTheme = this.config.layout.variant === \"dark\" ? true : false;\r\n }\r\n\r\n if (localStorage.getItem(\"isRtl\")) {\r\n if (localStorage.getItem(\"isRtl\") === \"true\") {\r\n this.setRTLSettings();\r\n } else if (localStorage.getItem(\"isRtl\") === \"false\") {\r\n this.setLTRSettings();\r\n }\r\n } else {\r\n if (this.config.layout.rtl == true) {\r\n this.setRTLSettings();\r\n } else {\r\n this.setLTRSettings();\r\n }\r\n }\r\n }\r\n\r\n selectTheme(e) {\r\n this.selectedBgColor = e;\r\n const prevTheme = this.elementRef.nativeElement\r\n .querySelector(\".right-sidebar .demo-choose-skin li.actived\")\r\n .getAttribute(\"data-theme\");\r\n this.renderer.removeClass(this.document.body, \"theme-\" + prevTheme);\r\n this.renderer.addClass(this.document.body, \"theme-\" + this.selectedBgColor);\r\n localStorage.setItem(\"choose_skin\", \"theme-\" + this.selectedBgColor);\r\n localStorage.setItem(\"choose_skin_active\", this.selectedBgColor);\r\n }\r\n lightSidebarBtnClick() {\r\n this.renderer.removeClass(this.document.body, \"menu_dark\");\r\n this.renderer.removeClass(this.document.body, \"logo-black\");\r\n this.renderer.addClass(this.document.body, \"menu_light\");\r\n this.renderer.addClass(this.document.body, \"logo-white\");\r\n const menuOption = \"menu_light\";\r\n localStorage.setItem(\"choose_logoheader\", \"logo-white\");\r\n localStorage.setItem(\"menuOption\", menuOption);\r\n }\r\n darkSidebarBtnClick() {\r\n this.renderer.removeClass(this.document.body, \"menu_light\");\r\n this.renderer.removeClass(this.document.body, \"logo-white\");\r\n this.renderer.addClass(this.document.body, \"menu_dark\");\r\n this.renderer.addClass(this.document.body, \"logo-black\");\r\n const menuOption = \"menu_dark\";\r\n localStorage.setItem(\"choose_logoheader\", \"logo-black\");\r\n localStorage.setItem(\"menuOption\", menuOption);\r\n }\r\n lightThemeBtnClick() {\r\n this.renderer.removeClass(this.document.body, \"dark\");\r\n this.renderer.removeClass(this.document.body, \"submenu-closed\");\r\n this.renderer.removeClass(this.document.body, \"menu_dark\");\r\n this.renderer.removeClass(this.document.body, \"logo-black\");\r\n if (localStorage.getItem(\"choose_skin\")) {\r\n this.renderer.removeClass(\r\n this.document.body,\r\n localStorage.getItem(\"choose_skin\")\r\n );\r\n } else {\r\n this.renderer.removeClass(\r\n this.document.body,\r\n \"theme-\" + this.config.layout.theme_color\r\n );\r\n }\r\n\r\n this.renderer.addClass(this.document.body, \"light\");\r\n this.renderer.addClass(this.document.body, \"submenu-closed\");\r\n this.renderer.addClass(this.document.body, \"menu_light\");\r\n this.renderer.addClass(this.document.body, \"logo-white\");\r\n this.renderer.addClass(this.document.body, \"theme-white\");\r\n const theme = \"light\";\r\n const menuOption = \"menu_light\";\r\n this.selectedBgColor = \"white\";\r\n this.isDarkSidebar = false;\r\n localStorage.setItem(\"choose_logoheader\", \"logo-white\");\r\n localStorage.setItem(\"choose_skin\", \"theme-white\");\r\n localStorage.setItem(\"theme\", theme);\r\n localStorage.setItem(\"menuOption\", menuOption);\r\n }\r\n darkThemeBtnClick() {\r\n this.renderer.removeClass(this.document.body, \"light\");\r\n this.renderer.removeClass(this.document.body, \"submenu-closed\");\r\n this.renderer.removeClass(this.document.body, \"menu_light\");\r\n this.renderer.removeClass(this.document.body, \"logo-white\");\r\n if (localStorage.getItem(\"choose_skin\")) {\r\n this.renderer.removeClass(\r\n this.document.body,\r\n localStorage.getItem(\"choose_skin\")\r\n );\r\n } else {\r\n this.renderer.removeClass(\r\n this.document.body,\r\n \"theme-\" + this.config.layout.theme_color\r\n );\r\n }\r\n this.renderer.addClass(this.document.body, \"dark\");\r\n this.renderer.addClass(this.document.body, \"submenu-closed\");\r\n this.renderer.addClass(this.document.body, \"menu_dark\");\r\n this.renderer.addClass(this.document.body, \"logo-black\");\r\n this.renderer.addClass(this.document.body, \"theme-black\");\r\n const theme = \"dark\";\r\n const menuOption = \"menu_dark\";\r\n this.selectedBgColor = \"black\";\r\n this.isDarkSidebar = true;\r\n localStorage.setItem(\"choose_logoheader\", \"logo-black\");\r\n localStorage.setItem(\"choose_skin\", \"theme-black\");\r\n localStorage.setItem(\"theme\", theme);\r\n localStorage.setItem(\"menuOption\", menuOption);\r\n }\r\n setRightSidebarWindowHeight() {\r\n const height = window.innerHeight - 137;\r\n this.maxHeight = height + \"\";\r\n this.maxWidth = \"500px\";\r\n }\r\n onClickedOutside(event: Event) {\r\n const button = event.target as HTMLButtonElement;\r\n if (button.id !== \"settingBtn\") {\r\n if (this.isOpenSidebar === true) {\r\n this.toggleRightSidebar();\r\n }\r\n }\r\n }\r\n toggleRightSidebar(): void {\r\n this.rightSidebarService.setRightSidebar(\r\n (this.isOpenSidebar = !this.isOpenSidebar)\r\n );\r\n }\r\n switchDirection(event: MatSlideToggleChange) {\r\n var isrtl: string = String(event.checked);\r\n if (\r\n isrtl === \"false\" &&\r\n document.getElementsByTagName(\"html\")[0].hasAttribute(\"dir\")\r\n ) {\r\n document.getElementsByTagName(\"html\")[0].removeAttribute(\"dir\");\r\n this.renderer.removeClass(this.document.body, \"rtl\");\r\n } else if (\r\n isrtl === \"true\" &&\r\n !document.getElementsByTagName(\"html\")[0].hasAttribute(\"dir\")\r\n ) {\r\n document.getElementsByTagName(\"html\")[0].setAttribute(\"dir\", \"rtl\");\r\n this.renderer.addClass(this.document.body, \"rtl\");\r\n }\r\n localStorage.setItem(\"isRtl\", isrtl);\r\n this.isRtl = event.checked;\r\n }\r\n setRTLSettings() {\r\n document.getElementsByTagName(\"html\")[0].setAttribute(\"dir\", \"rtl\");\r\n this.renderer.addClass(this.document.body, \"rtl\");\r\n this.isRtl = true;\r\n localStorage.setItem(\"isRtl\", \"true\");\r\n }\r\n setLTRSettings() {\r\n document.getElementsByTagName(\"html\")[0].removeAttribute(\"dir\");\r\n this.renderer.removeClass(this.document.body, \"rtl\");\r\n this.isRtl = false;\r\n localStorage.setItem(\"isRtl\", \"false\");\r\n }\r\n}\r\n","\r\n\r\n\r\n","import { Router, NavigationEnd } from \"@angular/router\";\r\nimport { DOCUMENT } from \"@angular/common\";\r\nimport {\r\n Component,\r\n Inject,\r\n ElementRef,\r\n OnInit,\r\n Renderer2,\r\n HostListener,\r\n OnDestroy,\r\n} from \"@angular/core\";\r\n//import { ROUTES } from \"./sidebar-items\";\r\nimport { AuthService } from \"src/app/core/service/auth.service\";\r\nimport { Role, UserMenuDetails } from \"src/app/core/models/role\";\r\nimport { UserServicesService } from \"src/app/api-services/user-services/user-services.service\";\r\nimport { AdminServicesService } from \"src/app/api-services/admin-services/admin-services.service\";\r\nimport { RouteInfo } from \"./sidebar.metadata\";\r\n@Component({\r\n selector: \"app-sidebar\",\r\n templateUrl: \"./sidebar.component.html\",\r\n styleUrls: [\"./sidebar.component.sass\"],\r\n})\r\nexport class SidebarComponent implements OnInit, OnDestroy {\r\n public sidebarItems: RouteInfo[] = [];\r\n level1Menu = \"\";\r\n level2Menu = \"\";\r\n level3Menu = \"\";\r\n public innerHeight: any;\r\n public bodyTag: any;\r\n listMaxHeight: string;\r\n listMaxWidth: string;\r\n userFullName: string;\r\n userImg: string;\r\n userType: string;\r\n headerHeight = 60;\r\n currentRoute: string;\r\n routerObj = null;\r\n userMenuDetails: UserMenuDetails[];\r\n constructor(\r\n @Inject(DOCUMENT) private document: Document,\r\n private renderer: Renderer2,\r\n public elementRef: ElementRef,\r\n private authService: AuthService,\r\n private router: Router,\r\n private userService: UserServicesService,\r\n private adminService: AdminServicesService\r\n ) {\r\n const body = this.elementRef.nativeElement.closest(\"body\");\r\n this.routerObj = this.router.events.subscribe((event) => {\r\n if (event instanceof NavigationEnd) {\r\n // logic for select active menu in dropdown\r\n //debugger;//\r\n const role = [\"Admin\", \"Doctor\", \"Staff\", \"Pharmacy\"];\r\n const currenturl = event.url.split(\"?\")[0];\r\n const firstString = currenturl.split(\"/\").slice(1)[0];\r\n\r\n if (role.indexOf(firstString) !== -1) {\r\n this.level1Menu = event.url.split(\"/\")[2];\r\n this.level2Menu = event.url.split(\"/\")[3];\r\n } else {\r\n this.level1Menu = event.url.split(\"/\")[1];\r\n this.level2Menu = event.url.split(\"/\")[2];\r\n }\r\n\r\n // close sidebar on mobile screen after menu select\r\n this.renderer.removeClass(this.document.body, \"overlay-open\");\r\n }\r\n });\r\n }\r\n @HostListener(\"window:resize\", [\"$event\"])\r\n windowResizecall(event) {\r\n this.setMenuHeight();\r\n this.checkStatuForResize(false);\r\n }\r\n @HostListener(\"document:mousedown\", [\"$event\"])\r\n onGlobalClick(event): void {\r\n if (!this.elementRef.nativeElement.contains(event.target)) {\r\n this.renderer.removeClass(this.document.body, \"overlay-open\");\r\n }\r\n }\r\n callLevel1Toggle(event: any, element: any) {\r\n if (element === this.level1Menu) {\r\n this.level1Menu = \"0\";\r\n } else {\r\n this.level1Menu = element;\r\n }\r\n const hasClass = event.target.classList.contains(\"toggled\");\r\n if (hasClass) {\r\n this.renderer.removeClass(event.target, \"toggled\");\r\n } else {\r\n this.renderer.addClass(event.target, \"toggled\");\r\n }\r\n }\r\n callLevel2Toggle(event: any, element: any) {\r\n if (element === this.level2Menu) {\r\n this.level2Menu = \"0\";\r\n } else {\r\n this.level2Menu = element;\r\n }\r\n }\r\n callLevel3Toggle(event: any, element: any) {\r\n if (element === this.level3Menu) {\r\n this.level3Menu = \"0\";\r\n } else {\r\n this.level3Menu = element;\r\n }\r\n }\r\n ngOnInit() {\r\n if(JSON.parse(localStorage.getItem('currentUser'))) {\r\n let userAccessLevel: number = JSON.parse(localStorage.getItem('currentUser')).role;\r\n this.adminService.getMenuDetailsByUserAccessLevel(userAccessLevel).subscribe(res => {\r\n if(res.data != null) {\r\n this.userMenuDetails = res.data;\r\n this.createNavMenu(this.userMenuDetails);\r\n console.log(\"-----------------\");\r\n console.log(this.createNavMenu(this.userMenuDetails));\r\n this.sidebarItems = this.createNavMenu(this.userMenuDetails);\r\n }\r\n });\r\n }\r\n if (this.authService.currentUserValue) {\r\n this.userFullName =\r\n this.authService.currentUserValue.firstName +\r\n \" \" +\r\n this.authService.currentUserValue.lastName;\r\n this.userImg = this.authService.currentUserValue.img;\r\n }\r\n\r\n // this.sidebarItems = ROUTES.filter((sidebarItem) => sidebarItem);\r\n this.initLeftSidebar();\r\n this.bodyTag = this.document.body;\r\n }\r\n ngOnDestroy() {\r\n this.routerObj.unsubscribe();\r\n }\r\n initLeftSidebar() {\r\n const _this = this;\r\n // Set menu height\r\n _this.setMenuHeight();\r\n _this.checkStatuForResize(true);\r\n }\r\n setMenuHeight() {\r\n this.innerHeight = window.innerHeight;\r\n const height = this.innerHeight - this.headerHeight;\r\n this.listMaxHeight = height + \"\";\r\n this.listMaxWidth = \"500px\";\r\n }\r\n isOpen() {\r\n return this.bodyTag.classList.contains(\"overlay-open\");\r\n }\r\n checkStatuForResize(firstTime) {\r\n if (window.innerWidth < 1170) {\r\n this.renderer.addClass(this.document.body, \"ls-closed\");\r\n } else {\r\n this.renderer.removeClass(this.document.body, \"ls-closed\");\r\n }\r\n }\r\n mouseHover(e) {\r\n const body = this.elementRef.nativeElement.closest(\"body\");\r\n if (body.classList.contains(\"submenu-closed\")) {\r\n this.renderer.addClass(this.document.body, \"side-closed-hover\");\r\n this.renderer.removeClass(this.document.body, \"submenu-closed\");\r\n }\r\n }\r\n mouseOut(e) {\r\n const body = this.elementRef.nativeElement.closest(\"body\");\r\n if (body.classList.contains(\"side-closed-hover\")) {\r\n this.renderer.removeClass(this.document.body, \"side-closed-hover\");\r\n this.renderer.addClass(this.document.body, \"submenu-closed\");\r\n }\r\n }\r\n\r\n createNavMenu(data: UserMenuDetails[]): RouteInfo[] {\r\n //debugger;\r\n let menus: RouteInfo[];\r\n if(data && data.length > 0) {\r\n menus = [];\r\n data.forEach(f=> {\r\n if(f.parentCode == 0) {\r\n let m: RouteInfo = {\r\n menuCode: f.menuCode,\r\n parentCode: f.parentCode,\r\n badge: \"\",\r\n badgeClass: \"\",\r\n class: f.class,\r\n groupTitle: f.groupTitle,\r\n icon: f.icon,\r\n iconType: f.iconType,\r\n moduleName: f.moduleName,\r\n path: f.path,\r\n role: [],\r\n submenu: [],\r\n title: f.title\r\n }\r\n menus.push(m);\r\n }\r\n else {\r\n if(menus.filter(i=>i.menuCode == f.parentCode).length > 0) {\r\n if(!menus.filter(i=>i.menuCode == f.parentCode)[0].submenu) {\r\n menus.filter(i=>i.menuCode == f.parentCode)[0].submenu = [];\r\n }\r\n let subMenu: RouteInfo = {\r\n badge: \"\",\r\n badgeClass: \"\",\r\n class: f.class,\r\n groupTitle: f.groupTitle,\r\n icon: f.iconType,\r\n iconType: f.iconType,\r\n menuCode: f.menuCode,\r\n moduleName: f.moduleName,\r\n parentCode: f.parentCode,\r\n path: f.path,\r\n role: [],\r\n submenu: [],\r\n title: f.title\r\n }\r\n menus.filter(i=>i.menuCode == f.parentCode)[0].submenu.push(subMenu);\r\n }\r\n }\r\n });\r\n }\r\n else {\r\n menus = null;\r\n }\r\n return menus;\r\n }\r\n\r\n logout() {\r\n this.userService.logout().subscribe((res) => {\r\n if (!res.success) {\r\n this.router.navigate([\"/authentication/signin\"]);\r\n }\r\n });\r\n }\r\n}\r\n","
\r\n \r\n \r\n \r\n
\r\n","import { Injectable, OnDestroy } from '@angular/core';\r\nimport { SubSink } from './sub-sink';\r\n\r\n/**\r\n * A class that automatically unsubscribes all observables when the object gets destroyed\r\n */\r\n@Injectable()\r\nexport class UnsubscribeOnDestroyAdapter implements OnDestroy {\r\n /**\r\n * The subscription sink object that stores all subscriptions\r\n */\r\n subs = new SubSink();\r\n\r\n /**\r\n * The lifecycle hook that unsubscribes all subscriptions when the component / object gets destroyed\r\n */\r\n ngOnDestroy(): void {\r\n this.subs.unsubscribe();\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class FormatterService {\r\n\r\n constructor() { }\r\n\r\n \r\n //For format yyyy-MM-dd\r\n returnFormatedDate(inputDate: any) : any {\r\n let month = inputDate.getMonth() + 1;\r\n return inputDate.getFullYear() + '-' + \r\n (\"0\" + month).slice(-2) + '-' + \r\n (\"0\" + inputDate.getDate()).slice(-2);\r\n }\r\n\r\n //For format MM/dd/yyyy\r\n returnFormatedDate2(inputDate: any) : any {\r\n let month = inputDate.getMonth() + 1;\r\n return (\"0\" + month).slice(-2) + '/' + (\"0\" + inputDate.getDate()).slice(-2) + '/' + inputDate.getFullYear();\r\n }\r\n \r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'lineBreak'\n})\nexport class LineBreakPipe implements PipeTransform {\n\n transform(value: string, breakLength: number): string {\n debugger;\n var newString = \"\";\n for (var i = 0; i < value.length; i++) {\n newString = newString+value[i];\n if ((i+1) % breakLength == 0) {\n newString = newString+\"
\";\n }\n }\n return newString;\n };\n}\n","import { NgModule } from '@angular/core';\r\nimport { MatNativeDateModule } from '@angular/material/core';\r\nimport { NgxMaskModule } from 'ngx-mask';\r\nimport { MatListModule } from '@angular/material/list';\r\nimport { MatButtonToggleModule } from '@angular/material/button-toggle';\r\nimport { MatSlideToggleModule } from '@angular/material/slide-toggle';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatDialogModule } from '@angular/material/dialog';\r\nimport { NgApexchartsModule } from 'ng-apexcharts';\r\nimport { MatPaginatorModule } from '@angular/material/paginator';\r\nimport { MatSnackBarModule } from '@angular/material/snack-bar';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatSortModule } from '@angular/material/sort';\r\nimport { MatTabsModule } from '@angular/material/tabs';\r\nimport { MatMenuModule } from '@angular/material/menu';\r\nimport { MatDatepickerModule } from '@angular/material/datepicker';\r\nimport { MatTableModule } from '@angular/material/table';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { MatRadioModule } from '@angular/material/radio';\r\nimport { DragDropModule } from '@angular/cdk/drag-drop';\r\nimport { MatCardModule } from '@angular/material/card';\r\nimport {MatProgressSpinnerModule} from '@angular/material/progress-spinner';\r\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\r\nimport {MatExpansionModule} from '@angular/material/expansion';\r\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\r\n\r\n\r\nconst materialModules = [\r\n MatListModule,\r\n MatNativeDateModule,\r\n NgxMaskModule.forRoot(),\r\n MatButtonToggleModule,\r\n MatSlideToggleModule,\r\n MatIconModule,\r\n MatButtonModule,\r\n MatDialogModule,\r\n NgApexchartsModule,\r\n MatPaginatorModule,\r\n MatSnackBarModule,\r\n MatFormFieldModule,\r\n MatSortModule,\r\n MatTabsModule,\r\n MatMenuModule,\r\n MatDatepickerModule,\r\n MatTableModule,\r\n MatSelectModule,\r\n MatCheckboxModule,\r\n MatInputModule,\r\n MatTooltipModule,\r\n MatRadioModule,\r\n DragDropModule,\r\n MatCardModule, \r\n MatProgressSpinnerModule,\r\n MatProgressBarModule,\r\n MatExpansionModule,\r\n MatAutocompleteModule,\r\n];\r\n\r\n@NgModule({\r\n declarations: [],\r\n imports: [materialModules],\r\n exports: [materialModules],\r\n})\r\nexport class MaterialModule {}\r\n","import { Component, Pipe, PipeTransform } from '@angular/core';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\n\r\n@Pipe({\r\n name: 'safeHtml'\r\n})\r\nexport class SafeHtmlPipe implements PipeTransform {\r\n constructor(private sanitized: DomSanitizer) { }\r\n transform(value) {\r\n return this.sanitized.bypassSecurityTrustHtml(value);\r\n }\r\n}","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { RouterModule } from '@angular/router';\r\nimport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\r\nimport { NgxSpinnerModule } from 'ngx-spinner';\r\n\r\nimport { MaterialModule } from './material.module';\r\nimport { SurveyServicesService } from '../api-services/survey-services/survey-services.service';\r\nimport { ServiceUrl } from '../api-services/service-url';\r\nimport { DummyServiceService } from '../api-services/dummy-services/dummy-service.service';\r\nimport { ReportRequest } from '../core/models/LoginDetails';\r\nimport { FormatterService } from './formatter.service';\r\nimport { NgMultiSelectDropDownModule } from 'ng-multiselect-dropdown';\r\n\r\n@NgModule({\r\n declarations: [],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n RouterModule,\r\n NgbModule,\r\n NgxSpinnerModule,\r\n MaterialModule\r\n ],\r\n exports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n RouterModule,\r\n NgbModule,\r\n NgxSpinnerModule,\r\n MaterialModule,\r\n NgMultiSelectDropDownModule\r\n ],\r\n providers: [SurveyServicesService, ServiceUrl , DummyServiceService, ReportRequest, FormatterService]\r\n})\r\nexport class SharedModule {}\r\n","import { SubscriptionLike } from \"rxjs\";\r\n\r\n/**\r\n * Subscription sink that holds Observable subscriptions\r\n * until you call unsubscribe on it in ngOnDestroy.\r\n */\r\nexport class SubSink {\r\n protected _subs: SubscriptionLike[] = [];\r\n\r\n /**\r\n * Subscription sink that holds Observable subscriptions\r\n * until you call unsubscribe on it in ngOnDestroy.\r\n *\r\n * @example\r\n * In Angular:\r\n * ```\r\n * private subs = new SubSink();\r\n * ...\r\n * this.subs.sink = observable$.subscribe(\r\n * this.subs.add(observable$.subscribe(...));\r\n * ...\r\n * ngOnDestroy() {\r\n * this.subs.unsubscribe();\r\n * }\r\n * ```\r\n */\r\n constructor() {}\r\n\r\n /**\r\n * Add subscriptions to the tracked subscriptions\r\n * @example\r\n * this.subs.add(observable$.subscribe(...));\r\n */\r\n add(...subscriptions: SubscriptionLike[]) {\r\n this._subs = this._subs.concat(subscriptions);\r\n }\r\n\r\n /**\r\n * Assign subscription to this sink to add it to the tracked subscriptions\r\n * @example\r\n * this.subs.sink = observable$.subscribe(...);\r\n */\r\n set sink(subscription: SubscriptionLike) {\r\n this._subs.push(subscription);\r\n }\r\n\r\n /**\r\n * Unsubscribe to all subscriptions in ngOnDestroy()\r\n * @example\r\n * ngOnDestroy() {\r\n * this.subs.unsubscribe();\r\n * }\r\n */\r\n unsubscribe() {\r\n this._subs.forEach((sub) => sub && sub.unsubscribe());\r\n this._subs = [];\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: false,\r\n apiUrl: 'http://localhost:4200',\r\n};\r\n\r\n/*\r\n * For easier debugging in development mode, you can import the following file\r\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\r\n *\r\n * This import should be commented out in production mode because it will have a negative impact\r\n * on performance if an error is thrown.\r\n */\r\n// import 'zone.js/plugins/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","/* (ignored) */","/* (ignored) */","/* (ignored) */"],"names":["FormControl","FormGroup","Validators","MAT_DIALOG_DATA","AlertDialogComponent","i0","AcuteCareStateComponent","constructor","data","dialog","dialogRef","surveyService","router","state","required","controlName","errorName","patientStateForm","controls","hasError","ngOnInit","updateSize","disableClose","loadPatientStates","submitPatientStateForm","stateId","value","submitProcessFlag","frmData","FormData","i","licenseFiles","length","append","selfyFiles","identityfileUpload","subscribe","res","savedFiles","JSON","stringify","window","sessionStorage","setItem","console","log","close","isSubmit","stateName","openAlertDialog","error","errorMessage","getAcuteCarePatientState","alertMessage","open","message","buttonText","cancel","stateChange","event","source","triggerValue","getLicenseFileDetails","target","files","push","getSelfyFileDetails","deleteLicenseFile","file","index","indexOf","splice","drivingLicenseInput","nativeElement","deleteSelfyFile","selfyInput","acuteCareCloseClick","selectors","viewQuery","ctx","DatePipe","ConfirmDialogComponent","RegularSampleMedicineComponent","AcuteCareStepsComponent","surveyServices","adminService","sharedService","el","location","questions","stepCode","stepID","subTitle","tabOrder","title","optionValue","itemsInRow","parse","getItem","history","pushState","href","onPopState","storeState","answers","telehealthSurveyId","setAcuteCareSurveyId","selectedSurveyId","selectedSurvey","surveyId","isSpinnerWait","getPharmacyDetails","getQuestionBySurveyDetailsId","response","isDisplayPreviousButton","getAcuteCareRefillQuestions","apiRes","surveySteps","configurePharmacyStep","surveyStepsFromApi","binCurrentStepsForAcuteCareRefill","result","sort","a","b","configureAcuteCareSteps","getAcuteCareQuestionDetails","toString","binCurrentSteps","steps","maxStepIndex","currentStep","stepCounter","fetchedAns","formCompleted","id","AcuteCateSelectedSurvey","array","getAcuteCarePharmacyDetails","acuteCarePharmacyList","pharmacyOptions","filter","f","pharmacyStep","questionID","dropdownQuestion","forEach","option","isChildShow","isStopper","optionID","name","options","list","acuteQuestions","optionarray","bindQuestionOptions","question_type","selection_option","type","getQuestionType","question","hint","help_text","step","surveyName","bindQuestionOptionsForRefill","isChild","optns","option1","option2","previousClick","navigate","checkPreviousShow","checkNextButtonShow","nextClick","serveyDetails","formDataCaptureString","Object","keys","form","key","countForEmail","emailValue","phoneValue","markAsTouched","valid","Number","surveyTypeCode","checkNonRefundedAccountByPatientEmail","ok","afterClosed","confirmed","document","createElement","click","remove","proceedToNext","logGuid","localStorage","removeItem","logModel","logConnId","userPhone","userEmail","userAction","surveyTypeName","userActionCode","ipAddress","browserName","detectBrowserName","browserVersion","detectBrowserVersion","clientMetaData","detectClientDeviceMetadata","formData","insertIntakeFormLog","undefined","toUpperCase","setTimeout","scroll","top","innerHeight","alert","isDisplayNextButton","previousReviewClick","submitClick","savedFilesName","medicineFiles","medicineUploadClick","reviewFinalSurveyForm","existingSubmissionId","getExistingSurveyAsnwerBySubmissionId","q","questionId","answer","transform","stepHasAnswers","some","confirmClick","patId","existingPatientId","acuteCareModel","bindAcuteCareModel","descAnswer","setSurveySWubmissionDetails","surveySubmissionDetails","createSurveySubmission","submissionId","patientDetails","patientId","firstName","middleName","lastName","phoneNo","email","address","city","zip","zipCode","gendar","gender","dob","height","weight","surveyDetails","InsertIntakeFormLog","checkDropdownSelectChange","pharmacyDetails","phone","fax","textInputs","toArray","setAttribute","removeAttribute","radioChange","selectOptionDetails","initialView","showStopper","acuteCare","pharmacyFax","pharmacyName","pharmacyPhone","surveyPaymentDetails","questionierDetails","getMedicineFileDetails","map","m","medicineFileInput","medicinefileUpload","showSampleMedicineImages","popupClose","decls","vars","consts","template","AcuteCareComponent","datePipe","http","sanitizer","_formBuilder","singleSelection","idField","textField","selectAllText","unSelectAllText","itemsShowLimit","allowSearchFilter","enableCheckAll","limitSelection","freshLoad","loadPatientState","bindResponseData","price","details","hasRecordCheck","procedureRate","shippingCharge","surveyCode","service_name","service_type","description","created_at","service_mode","updated_at","RefPatientStatus","acuteCateSelectedSurvey","cuteCateSelectedSurveyDetails","initialDisplay","getAcuteCareRefillMedicinePriceList","AcuteCareRefillDetails","AcuteOfflineCareGeneralTreatmentDetails","onlineGeneralTreatment","getServiceOfferDetails","success","offlineServiceOfferList","surveyTypes","Set","item","procedureRates","surveySelectorClick","getAcuteCareDrugList","refillMedicines","drug_list","item_id","drug_id","item_text","drug_full_name","days","item_qty_text","item_category_id","category_id","item_category_name","category_name","item_tier","tier","item_price","calculateAcuteCareRefillMedicinePrice","iten_basePrice","item_quantity","quantity","item_days","dropdownList","setRegularMedicines","selectedItems","getAcuteCareRefillMedicineDetails","refillMedicinePrices","tierName","medPrice","selectedPrice","trim","onItemSelect","onItemDeSelect","onSelectAll","items","categoryChange","regularMedicineList","find","w","medicine","activeMedicine","amount","acuteCare_refillPrice","isChecked","isMandatory","medicineName","medicineId","categoryName","categoryId","medicinePackageId","drug_List","acuteCareRefillSelection","getSurveyDetailsByType","selectedType","selectedSurveyDetailsId","openRatePopup","submitExistingPatientForm","cancelButtonText","onConfirmClick","confirmButtonText","isDisplayCancelButton","AffiliateLoginComponent","appService","OTP","affiliateMarketLoginForm","validateOTPForm","sessionGet","submitAffiliateMarketLogin","getAffiliateMarketingLoginOTP","sessionSet","_SessionKey","submitOTP","storedValue","stringValue","expirationDate","Date","expirationInMin","getTime","newValue","toISOString","MatTableDataSource","XLSX","AffiliateMarketComponent","setDate","endDate","getDate","getPromotionDetails","startDate","getAffiliateMarketingPromotionDetails","promotions","Array","telehealthRecords","applicationId","sum","reduce","current","promotionAmount","telePromo","applicationName","promoterEmail","promoName","marketPlaceRecords","marketPromo","getTotalAmount","dataSource","exportButtonDisabled","searchRecord","sDate","eDate","totalAmount","t","acc","exportexcel","fileName","readyToExport","obj","ws","utils","json_to_sheet","header","wscols","wch","wb","book_new","book_append_sheet","writeFile","bookType","HttpHeaders","throwError","catchError","AdminServicesService","dynamicServiceUrls","reportRequest","deviceService","admin","set","errorHandler","status","getUserLoginDetails","get","headers","pipe","getLoginUserTypes","getIPAddress","agent","navigator","userAgent","toLowerCase","opr","chrome","tem","matchTest","match","test","exec","slice","join","replace","appName","appVersion","deviceInfo","isMobile","isTablet","isDesktopDevice","getDeviceInfo","isDesktop","metaData","browser","browser_version","deviceType","orientation","os","os_version","insertUpdateLoginUserDetails","loginUserModel","postData","post","intakeformLogModelData","deleteLoginUserDetails","getMedicine","getPrescriptionMedicine","getMedicineCategories","insertMedicine","medicineModel","DeleteMedicineDetails","getMedicineById","UpdateMedicineDetails","returnFormatedDate","inputDate","month","getMonth","getFullYear","GetActivityLogs","reportModel","sendmailToAllPatient","emailprop","getPaymentReport","webApiUrl","getPharmacyList","getPharmacyReport","searchModel","updateDeliveryNote","pharmacyModel","UpdateDeliveryNoteBulk","uploadExcelModel","getPayToPharmacyDetails","getPatientStatus","getPatientSurveyType","getSubmissionDetails","model","getSubmissionDetailsWithSearch","getSubmissionAnswerDetailsBySubmissionId","getDoctors","getPharmacies","updateSubmissionDetails","getHtmlOfSubmissionAnswerDetailsBySubmissionId","responseType","updatePharmacyPaymentDetails","getAccountSummaryReport","getGeneratedPescription","requestOtpForEmail","requestEmail","requestPasswordReset","getPackages","getPromocode","getSurveyCategory","getPackageDetailsById","addEditPackage","addEditPromocode","deletePackageById","getDeliveryAgencies","getTableDetailsByName","tableName","insertUpdateMasterTableDetails","MasterTableModel","GetPatientDetails","searchString","UpdatePatientDetails","patientDetailsModel","UpdatePatientDeliveryAddressDetails","patientDeliveryAddressModel","assignToPharmacy","getUserRole","getUsersPermission","updateUsersPermission","usermenu","updateUserMap","usermap","getSelectedPackageDetails","getQuestionAnswerBySubmissionId","updateSubmissionPrescriptionDetails","getUpdatedSubmissionDetailsBySubmissionId","getSubmissionCount","getMenuDetailsByUserAccessLevel","userAccessLevelId","getPremiumSubscriberList","getPremiumSubscribersByEmail","factory","providedIn","DummyServiceService","httpClient","_url","_user","httpOptions","put","_usermap","MarketPlaceService","serviceUrl","marketPlaceServices","marketPlace","validateAutoshipOfferSubscription","patientEmail","settleAutoshipOffer","url","ServiceUrl","port","mpPort","survey","payroll","affiliateMarketing","verification","BehaviorSubject","SharedComponentService","_surveySubmissionDetails","currentSurveySubmissionDetails","asObservable","SurveyServicesService","affiliateMarketingService","getSurveyType","surveyDetailsId","getMedicinesBySurveyDetailsId","getPromoDetailsByPromoName","getPromoByPromoName","completeSurveyProcess","completePremiumServiceProcess","getGeneratedInvoice","paymentId","getGeneratedInvoice2","createSubmissionAndGetExistingPatientDetails","getPatientDetails","GetOnlyPatientDetails","getSubmissionIdByFirstNameAndEmail","getPromoterList","updatePromoPaymentDetails","promoPauoutModel","patientState","telehealthId","acuteCareServiceId","completeAcuteCareProcess","getAcuteCareDetailsReport","getAcuteCareSurveyReport","requestId","getAcuteCarePayloadTemplate","refundInitiate","chargeId","comingFrom","getAcuteCarePatientApointmentStatus","referenceGuid","completeAcuteCareRefill","getServiceType","getsubscriberService","encodeURIComponent","getPatientIdByFirstNameAndEmail","getPremiumLoginOTP","of","UserServicesService","currentUserSubject","currentUser","getLoginUSerTypes","loginCheck","loginmodel","user","currentUserValue","logout","RouterModule","Page404Component","AuthGuard","Role","InvoiceComponent","PaymentComponent","SelectorComponent","StepsComponent","AuthLayoutComponent","MainLayoutComponent","SurveysubscriptionComponent","SubscribefreeservicesComponent","PremiumpaymentComponent","routes","path","component","canActivate","role","Admin","Doctor","Staff","Pharmacy","promoStuff","Nurse","children","redirectTo","pathMatch","loadChildren","then","AdminModule","TaskModule","ReportModule","SubmissionModule","AccountModule","PayrollModule","AuthenticationModule","AppRoutingModule","forRoot","imports","exports","NavigationStart","NavigationEnd","AppComponent","_router","spinner","events","routerEvent","show","currentUrl","substring","lastIndexOf","hide","scrollTo","numericValidator","control","numeric","CoreModule","SharedModule","BrowserModule","BrowserAnimationsModule","HeaderComponent","PageLoaderComponent","SidebarComponent","RightSidebarComponent","fakeBackendProvider","LocationStrategy","HashLocationStrategy","PerfectScrollbarModule","PERFECT_SCROLLBAR_CONFIG","TranslateModule","TranslateLoader","TranslateHttpLoader","ClickOutsideModule","HttpClientModule","HTTP_INTERCEPTORS","HttpClient","JwtInterceptor","PaymentAddressComponent","PaymentConfirmComponent","SafeHtmlPipe","LineBreakPipe","DEFAULT_PERFECT_SCROLLBAR_CONFIG","suppressScrollX","wheelPropagation","createTranslateLoader","AppModule","bootstrap","provide","useClass","useValue","multi","loader","useFactory","deps","declarations","intercept","request","next","re","tokenItem","token","search","clone","setHeaders","Authorization","handle","ConfigService","setConfigData","configData","layout","rtl","variant","theme_color","logo_bg_color","sidebar","collapsed","backgroundColor","CommonModule","RightSidebarService","AuthService","DynamicScriptLoaderService","throwIfAlreadyLoaded","parentModule","authService","route","userRole","s","moduleName","Error","HttpResponse","mergeMap","users","img","username","password","FakeBackendInterceptor","method","body","handleRoute","endsWith","authenticate","x","unauthorized","isLoggedIn","LoginDetails","AccessLavel","ReportRequest","AuthProperties","ScriptStore","script","scripts","loaded","src","load","promises","loadScript","Promise","all","resolve","reject","readyState","onreadystatechange","onload","onerror","getElementsByTagName","appendChild","LanguageService","translate","browserLang","addLangs","languages","getBrowserLang","use","setLanguage","lang","sidebarSubject","saveAs","queryParams","beforePaymentSection","downloadInvoice","isDownloadInProgress","d","blob","Blob","PatientFirstName","PatientLastName","PatientEmail","pattern","PatientPhone","PatientAddress","PatientCity","PatientState","PatientZip","PatientGender","PatientDob","PatientHeight","PatientWeight","PatientEnrollmentDate","editUserForm","selectedRowData","disableInEditMode","submitButtonText","selectedGender","setValue","enrollmentDate","submitUserForm","PSId","UId","UserOperation","operationMessage","closeDialog","disallowSpace","keyCode","preventDefault","datepipe","invoiceData","closePayNowPopup","opFlag","marketPlaceService","ispremium","CardHolderName","CardNumber","maxLength","ExpiryMonth","minLength","ExpiryYear","cvc","Amount","PromoCode","FindAboutUs","paymentForm","initialLoader","storeurveySubmissionDetails","procedureCharge","procedureText","reloadAddress","surveyMedicines","Data","isSubscribedOnMarketPlace","setAmount","medicines","patientData","isAddressFound","isPremium","patchValue","patientSurveyModel","selectMedicine","checked","selectMedicineOperation","selectedMedicinePackageId","promoButtonDisabled","promoMessage","pharmacyCharge","promo","promocodeId","previewProcedureChargesForSpecialPromo","toFixed","eitherOrVisibility","getTotalQuantity","getPromoDetails","deductedAmount","promocodeName","includes","promocodePercent","promoButtonText","submitPaymentForm","isFromAcuteCare","invoicePreviewData","isPromo","packageAmounts","deductionAmount","confirmRef","makePaymentProcess","isSubmitInProgress","promoId","amountAfterDeduction","paymentDetails","cardHolderName","cardNumber","medicinePackageIds","findAboutUs","submitModel","tempCardJson","answerDesc","acuteCareStepsDetails","acuteCareFileUpload","acuteCaremedicineUpload","selectedMedicines","selectedRegularReMedicineList","getDrugListFromSelectedMedicines","completeAcuteCareRegularRefill","completeAcuteCareGeneralTreatment","generatedPaymentId","navigateByUrl","drugList","drug","base_price","openEditAddressForm","element","emailAddress","parseFloat","errors","errorStatus","errorDetails","existingPatientForm","getClientIp","tempFormJson","split","existingPatientSearch","existingPatientInfo","enrollDate","dateDiff","Math","abs","diffDays","ceil","ip","LoadFAQ","isArray","LoadConsent","fBuilder","_snackBar","formGroupProductCheckOutAddress","SetupInitialParameters","GetOtp","requiredFields","submitted","otpReceivedTime","isFormValid","every","field","openSnackBar","isOtpMessage","otpReceived","openOtpDialog","otpDialog","width","panelClass","onOtpDialogClose","SubmitOtp","otpValue","currentTime","otpValidDuration","timeElapsed","MakeSubscription","isOtpMismatch","openTnCDialog","TnCDialog","evt","SetupFormControls","group","ShippingDetailsFirstName","ShippingDetailsLastName","ShippingDetailsEmail","ShippingDetailsPhoneNo","ShippingDetailsShippingAddress1","ShippingDetailsShippingAddress2","ShippingDetailsShippingCity","ShippingDetailsShippingState","ShippingDetailsShippingCountry","ShippingDetailsZipcode","BillingDetailIsSameAsShippingAddress","BillingDetailsBillingAddress","BillingDetailsCity","BillingDetailsState","BillingDetailsZipcode","Promocode","declaration","requiredTrue","OtherDetails","acceptance","ReturnToSubscription","checkToggle","billingAddress","billingCity","billingState","billingZipCode","isBillingDetailsReadonly","shippingAddress1","shippingAddress2","shippingCity","shippingState","shippingZipCode","deliveryAddress1","deliveryCity","deliveryState","deliveryZipCode","otherDetails","SubcribeDetailModel","Action","ServiceTypeId","FirstName","LastName","Email","PhoneNo","ShippingAddress1","ShippingAddress2","ShippingCity","ShippingState","ShippingZipCode","DeliveryAddress1","DeliveryAddress2","DeliveryCity","DeliveryState","DeliveryZipCode","DeliveryAgencyId","DeliveryAgencyName","SubscriptionCheck","UerPaymentCount","ProceedToHomePage","_platformLocation","origin","ProceedToAutoShip","DisabledPayNowActions","action","currentSnackBarRef","dismiss","duration","afterDismissed","closeSnackBar","DisallowSpace","onFindAboutUsChange","isOtherSelected","reset","allowOnlyDigits","allowedKeys","applyPromocode","promocode","promoError","originalPrice","discount","discountedPrice","GetServiceSubscription","ServiceSubscriptionList","ServiceSubscriptionSelect","e","services","ServiceSubscriptionCharge","serviceSubscription","nonSelectedIdsOnly","serviceTypeId","selectedServiceSubscriptions","nonselectedServiceSubscription","selectedServiceSubscriptionIds","nonSelectedServiceSubscriptionIds","currentProductIndex","CheckOutServiceSubscription","CheckOutSupplement","selectedIds","DOCUMENT","UnsubscribeOnDestroyAdapter","renderer","elementRef","rightSidebarService","configService","languageService","userService","text","flag","userImg","userName","time","config","homePage","langStoreValue","val","listLang","countryName","flagvalue","defaultFlag","ngAfterViewInit","removeClass","addClass","callFullscreen","fullscreenElement","mozFullScreenElement","webkitFullscreenElement","msFullscreenElement","documentElement","requestFullscreen","msRequestFullscreen","mozRequestFullScreen","webkitRequestFullscreen","exitFullscreen","msExitFullscreen","mozCancelFullScreen","webkitExitFullscreen","mobileMenuSidebarOpen","className","hasClass","classList","contains","callSidemenuCollapse","toggleRightSidebar","subs","sink","sidebarState","isRunning","isOpenSidebar","setRightSidebar","features","setRightSidebarWindowHeight","selectedBgColor","isDarkSidebar","isDarTheme","setRTLSettings","setLTRSettings","selectTheme","prevTheme","querySelector","getAttribute","lightSidebarBtnClick","menuOption","darkSidebarBtnClick","lightThemeBtnClick","theme","darkThemeBtnClick","maxHeight","maxWidth","onClickedOutside","button","switchDirection","isrtl","String","hasAttribute","isRtl","closest","routerObj","currenturl","firstString","level1Menu","level2Menu","windowResizecall","setMenuHeight","checkStatuForResize","onGlobalClick","callLevel1Toggle","callLevel2Toggle","callLevel3Toggle","level3Menu","userAccessLevel","userMenuDetails","createNavMenu","sidebarItems","userFullName","initLeftSidebar","bodyTag","ngOnDestroy","unsubscribe","_this","headerHeight","listMaxHeight","listMaxWidth","isOpen","firstTime","innerWidth","mouseHover","mouseOut","menus","parentCode","menuCode","badge","badgeClass","class","groupTitle","icon","iconType","submenu","subMenu","hostBindings","SubSink","FormatterService","returnFormatedDate2","breakLength","newString","pure","MatNativeDateModule","NgxMaskModule","MatListModule","MatButtonToggleModule","MatSlideToggleModule","MatIconModule","MatButtonModule","MatDialogModule","NgApexchartsModule","MatPaginatorModule","MatSnackBarModule","MatFormFieldModule","MatSortModule","MatTabsModule","MatMenuModule","MatDatepickerModule","MatTableModule","MatSelectModule","MatCheckboxModule","MatInputModule","MatTooltipModule","MatRadioModule","DragDropModule","MatCardModule","MatProgressSpinnerModule","MatProgressBarModule","MatExpansionModule","MatAutocompleteModule","materialModules","MaterialModule","sanitized","bypassSecurityTrustHtml","FormsModule","ReactiveFormsModule","NgbModule","NgxSpinnerModule","NgMultiSelectDropDownModule","add","subscriptions","_subs","concat","subscription","sub","environment","production","apiUrl","enableProdMode","getBaseUrl","providers","__NgCli_bootstrap_1","bootstrapModule","catch","err"],"sourceRoot":"webpack:///","x_google_ignoreList":[]}