{"version":3,"sources":["./$_lazy_route_resource lazy namespace object","./src/app/ApiService/AppointmentService/appointment-service.service.ts","./src/app/ApiService/Booking/book-appointments-servies.service.ts","./src/app/ApiService/Booking/request-app.service.ts","./src/app/ApiService/Department/departments.service.ts","./src/app/ApiService/Doctors/doctors.service.ts","./src/app/ApiService/Sick/sick-notes.service.ts","./src/app/Modules/appointments/appointments.component.ts","./src/app/Modules/appointments/appointments.component.html","./src/app/Modules/book-appointments/book-appointments.component.ts","./src/app/Modules/book-appointments/book-appointments.component.html","./src/app/Modules/check-appointment-status/check-appointment-status.component.ts","./src/app/Modules/check-appointment-status/check-appointment-status.component.html","./src/app/Modules/cimar/cimar.component.ts","./src/app/Modules/cimar/cimar.component.html","./src/app/Modules/contact-us/contact-us.component.ts","./src/app/Modules/contact-us/contact-us.component.html","./src/app/Modules/deparments/deparments.component.ts","./src/app/Modules/deparments/deparments.component.html","./src/app/Modules/doctors/doctors.component.ts","./src/app/Modules/doctors/doctors.component.html","./src/app/Modules/home/home.component.ts","./src/app/Modules/home/home.component.html","./src/app/Modules/not-found/not-found.component.ts","./src/app/Modules/not-found/not-found.component.html","./src/app/Modules/request-appointment/request-appointment.component.ts","./src/app/Modules/request-appointment/request-appointment.component.html","./src/app/Navigation/footer/footer.component.ts","./src/app/Navigation/footer/footer.component.html","./src/app/Navigation/header/header.component.ts","./src/app/Navigation/header/header.component.html","./src/app/app-routing.module.ts","./src/app/app.component.ts","./src/app/app.component.html","./src/app/app.module.ts","./src/app/interceptors/auth.service.ts","./src/app/qappointment/qappointment.component.ts","./src/app/qappointment/qappointment.component.html","./src/app/seach-appointment/seach-appointment.component.ts","./src/app/seach-appointment/seach-appointment.component.html","./src/environments/environment.ts","./src/main.ts"],"names":[],"mappings":"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","file":"main-es2015.js","sourcesContent":["function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"./$$_lazy_route_resource lazy recursive\";","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { environment } from 'src/environments/environment';\r\n\r\nimport { Observable, throwError } from 'rxjs';\r\nimport { retry, catchError } from 'rxjs/operators';\r\n\r\ndeclare var $: any;\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AppointmentServiceService {\r\n\r\n constructor(private http: HttpClient) { }\r\n\r\n CheckAppointmentStatus(apptid, gpid) {\r\n return this.http.get(`${environment.apiUrl}/api/NoAuth/CheckAppointmentStatus?apptId=${apptid}&gpId=${gpid}`).pipe(\r\n // retry(1), \r\n catchError(this.handleError)\r\n );\r\n }\r\n GetServiceByTeamAndChannel(teamName, serviceName) {\r\n return this.http.get(`${environment.apiUrl}/api/OXDHService/GetServiceByTeamAndChannel?teamName=${teamName}&serviceName=${serviceName}`).pipe(\r\n // retry(1), \r\n catchError(this.handleError)\r\n );\r\n }\r\n GetServices() {\r\n return this.http.get(`${environment.apiUrl}/api/OXDHService/GetService`).pipe(\r\n // retry(1), \r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n GetOTP(data) {\r\n return this.http.post(`${environment.apiUrl}/api/NoAuth/CheckAndCreatePatient`, data).pipe(\r\n // retry(1), \r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n CreateAppointment(data) {\r\n return this.http.post(`${environment.apiUrl}/api/NoAuth/CreateTentativeAppointment`, data).pipe(\r\n // retry(1), \r\n catchError(this.handleError)\r\n );\r\n }\r\n DeletService(data) {\r\n return this.http.delete(`${environment.apiUrl}/api/OXDHService/DeleteServiceById?Id=${data}`, data).pipe(\r\n // retry(1), \r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n handleError(error) {\r\n\r\n //*************Show / hide loader *******************/\r\n $('#ftco-loader').removeClass('show');\r\n /**************************************** */\r\n let errorMessage = '';\r\n let errorMessageUi = '';\r\n if (error.error instanceof ErrorEvent) {\r\n // client-side error \r\n errorMessage = `Error: ${error.error.message}`;\r\n errorMessageUi = error.error.message;\r\n } else {\r\n // server-side error \r\n errorMessage = `Error Code: ${error.status}\\nMessage: ${error.message}`;\r\n if (error.error != undefined) {\r\n errorMessageUi = error.error.message\r\n }\r\n else {\r\n errorMessageUi = error.message\r\n }\r\n }\r\n // // Show error on hte Ui and Deirect to home\r\n // this.toastr.error(\"Error\", errorMessageUi);\r\n // this.router.navigate(['/']);\r\n\r\n return throwError(errorMessageUi);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { retry, catchError } from 'rxjs/operators';\r\nimport { environment } from '../../../environments/environment';\r\nimport { throwError } from 'rxjs';\r\ndeclare var $: any;\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class BookAppointmentsServiesService {\r\n\r\n constructor(private http: HttpClient) { }\r\n\r\n getAllServices() {\r\n return this.http.get(`${environment.apiUrl}/api/BookingService/GetService`).pipe(\r\n // retry(1), \r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n getAllServicesByEmail(email) {\r\n return this.http.get(`${environment.apiUrl}/api/BookingStaff/GetStaffServices?Email=${email}`).pipe(\r\n // retry(1), \r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n CheckPatientConsentStatus(userId:string) {\r\n return this.http.get(`${environment.apiUrl}/api/CrmUser/CheckConsent?userGuid=${userId}`).pipe(\r\n // retry(1), \r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n getDoctorsByServicId(ServiceId) {\r\n return this.http.get(`${environment.apiUrl}/api/BookingStaff/Get?Id=${ServiceId}`).pipe(\r\n // retry(1), \r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n getStaffAvailableTime(RequestObject) {\r\n return this.http.post(`${environment.apiUrl}/api/Shifts/GetStaffSlotsUsingShift`, RequestObject).pipe(\r\n // retry(1), \r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n paymentProcess(amount, stripeToken) {\r\n return this.http.post(`${environment.apiUrl}/api/Payment/Create`, { email: environment.LoginUserEmail, totalAmount: amount, token: stripeToken.id }).pipe(\r\n // retry(1), \r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n // createAppointment(Appointments) {\r\n // return this.http.post(`${environment.apiUrl}/api/BookingAppointment/Create`, Appointments).pipe(\r\n // // retry(1), \r\n // catchError(this.handleError)\r\n // );\r\n // }\r\n\r\n // createAppointment(Appointments) {\r\n // return this.http.post(`${environment.apiUrl}/api/BookingAppointment/CreateConfirmAppointment`, Appointments).pipe(\r\n // // retry(1), \r\n // catchError(this.handleError)\r\n // );\r\n // }\r\n createAppointment(Appointments) {\r\n return this.http.post(`${environment.apiUrl}/api/OXDHAppointments/CreateConfirmAppointment`, Appointments).pipe(\r\n // retry(1), \r\n catchError(this.handleError)\r\n );\r\n }\r\n createAppointmentWithScreening(screeningId,screeningActivityId,Appointments) {\r\n return this.http.post(`${environment.apiUrl}/api/OXDHAppointments/CreateConfirmAppointmentForScreening?screeningId=${screeningId}&screeningActivityId=${screeningActivityId}`, Appointments).pipe(\r\n // retry(1), \r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n\r\n\r\n\r\n CreatePatientInCRMAppointment(Data) {\r\n return this.http.post(`${environment.apiUrl}/api/CrmUser/CreatePatientForNhs`, Data).pipe(\r\n // retry(1), \r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n SendOTP(Otp,MobileNumber) { debugger\r\n return this.http.get(`${environment.apiUrl}/api/CrmUser/SendOTP?DataForSendSMS=${Otp}&MobileNumber=${MobileNumber}`).pipe(\r\n // retry(1), \r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n VerifyPatient(DOB,AppointmentNo) { debugger\r\n return this.http.get(`${environment.apiUrl}/api/CrmUser/VerifyPatientsByDOBAndAppointmentNo?DOB=${DOB}&AppointmentNo=${AppointmentNo}`).pipe(\r\n // retry(1), \r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n Updatethedateinactualstart(DOB,AppointmentNo) { debugger\r\n return this.http.get(`${environment.apiUrl}/api/CrmUser/UpdatetheCurrentTime?AppointmentNo=${AppointmentNo}&dob=${DOB}`).pipe(\r\n // retry(1), \r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n\r\n getAllDoctors() {\r\n return this.http.get(`${environment.apiUrl}/api/NoAuth/GetAllDoctors`).pipe(\r\n // retry(1), \r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n ChecKExistingPatient(Email,DOB) { debugger\r\n return this.http.get(`${environment.apiUrl}/api/CrmUser/GetPatientByEmailandDOB?email=${Email}&dob=${DOB}`).pipe(\r\n // retry(1), \r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n GetPatientDetails(ID) { debugger\r\n return this.http.get(`${environment.apiUrl}/api/CrmUser/Get?b2cId=${ID}`).pipe(\r\n // retry(1), \r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n getPatientDetailsById(PId) { debugger\r\n return this.http.post(`${environment.apiUrl}/api/CrmUser/GetPatientsById?patientId=${PId}`,\"\").pipe(\r\n // retry(1), \r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n GetStaffById(ID) { debugger\r\n return this.http.get(`${environment.apiUrl}/api/OXDHStaff/GetStaffById?Id=${ID}`).pipe(\r\n // retry(1), \r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n getServicesById(id) {\r\n return this.http.get(`${environment.apiUrl}/api/OXDHService/getServiceById?serviceId=${id}`).pipe(\r\n // retry(1), \r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n // verifyPatientDobById(patientId,DOB) { \r\n // debugger\r\n // return this.http.post(`${environment.apiUrl}/api/NoAuth/verifyPatientDobById?patientId=${patientId}&DOB=${DOB}`).pipe(\r\n // // retry(1), \r\n // catchError(this.handleError)\r\n // );\r\n // }\r\n\r\n verifyPatientDobById(patientId,DOB) {\r\n debugger;\r\n return this.http.post(`${environment.apiUrl}/api/NoAuth/verifyPatientDobById?patientId=${patientId}&DOB=${DOB}`,\"\").pipe(\r\n // retry(1), \r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n getAppointmentByAppNumber(appNumber) {\r\n return this.http.get(`${environment.apiUrl}/api/NoAuth/GetAppointmentByAppNumber?appNumber=${appNumber}`).pipe(\r\n // retry(1), \r\n catchError(this.handleError)\r\n );\r\n }\r\n \r\n handleError(error) {\r\n //*************Show / hide loader *******************/\r\n $('#ftco-loader').removeClass('show');\r\n /**************************************** */\r\n let errorMessage = '';\r\n let errorMessageUi = '';\r\n if (error.error instanceof ErrorEvent) {\r\n // client-side error \r\n errorMessage = `Error: ${error.error.message}`;\r\n errorMessageUi = error.error.message;\r\n } else {\r\n // server-side error \r\n errorMessage = `Error Code: ${error.status}\\nMessage: ${error.message}`;\r\n errorMessageUi = error.error.message\r\n }\r\n // // Show error on hte Ui and Deirect to home\r\n // this.toastr.error(\"Error\", errorMessageUi);\r\n // this.router.navigate(['/']);\r\n\r\n return throwError(errorMessageUi);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable, throwError } from 'rxjs';\r\nimport { retry, catchError } from 'rxjs/operators';\r\nimport { environment } from '../../../environments/environment';\r\ndeclare var $: any;\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class RequestAppService {\r\n\r\n constructor(private http: HttpClient) { }\r\n\r\n // Get Doctors for this api //\r\n\r\n getQuestionsByServiceId(servieId) {\r\n return this.http.get(`${environment.apiUrl}/api/BookingAppointment/GetQuestionsByServiceId?serviceId=${servieId}`).pipe(\r\n // retry(1), \r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n/**Create Appointment EMR */\r\naddAppiontmentERM(lobbyData){\r\n \r\n return this.http.post(`${environment.apiUrl}/api/CrmAppointment/CreateAppointmentEmr`,lobbyData).pipe(\r\n // retry(1), \r\n catchError(this.handleError)\r\n);\r\n}\r\n\r\n handleError(error) {\r\n \r\n //*************Show / hide loader *******************/\r\n $('#ftco-loader').removeClass('show');\r\n /**************************************** */\r\n let errorMessage = '';\r\n let errorMessageUi = '';\r\n if (error.error instanceof ErrorEvent) {\r\n // client-side error \r\n errorMessage = `Error: ${error.error.message}`;\r\n errorMessageUi = error.error.message;\r\n } else {\r\n // server-side error \r\n errorMessage = `Error Code: ${error.status}\\nMessage: ${error.message}`;\r\n errorMessageUi = error.error.message\r\n }\r\n // // Show error on hte Ui and Deirect to home\r\n // this.toastr.error(\"Error\", errorMessageUi);\r\n // this.router.navigate(['/']);\r\n\r\n return throwError(errorMessageUi);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable, throwError } from 'rxjs';\r\nimport { retry, catchError } from 'rxjs/operators';\r\nimport { environment } from '../../../environments/environment';\r\ndeclare var $: any;\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DepartmentsService {\r\n\r\n\r\n constructor(private http: HttpClient) { }\r\n\r\n // Get Doctors for this api //\r\n \r\n getDepartments() {\r\n\r\n return this.http.get(`${environment.apiUrl}/api/Departments/Get`).pipe(\r\n // retry(1), \r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n // Get Doctors for this api //\r\n getDoctorsdata() {\r\n\r\n return this.http.get(`${environment.apiUrl}/api/Doctor/Get`).pipe(\r\n // retry(1), \r\n catchError(this.handleError)\r\n );;\r\n }\r\n\r\n // Get Doctors for this api //\r\n getDepartmentsMembers(memberId) {\r\n return this.http.get(`${environment.apiUrl}/api/NoAuth/GetMembers?Id=${memberId}`).pipe(\r\n // retry(1), \r\n catchError(this.handleError)\r\n );\r\n }\r\n // Get Doctors for this api //\r\n getDepartmentsMembersProfile(DoctorId) {\r\n return this.http.get(`${environment.apiUrl}/api/Doctor/GetById?Id=${DoctorId}`).pipe(\r\n // retry(1), \r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n handleError(error) {\r\n \r\n //*************Show / hide loader *******************/\r\n $('#ftco-loader').removeClass('show');\r\n /**************************************** */\r\n let errorMessage = '';\r\n let errorMessageUi='';\r\n if (error.error instanceof ErrorEvent) {\r\n // client-side error \r\n errorMessage = `Error: ${error.error.message}`; \r\n errorMessageUi=error.error.message;\r\n } else {\r\n // server-side error \r\n errorMessage = `Error Code: ${error.status}\\nMessage: ${error.message}`;\r\n if(error.error!=undefined){\r\n errorMessageUi=error.error.message\r\n }\r\n else{\r\n errorMessageUi=error.message\r\n }\r\n }\r\n // // Show error on hte Ui and Deirect to home\r\n // this.toastr.error(\"Error\", errorMessageUi);\r\n // this.router.navigate(['/']);\r\n\r\n return throwError(errorMessageUi);\r\n }\r\n\r\n}\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable, throwError } from 'rxjs';\r\nimport { retry, catchError } from 'rxjs/operators';\r\nimport { environment } from '../../../environments/environment';\r\ndeclare var $: any;\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DoctorsService {\r\n\r\n constructor(private http: HttpClient) { }\r\n\r\n // Get Doctors for this api //\r\n getDoctorsdata() {\r\n return this.http.get(`${environment.apiUrl}/api/Doctor/Get`).pipe(\r\n // retry(1), \r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n getDoctorDetailById(DoctorId) {\r\n return this.http.get(`${environment.apiUrl}/api/Doctor/GetById?Id=${DoctorId}`).pipe(\r\n // retry(1), \r\n catchError(this.handleError),\r\n );\r\n }\r\n\r\n getDoctorDetailSharePoint(DoctorId) {\r\n return this.http.get(`${environment.apiUrl}/api/Doctor/GetSharePoint?userId=${DoctorId}`).pipe(\r\n catchError(this.handleError),\r\n );\r\n }\r\n\r\n handleError(error) {\r\n \r\n //*************Show / hide loader *******************/\r\n $('#ftco-loader').removeClass('show');\r\n /**************************************** */\r\n let errorMessage = '';\r\n let errorMessageUi = '';\r\n if (error.error instanceof ErrorEvent) {\r\n // client-side error \r\n errorMessage = `Error: ${error.error.message}`;\r\n errorMessageUi = error.error.message;\r\n } else {\r\n // server-side error \r\n errorMessage = `Error Code: ${error.status}\\nMessage: ${error.message}`;\r\n errorMessageUi = error.error.message\r\n }\r\n return throwError(errorMessageUi);\r\n }\r\n}\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { environment } from 'src/environments/environment';\r\nimport { Observable, throwError } from 'rxjs';\r\nimport { retry, catchError } from 'rxjs/operators';\r\ndeclare var $: any;\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SickNotesService {\r\n\r\n constructor(private http: HttpClient) { }\r\n\r\n \r\n getSickNotes(ID) {\r\n \r\n return this.http.get(`${environment.apiUrl}/api/SickNotes/GetSickNotesByPatientId?Id=${ID}`).pipe(\r\n // retry(1), \r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n createSickNotes(SickNotes, userId) {\r\n \r\n return this.http.post(`${environment.apiUrl}/api/SickNotes/CreateSickNotes?userId=${userId}`, SickNotes).pipe(\r\n \r\n // retry(1), \r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n deleteSickNotes(ID) {\r\n \r\n return this.http.delete(`${environment.apiUrl}/api/SickNotes/DeleteSickNote?Id=${ID}`).pipe(\r\n // retry(1), \r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n updateSickNotes(SickNotesAll, userId) {\r\n \r\n return this.http.post(`${environment.apiUrl}/api/SickNotes/UpdateSickNotes?userId=${userId}`, SickNotesAll).pipe(\r\n // retry(1),SickNotesAll\r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n\r\n getProxyDetails(ID) {\r\n \r\n return this.http.get(`${environment.apiUrl}/api/CrmUser/GetAllRelatedPerson?patient_Id=${ID}`).pipe(\r\n // retry(1), \r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n\r\n Getsharepointpdf(URL) {\r\n debugger\r\n return this.http.get(`${environment.apiUrl}/api/SharepointFiles/DownloadFile?retrivalURL=/bcrm_sicknote${URL}` , {responseType: 'arraybuffer'}).pipe(\r\n // retry(1), \r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n \r\n\r\n handleError(error) {\r\n \r\n //*************Show / hide loader *******************/\r\n $('#ftco-loader').removeClass('show');\r\n /**************************************** */\r\n let errorMessage = '';\r\n let errorMessageUi='';\r\n if (error.error instanceof ErrorEvent) {\r\n // client-side error \r\n errorMessage = `Error: ${error.error.message}`; \r\n errorMessageUi=error.error.message;\r\n } else {\r\n // server-side error \r\n errorMessage = `Error Code: ${error.status}\\nMessage: ${error.message}`;\r\n if(error.error!=undefined){\r\n errorMessageUi=error.error.message\r\n }\r\n else{\r\n errorMessageUi=error.message\r\n }\r\n }\r\n // // Show error on hte Ui and Deirect to home\r\n // this.toastr.error(\"Error\", errorMessageUi);\r\n // this.router.navigate(['/']);\r\n\r\n return throwError(errorMessageUi);\r\n }\r\n\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, Router } from \"@angular/router\"\r\nimport { FormsModule } from '@angular/forms'\r\nimport { NgForm } from '@angular/forms';\r\nimport { environment } from '../../../environments/environment';\r\nimport { HeaderComponent } from 'src/app/Navigation/header/header.component';\r\nimport { BookAppointmentsServiesService } from 'src/app/ApiService/Booking/book-appointments-servies.service';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { RequestAppService } from 'src/app/ApiService/Booking/request-app.service';\r\nimport { SickNotesService } from 'src/app/ApiService/Sick/sick-notes.service';\r\nimport { Ng2TelInputModule } from 'ng2-tel-input';\r\nimport Swal from 'sweetalert2';\r\ndeclare var $: any;\r\n@Component({\r\n selector: 'app-appointments',\r\n templateUrl: './appointments.component.html',\r\n styleUrls: ['./appointments.component.css'],\r\n providers:[HeaderComponent]\r\n})\r\nexport class AppointmentsComponent implements OnInit {\r\n //#region Global Variables\r\n Token: string; today: Date; allServices: any; selectedServiceDoctors: any; isServicSelected: boolean = false; IsTimeSlotArray: boolean = false; isLoggedIn: any;\r\n Dom_serviceName: string; Dom_serviceDurationInMins: Number; Dom_serviceId: string; Dom_staffId: string; Dom_StaffName: string; Dom_staffEmailAddress: string;\r\n Dom_price: string; startDate: string; endDate: string; Phone: string; Address: string; City: string; State: string; Country: string; Subject: string;\r\n Notes: string; userEmail: string = environment.LoginUserEmail; userMobile: string = \"+44\"; userName: string = environment.LoginUserfullName; handler: any = null; TimeSlotArray: object;\r\n lastAppointmentComments: string; Questions: any; allDoctors: any; ServiceName: string; DoctorFullName: string; patient_Name: string; patient_Email: string; patient_MobilePhone: string;\r\n Comment: string; bcrm_anythingnew: string; RequestAppointmentsData: object; dialcode: string; inputObj: any; email: string;\r\n searchText: string; btnshow: boolean; preferredcontactmethod: any ; ProxyData:any; GuardianValue: boolean = false; userMainname:any; userMainId:any; bcrm_patientguardianvalue:any;\r\n QNA:any; FirstName:any; LastName:any; NHSNumber:any; PatientDOB:any; RandomNumber:any; VerifyOTP:any; OtpVerified: boolean = false;\r\n SelectedDoctor: any;\r\n Dom_serviceIdChecked: boolean = false;\r\n SelectedDoctorChecked: boolean = false;;\r\n preferredcontactmethodValue: any ; \r\n ParticularClinicianData:any;\r\n ServicesData:any;\r\n allDoctorsData:any=[];\r\n SERVICEID:any;\r\n SERVICENAME:any;\r\n ServiceAlltheData={};\r\n //#endregion\r\n\r\n constructor(private router: Router,\r\n public BookServies: BookAppointmentsServiesService,\r\n private toastr: ToastrService,\r\n private activatedRoute: ActivatedRoute,\r\n private headerComponent: HeaderComponent,\r\n public requestserive: RequestAppService,\r\n private sickNotesService: SickNotesService,\r\n private intlObj: Ng2TelInputModule,) {\r\n /******Active Current Component Nav****** */\r\n $(\".nav-item\").removeClass(\"active\");\r\n $(\"#nav-item-Appointment\").addClass(\"active\");\r\n /******End:Active Current Component Nav****** */\r\n }\r\n\r\n \r\n //#region Ng-On Init\r\n ngOnInit(): void {\r\ndebugger\r\n this.ParticularClinicianData = history.state.ClinicianDetail;\r\n this.SERVICEID = history.state.ServiceIDDetails;\r\n this.SERVICENAME = history.state.ServiceNameDetails;\r\n this.DoctorFullName = this.ParticularClinicianData.DisplayName;\r\n\r\n this.ServiceAlltheData ={\r\n displayName:this.SERVICENAME,\r\n id:this.SERVICEID,\r\n }\r\n this.getDoctorsList(this.SERVICEID);\r\n\r\n // this.GetServiceByDoctorEmail();\r\n\r\n $(`#Doctors`).hide();\r\n environment.LoginUserfullName = \"\";\r\n debugger\r\n this.userMainname = environment.LoginUserfullName;\r\n this.userMainId = environment.LoginUserId;\r\n this.bcrm_patientguardianvalue = environment.LoginUserId;\r\n // this.loadStripe();\r\n var localThis = this;\r\n var date = new Date();\r\n localThis.today = new Date(date.getFullYear(), date.getMonth(), date.getDate());\r\n\r\n //this.getAllProxy();\r\n\r\n //#region Document ready Function\r\n $(document).ready(function () {\r\n $(\".selectbtn\").show();\r\n\r\n });\r\n\r\n \r\n $(\"#Services1\").click(function () {debugger\r\n $(\"#your-image1\").attr(\"src\", \"../../../assets/images/doctor.png\");\r\n $(\"#your-image\").attr(\"src\", \"../../../assets/images/serviceactive.png\");\r\n })\r\n\r\n $(\"#Doctors\").click(function () {\r\n $(\"#your-image1\").attr(\"src\", \"../../../assets/images/doctorfinal.png\");\r\n $(\"#your-image2\").attr(\"src\", \"../../../assets/images/questionactive.png\");\r\n })\r\n\r\n $(\"#Doctors1\").click(function () {debugger\r\n $(\"#your-image1\").attr(\"src\", \"../../../assets/images/doctoractive.png\");\r\n $(\"#your-image2\").attr(\"src\", \"../../../assets/images/question.png\");\r\n })\r\n $(\"#Questions\").click(function () {debugger\r\n $(\"#your-image2\").attr(\"src\", \"../../../assets/images/questionfinal.png\");\r\n $(\"#your-image3\").attr(\"src\", \"../../../assets/images/detailactive.png\");\r\n })\r\n $(\"#Questions1\").click(function () {debugger\r\n $(\"#your-image2\").attr(\"src\", \"../../../assets/images/questionactive.png\");\r\n $(\"#your-image3\").attr(\"src\", \"../../../assets/images/details.png\");\r\n })\r\n $(\"#Details\").click(function () {debugger\r\n $(\"#your-image3\").attr(\"src\", \"../../../assets/images/detailfinal.png\");\r\n $(\"#your-image4\").attr(\"src\", \"../../../assets/images/summaryactive.png\");\r\n })\r\n $(\"#Details1\").click(function () {debugger\r\n $(\"#your-image3\").attr(\"src\", \"../../../assets/images/detailactive.png\");\r\n $(\"#your-image4\").attr(\"src\", \"../../../assets/images/summary.png\");\r\n })\r\n $(\"#Deta\").click(function () {debugger\r\n $(\"#your-image3\").attr(\"src\", \"../../../assets/images/detailfinal.png\");\r\n $(\"#your-image4\").attr(\"src\", \"../../../assets/images/summaryactive.png\");\r\n })\r\n $(\"#Detarev\").click(function () {debugger\r\n $(\"#your-image3\").attr(\"src\", \"../../../assets/images/detailfinal.png\");\r\n $(\"#your-image4\").attr(\"src\", \"../../../assets/images/summaryactive.png\");\r\n })\r\n //#endregion\r\n\r\n //#region Step Wizard Metodes\r\n $(document).ready(function () {\r\n debugger\r\n var current_fs, next_fs, previous_fs; //fieldsets\r\n var opacity;\r\n\r\n $(\".next1\").click(function () {\r\ndebugger\r\n current_fs = $(this).parent();\r\n next_fs = $(this).parent().next();\r\n\r\n this.FirstName = $(\"#FirstName\").val()\r\n this.LastName = $(\"#LastName\").val()\r\n this.userEmail = $(\"#Email\").val()\r\n this.PatientDOB = $(\"#PatientDOB\").val()\r\n this.userMobile = $(\"#Phone\").val()\r\n\r\n if (this.FirstName == \"\" || this.LastName == \"\" || this.userEmail == \"\" || this.PatientDOB == \"\" || this.userMobile == \"\") {\r\n return false;\r\n }\r\n \r\n if (($('#your-image1').attr('src') == \"../../../assets/images/doctoractive.png\") && localThis.startDate == undefined) {\r\n return localThis.toastr.error(\"Please select a time slot for appointment\");\r\n\r\n }\r\n if ($(\"#basic-information\").hasClass(\"active\") && !validateForm()) return false;\r\n //Add Class Active\r\n $(\"#progressbar li\").eq($(\"fieldset\").index(next_fs)).addClass(\"active\");\r\n\r\n //show the next fieldset\r\n next_fs.show();\r\n //hide the current fieldset with style\r\n current_fs.animate({ opacity: 0 }, {\r\n step: function (now) {\r\n // for making fielset appear animation\r\n opacity = 1 - now;\r\n\r\n current_fs.css({\r\n 'display': 'none',\r\n 'position': 'relative'\r\n });\r\n next_fs.css({ 'opacity': opacity });\r\n },\r\n duration: 600\r\n });\r\n });\r\n\r\n $(\".previous\").click(function () {\r\ndebugger\r\n current_fs = $(this).parent();\r\n previous_fs = $(this).parent().prev();\r\n\r\n //Remove class active\r\n $(\"#progressbar li\").eq($(\"fieldset\").index(current_fs)).removeClass(\"active\");\r\n\r\n //show the previous fieldset\r\n previous_fs.show();\r\n\r\n //hide the current fieldset with style\r\n current_fs.animate({ opacity: 0 }, {\r\n step: function (now) {\r\n // for making fielset appear animation\r\n opacity = 1 - now;\r\n\r\n current_fs.css({\r\n 'display': 'none',\r\n 'position': 'relative'\r\n });\r\n previous_fs.css({ 'opacity': opacity });\r\n },\r\n duration: 600\r\n });\r\n });\r\n $('.radio-group .radio').click(function () {\r\n\r\n $(this).parent().find('.radio').removeClass('selected');\r\n $(this).addClass('selected');\r\n });\r\n var currentTab = 0;\r\n function validateForm() {\r\n\r\n // This function deals with validation of the form fields\r\n var x, y, z, i, valid = true;\r\n x = document.getElementsByClassName(\"basic-information\");\r\n y = x[currentTab].getElementsByTagName(\"input\");\r\n z = x[currentTab].getElementsByTagName(\"textarea\");\r\n // A loop that checks every input field in the current tab:\r\n for (i = 0; i < y.length; i++) {\r\n // If a field is empty...\r\n if (y[i].value == \"\") {\r\n // add an \"invalid\" class to the field:\r\n y[i].className += \" invalid\";\r\n // and set the current valid status to false\r\n valid = false;\r\n }\r\n }\r\n for (i = 0; i < z.length; i++) {\r\n // If a field is empty...\r\n if (z[i].value == \"\") {\r\n // add an \"invalid\" class to the field:\r\n z[i].className += \" invalid\";\r\n // and set the current valid status to false\r\n valid = false;\r\n }\r\n }\r\n return valid; // return the valid status\r\n }\r\n $(\".submit\").click(function () {\r\n\r\n return false;\r\n })\r\n\r\n });\r\n //#endregion\r\n\r\n //#region Check Email in Params\r\n this.email = this.activatedRoute.snapshot.paramMap.get('userName');\r\n $('#ftco-loader').addClass('show');\r\n //#endregion\r\n\r\n //#region Get the Serivice Details\r\n\r\n if (this.email != \"\" && this.email != null) {\r\n this.BookServies.getAllServicesByEmail(this.email).subscribe((res) => {\r\n debugger;\r\n if (res != null) {\r\n $(\"#Phone\").val(this.userMobile)\r\n let ServicesDataList = res['value'];\r\n if (ServicesDataList != null) {\r\n /**Formate The Time Hour and Min */\r\n ServicesDataList.forEach(function (value) {\r\n\r\n var duration = value.defaultDuration;\r\n var defaultDuration = duration.match(/\\d+/g).join(\".\");\r\n\r\n if (duration.match(/[a-zA-Z]+/g)[1] === \"M\") {\r\n defaultDuration = defaultDuration + \" Mins\";\r\n }\r\n else if (duration.match(/[a-zA-Z]+/g)[1] === \"H\") {\r\n if (defaultDuration.split(\".\").length > 1) {\r\n defaultDuration = (Number(defaultDuration.split(\".\")[0]) * 60) + (Number(defaultDuration.split(\".\")[1])) + \" Mins\"\r\n }\r\n else {\r\n defaultDuration = defaultDuration + \" Hour\";\r\n }\r\n\r\n }\r\n value.defaultDuration = defaultDuration;\r\n });\r\n this.allServices = ServicesDataList;\r\n }\r\n\r\n }\r\n //*************Show / hide loader *******************/\r\n $('#ftco-loader').removeClass('show');\r\n /**************************************** */\r\n }, (err) => {\r\n //*************Show / hide loader *******************/\r\n $('#ftco-loader').removeClass('show');\r\n /****************** -------- **********************/\r\n this.toastr.error(err, \"Error : \");\r\n this.router.navigate(['/']);\r\n });\r\n }\r\n else {\r\n this.BookServies.getAllServices().subscribe((res) => {\r\n if (res != null) {\r\n\r\n $('#ftco-loader').addClass('show');\r\n $(\"#Phone\").val(this.userMobile)\r\n let ServicesDataList = res['value'];\r\n if (ServicesDataList != null) {\r\n /**Formate The Time Hour and Min */\r\n ServicesDataList.forEach(function (value) {\r\n\r\n var duration = value.defaultDuration;\r\n var defaultDuration = duration.match(/\\d+/g).join(\".\");\r\n\r\n if (duration.match(/[a-zA-Z]+/g)[1] === \"M\") {\r\n defaultDuration = defaultDuration + \" Mins\";\r\n }\r\n else if (duration.match(/[a-zA-Z]+/g)[1] === \"H\") {\r\n if (defaultDuration.split(\".\").length > 1) {\r\n defaultDuration = (Number(defaultDuration.split(\".\")[0]) * 60) + (Number(defaultDuration.split(\".\")[1])) + \" Mins\"\r\n }\r\n else {\r\n defaultDuration = defaultDuration + \" Hour\";\r\n }\r\n\r\n }\r\n value.defaultDuration = defaultDuration;\r\n });\r\n this.allServices = ServicesDataList;\r\n }\r\n\r\n }\r\n //*************Show / hide loader *******************/\r\n $('#ftco-loader').removeClass('show');\r\n /**************************************** */\r\n }, (err) => {\r\n //*************Show / hide loader *******************/\r\n $('#ftco-loader').removeClass('show');\r\n /****************** -------- **********************/\r\n this.toastr.error(err, \"Error : \");\r\n this.router.navigate(['/']);\r\n });\r\n }\r\n //#endregion\r\n\r\n //#region Load Date picker\r\n $('#datepicker').datepicker({\r\n autoclose: true,\r\n startDate: \"+0d\",\r\n // daysOfWeekDisabled: [6, 0],\r\n todayHighlight: true,\r\n minDate: new Date()\r\n });\r\n //#endregion\r\n\r\n //#region Set Todays Date\r\n // if Today is Sunday Then Set Moday's Date:pandint\r\n $('#datepicker').datepicker('setDate', localThis.today);\r\n //#endregion\r\n\r\n //#region Function On-Change Of Date\r\n $('#datepicker').on('changeDate', function () {\r\n if ($('#datepicker').datepicker('getFormattedDate') == \"\") {\r\n $('#datepicker').datepicker('setDate', localThis.today);\r\n } else {\r\n localThis.today = $('#datepicker').datepicker('getFormattedDate');\r\n localThis.TimeSlotArray = [];\r\n localThis.IsTimeSlotArray = false;\r\n localThis.startDate = null;\r\n if (localThis.Dom_serviceId != null && localThis.Dom_serviceId != \"\" && localThis.Dom_serviceId != undefined) {\r\n localThis.getDoctorsList(localThis.Dom_serviceId);\r\n }\r\n }\r\n });\r\n //#endregion\r\n }\r\n //#endregion \r\n\r\n //#region function for set flag in phonecode\r\n telInputObject(obj, val) {\r\n debugger\r\n this.inputObj = obj;\r\n if (val) {\r\n obj.setNumber(this.userMobile);\r\n }\r\n }\r\n\r\n\r\n GetServiceByDoctorEmail(): void {\r\n debugger;\r\n /**********************************Data assign********************* */\r\n this.BookServies.getAllServicesByEmail(this.ParticularClinicianData.Mail).subscribe((res) => {\r\n debugger;\r\n if (res) {\r\n this.ServicesData = res[\"value\"];\r\n this.ServiceName = this.ServicesData[0].displayName;\r\n }\r\n else {\r\n return \r\n }\r\n }, (err) => {\r\n //*************Show / hide loader *******************/\r\n $('#ftco-loader').removeClass('show');\r\n /****************** -------- **********************/\r\n this.toastr.info(err, \"Error : \");\r\n // this.router.navigate(['/']);\r\n });\r\n }\r\n\r\n\r\n\r\n //#endregion\r\n\r\n //#region On change on Servies Seletion\r\n getDoctorsListByService(serviceData): void {\r\n debugger;\r\n /**********************************Data assign********************* */\r\n this.Dom_serviceName = serviceData.displayName;\r\n this.Dom_serviceId = serviceData.id;\r\n this.Dom_serviceIdChecked = true;\r\n // $(`.selectbtn`).show();\r\n // $(`#${serviceData.id}_selectbtn`).hide();\r\n // let spiltTime = serviceData.defaultDuration.split(\" \");\r\n // if (spiltTime.length > 0) {\r\n\r\n // this.Dom_serviceDurationInMins = spiltTime[1] == \"Mins\" ? Number(spiltTime[0]) : Number(spiltTime[0]) * 60;\r\n // }\r\n // this.Dom_price = serviceData.defaultPrice\r\n /**------------------Alert And Add active class--------------- */\r\n // this.toastr.info(\"you have selected\", serviceData.displayName);\r\n $(\".card\").removeClass(\"actives\");\r\n $(`#${serviceData.id}_card`).addClass(\"actives\");\r\n this.BookServies.CheckPatientConsentStatus(environment.LoginUserId).subscribe((res) => {\r\n debugger;\r\n if (res) {\r\n // $(\"#Services\").click(function () {\r\n // $(\"#your-image\").attr(\"src\", \"../../../assets/images/servicefinal.png\");\r\n // $(\"#your-image1\").attr(\"src\", \"../../../assets/images/doctoractive.png\");\r\n // })\r\n }\r\n else {\r\n return \r\n //this.toastr.warning(\"\", \"We do not have your signed consent. These are normally reviewed and approved daily. If you think your consents should have already been processed please email contact@oxvc.health\");\r\n }\r\n }, (err) => {\r\n //*************Show / hide loader *******************/\r\n $('#ftco-loader').removeClass('show');\r\n /****************** -------- **********************/\r\n this.toastr.info(err, \"Error : \");\r\n // this.router.navigate(['/']);\r\n });\r\n // $(\"#coloractive1\").addClass(\"activesfont\");\r\n // $(\"#coloractive2\").addClass(\"activesfont\");\r\n /** ------------Call Get Doctors Api As pr the Selected Servies*------------------ */\r\n this.getDoctorsList(serviceData.id);\r\n this.onServiceQuestions(serviceData.id);\r\n\r\n\r\n }\r\n //#endregion\r\n\r\n //#region Get All Doctor List \r\n getDoctorsList(serviceId): void {\r\n debugger;\r\n //*************Show / hide loader *******************/\r\n $('#ftco-loader').addClass('show');\r\n /**************************************** */\r\n /**---------- null the Object------------- */\r\n this.Dom_staffId = \"\";\r\n this.selectedServiceDoctors = [];\r\n this.IsTimeSlotArray = false;\r\n this.BookServies.getDoctorsByServicId(serviceId).subscribe((res) => {\r\n\r\n var Doc_filter_list = []\r\n var SelectedDateFilter = new Date($('#datepicker').datepicker('getFormattedDate'));\r\n var selectedDay = SelectedDateFilter.getDay() == 0 ? 6 : SelectedDateFilter.getDay() - 1;\r\n $.each(res, function (index, value) {\r\n\r\n if (value.WorkingHours[selectedDay].TimeSlots.length > 0) {\r\n Doc_filter_list.push(value);\r\n }\r\n });\r\n this.selectedServiceDoctors = Doc_filter_list;\r\n if (Doc_filter_list.length > 0) {\r\n if (this.email != null) {\r\n var DoctorData = Doc_filter_list.find(x => x['EmailAddress'].toLowerCase() == this.email.toLowerCase());\r\n this.Dom_staffId = DoctorData.Id;\r\n this.onDoctorChange(this.Dom_staffId);\r\n }\r\n }\r\n else {\r\n this.toastr.info(\"No Doctor avaliable for this selected service\")\r\n }\r\n this.isServicSelected = true;\r\n //*************Show / hide loader *******************/\r\n $('#ftco-loader').removeClass('show');\r\n /**************************************** */\r\n }, (err) => {\r\n //*************Show / hide loader *******************/\r\n $('#ftco-loader').removeClass('show');\r\n /****************** -------- **********************/\r\n this.toastr.error(err, \"Error : \");\r\n // this.router.navigate(['/']);\r\n });\r\n }\r\n //#endregion\r\n\r\n //#region On change on Doctore Seletion\r\n onDoctorChange(event): void {\r\n\r\n this.SelectedDoctor = event;\r\n if(event != \"\"){\r\n this.SelectedDoctorChecked = true;\r\n }\r\n \r\n\r\n if (event != \"\" && event != \"2\") {\r\n debugger;\r\n //*************Show / hide loader *******************/\r\n $('#ftco-loader').addClass('show');\r\n /***************************************************/\r\n\r\n if(event)\r\n\r\n var SelectedDoctorData = this.selectedServiceDoctors.find(x => x['Id'] == event);\r\n /**\r\n * Set Data Glo\r\n */\r\n this.Dom_staffId = SelectedDoctorData.Id;\r\n this.Dom_StaffName = SelectedDoctorData.DisplayName;\r\n this.Dom_staffEmailAddress = SelectedDoctorData.EmailAddress;\r\n /**\r\n * parsing Data\r\n */\r\n var SelectDate = new Date($('#datepicker').datepicker('getFormattedDate'));\r\n SelectDate = new Date(SelectDate.setHours(23, 59, 59))\r\n var wokingDay = SelectDate.getDay() - 1 < 0 ? 6 : SelectDate.getDay() - 1;\r\n var getWorkingHours = SelectedDoctorData.WorkingHours[wokingDay];\r\n /**\r\n * Creating Object To send \r\n */\r\n\r\n if (getWorkingHours.TimeSlots.length > 0) {\r\n /**\r\n * Get Working time of Docotor and combain the selected date with docotr Working Hour \r\n */\r\n let selectedDate = SelectDate.toISOString();\r\n let startTime = selectedDate.split(\"T\")[0] + \"T\" + getWorkingHours.TimeSlots[0].Start.split(\"T\")[1];\r\n let endTime = selectedDate.split(\"T\")[0] + \"T\" + getWorkingHours.TimeSlots[0].End.split(\"T\")[1];\r\n\r\n const timeSlotRequest = {\r\n staffEmail: this.Dom_staffEmailAddress,\r\n selectedDate: selectedDate,\r\n startTime: startTime,\r\n endTime: endTime,\r\n meetingTimeDuration: this.Dom_serviceDurationInMins\r\n }\r\n\r\n this.BookServies.getStaffAvailableTime(timeSlotRequest).subscribe((res) => {\r\n\r\n if (res) {\r\n this.TimeSlotArray = res;\r\n this.IsTimeSlotArray = true;\r\n\r\n //*************Show / hide loader *******************/\r\n $('#ftco-loader').removeClass('show');\r\n /***************** *********************** */\r\n }\r\n }, (err) => {\r\n //*************Show / hide loader *******************/\r\n $('#ftco-loader').removeClass('show');\r\n /****************** -------- **********************/\r\n this.toastr.error(err, \"Error : \");\r\n //this.router.navigate(['/']);\r\n });\r\n }\r\n else {\r\n this.toastr.warning(\"No Doctor avaliable for this selected service\");\r\n this.getDoctorsList(this.Dom_serviceId);\r\n }\r\n }\r\n else {\r\n this.TimeSlotArray = [];\r\n this.IsTimeSlotArray = false;\r\n this.Dom_staffId = \"\";\r\n this.Dom_StaffName = \"\";\r\n this.Dom_staffEmailAddress = \"\";\r\n }\r\n }\r\n //#endregion\r\n\r\n //#region On the Select of time\r\n onTimeSelect(TimeEventDomObject, Time): void {\r\n debugger;\r\n var localThis = this;\r\n //*************Show / hide loader *******************/\r\n $('#ftco-loader').removeClass('show');\r\n /**************************************** */\r\n\r\n $(\".TimeSlot\").removeClass(\"slotactive\")\r\n TimeEventDomObject.srcElement.classList.add(\"slotactive\");\r\n //this.formattedDateTime(new Date($('#datepicker').datepicker('getFormattedDate')), TimeEventDomObject.target.innerHTML)\r\n localThis.startDate = Time;\r\n\r\n var Ddtate = new Date(Time);\r\n var EdDate = new Date(Ddtate.setHours(Ddtate.getHours() + 1))\r\n this.endDate = EdDate.toISOString();\r\n $(\"#Doctors\").click(function () {\r\n $(\"#your-image1\").attr(\"src\", \"../../../assets/images/doctorfinal.png\");\r\n $(\"#your-image2\").attr(\"src\", \"../../../assets/images/questionactive.png\");\r\n })\r\n //*************Show / hide loader *******************/\r\n $('#ftco-loader').removeClass('show');\r\n /**************************************** */\r\n }\r\n //#endregion\r\n\r\n //#region on Change service Data\r\n onServiceQuestions(serviceId): void {\r\n debugger;\r\n //*************Show / hide loader *******************/\r\n //$('#ftco-loader').addClass('show');\r\n /**************************************** */\r\n this.Questions = [];\r\n this.requestserive.getQuestionsByServiceId(serviceId).subscribe((res) => {\r\n\r\n this.Questions = res;\r\n $(\"#Phone\").val(this.userMobile)\r\n //*************Show / hide loader *******************/\r\n $('#ftco-loader').removeClass('show');\r\n /**************************************** */\r\n }, (err) => {\r\n //*************Show / hide loader *******************/\r\n $('#ftco-loader').removeClass('show');\r\n /****************** -------- **********************/\r\n this.toastr.error(err, \"Error : \");\r\n // this.router.navigate(['/']);\r\n });\r\n }\r\n //#endregion\r\n\r\n //#region on Country Change\r\n onCountryChange($event) {\r\n this.dialcode = $event.dialCode;\r\n }\r\n //#endregion\r\n\r\n //#region Show the Service Details on the Model Pop up\r\n showInfoInPopUp(serviceData: any): void {\r\n $(\"#servicedisplayName\").html(serviceData.displayName);\r\n $(\"#servicedescription\").html(serviceData.description);\r\n $(\"#servicesdefaultPrice\").html(serviceData.defaultPrice);\r\n $(\"#servicesdefaultDuration\").html(serviceData.defaultDuration);\r\n $(\"#servicesstaffMemberIdslength\").html(serviceData.staffMemberIds.length + \" Specialists\");\r\n $('#showServiceDetails').modal('show');\r\n }\r\n //#endregion\r\n\r\n // preferred contact\r\n getpreferrredContact(value) {\r\n debugger;\r\n this.preferredcontactmethod = value\r\n if(this.preferredcontactmethod == \"1\"){\r\n this.preferredcontactmethodValue = \"Telephone\"\r\n }\r\n\r\n else if(this.preferredcontactmethod == \"2\"){\r\n this.preferredcontactmethodValue = \"Video\"\r\n } \r\n\r\n else if(this.preferredcontactmethod == \"3\"){\r\n this.preferredcontactmethodValue = \"FaceToFace\"\r\n }\r\n }\r\n //#region On Submit Funtion \r\n onSubmit(appointment: NgForm): void {\r\n debugger;\r\n let isFundedOPtionValue = $(\"#isFunded\").find('option:selected').val();\r\n let requestObj = appointment.value;\r\n /**PArsing Questions */\r\n let Questions_AnsList = [];\r\n\r\n $.each(this.Questions, function (index, value) {\r\n\r\n let dataToPush = {\r\n id: value[\"Id\"],\r\n question: value[\"Name\"],\r\n answer: $(\"#\" + value[\"Id\"]).val()\r\n }\r\n Questions_AnsList.push(dataToPush);\r\n });\r\n\r\n var phone = $(\"#Phone\").val();\r\n if (phone != \"\") {\r\n this.Phone = phone;\r\n }\r\n\r\n let localTime = this.DateToLocalString(new Date(this.startDate));\r\n\r\n let RequestAppointmentsDataToPost = {\r\n /**Basic Details */\r\n contactid: environment.LoginUserId,\r\n name: this.userName,\r\n email: this.userEmail,\r\n phone: this.Phone,\r\n staffId: this.Dom_staffId,\r\n StaffName: this.Dom_StaffName,\r\n staffEmailAddress: this.Dom_staffEmailAddress,\r\n serviceId: this.Dom_serviceId,\r\n serviceName: this.Dom_serviceName,\r\n price: this.Dom_price,\r\n street: null,\r\n city: null,\r\n state: null,\r\n country: null,\r\n postalCode: null,\r\n notes: this.Notes,\r\n subject: this.Subject,\r\n //subject : Questions_AnsList[0]?.answer,\r\n startDate: this.startDate,\r\n endDate: this.endDate,\r\n needOnlineMeeting: true,\r\n localTimeString: localTime,\r\n lastAppointmentComments: this.lastAppointmentComments,\r\n isPrivateNhs: isFundedOPtionValue,\r\n bcrm_preferredcontactmethod: this.preferredcontactmethod,\r\n /**Question Json */\r\n bcrm_customerresponse: JSON.stringify(Questions_AnsList),\r\n relatedPersonCollection: [{\r\n id: environment.LoginUserId,\r\n Name: this.userName,\r\n Email: this.userEmail,\r\n Phone: this.Phone,\r\n }]\r\n };\r\n\r\n this.RequestAppointmentsData = RequestAppointmentsDataToPost;\r\n this.QNA=JSON.parse(RequestAppointmentsDataToPost.bcrm_customerresponse);\r\n this.ServiceName = RequestAppointmentsDataToPost.serviceName;\r\n this.DoctorFullName = RequestAppointmentsDataToPost.StaffName;\r\n\r\n //this.patient_Name = RequestAppointmentsDataToPost.name;\r\n this.patient_Email = RequestAppointmentsDataToPost.email;\r\n this.patient_MobilePhone = RequestAppointmentsDataToPost.phone;\r\n\r\n this.Subject = RequestAppointmentsDataToPost.subject;\r\n this.Comment = RequestAppointmentsDataToPost.notes;\r\n this.bcrm_anythingnew = RequestAppointmentsDataToPost.lastAppointmentComments;\r\n\r\n }\r\n //#endregion\r\n\r\n //#region Submit to check consent form\r\n Submit(DatatoPost): void {\r\n debugger\r\n debugger;\r\n DatatoPost.Notes = \" \";\r\n DatatoPost.IsProxy = this.GuardianValue;\r\n DatatoPost.bcrm_patientguardian = this.bcrm_patientguardianvalue;\r\n DatatoPost.contactid = environment.LoginUserId\r\n DatatoPost.name = environment.LoginUserfullName\r\n //this.pay(this.Dom_price, DatatoPost)\r\n this.PatientBooking(DatatoPost);\r\n }\r\n //#endregion\r\n\r\n //#region Create Appointment In CRM\r\n createAppointmentInCRM(RequestAppointmentsData) {\r\n debugger;\r\n //*************Show / hide loader *******************/\r\n $('#ftco-loader').addClass('show');\r\n /**************************************** */\r\n this.BookServies.createAppointment(RequestAppointmentsData).subscribe((res) => {\r\n if(res) {\r\n //*************Show / hide loader *******************/\r\n $('#ftco-loader').removeClass('show');\r\n /**************************************** */\r\n // this.toastr.success(\"Appointment created successfully\");\r\n Swal.fire('Appointment created successfully')\r\n\r\n\r\n this.router.navigate(['/']);\r\n }else{\r\n //*************Show / hide loader *******************/\r\n $('#ftco-loader').removeClass('show');\r\n /**************************************** */\r\n this.toastr.error(\"Appointment did not create\");\r\n }\r\n\r\n }, (err) => {\r\n //*************Show / hide loader *******************/\r\n $('#ftco-loader').removeClass('show');\r\n /****************** -------- **********************/\r\n this.toastr.error(err, \"Error : \");\r\n // this.router.navigate(['/']);\r\n });\r\n }\r\n //#endregion\r\n\r\n //#region Payment Process\r\n pay(amount, RequestAppointmentsData) {\r\n //*************Show / hide loader *******************/\r\n $('#ftco-loader').addClass('show');\r\n /**************************************** */\r\n\r\n var localThis = this;\r\n localThis.createAppointmentInCRM(RequestAppointmentsData);\r\n // var localThis = this;\r\n // var handler = (window).StripeCheckout.configure({\r\n // key: 'pk_test_tciTRCe2Ctpyi3MQ2xVW4YDk00RH0x9XCO',\r\n // locale: 'auto',\r\n // token: function (token: any) {\r\n // // You can access the token ID with `token.id`.\r\n // // Get the token ID to your server-side code for use.\r\n // console.log(token)\r\n // /** ------------Call payment Process Api The Done Payment*------------------ */\r\n // localThis.BookServies.paymentProcess(amount, token).subscribe((res) => {\r\n // if (res) {\r\n // localThis.toastr.info(\"Payment Done\", res.toString())\r\n // //*************Show / hide loader *******************/\r\n // $('#ftco-loader').removeClass('show');\r\n // /**************************************** */\r\n // localThis.createAppointmentInCRM(RequestAppointmentsData);\r\n\r\n // }\r\n // }, (err) => {\r\n // localThis.createAppointmentInCRM(RequestAppointmentsData);\r\n // //*************Show / hide loader *******************/\r\n // $('#ftco-loader').removeClass('show');\r\n // /****************** -------- **********************/\r\n // this.toastr.error(err, \"Error : \");\r\n // //this.router.navigate(['/']);\r\n // });\r\n // }\r\n // });\r\n // handler.open({\r\n // name: 'OxVc Portal',\r\n // description: 'Virtual Clinic',\r\n // amount: amount * 100,\r\n // currency: \"GBP\",\r\n // });\r\n }\r\n //#endregion\r\n\r\n //#region Check Patient Consent\r\n\r\n PatientBooking(AppointmentData) {\r\n debugger;\r\n //*************Show / hide loader *******************/\r\n $('#ftco-loader').addClass('show');\r\n /**************************************** */\r\n\r\n if(this.SelectedDoctor == '2'){\r\n this.createAppointmentEMR(AppointmentData);\r\n }\r\n\r\n else{\r\n this.createAppointmentInCRM(AppointmentData);\r\n }\r\n \r\n \r\n }\r\n //#endregion\r\n\r\n //#region Load Payment Process script\r\n loadStripe() {\r\n if (!window.document.getElementById('stripe-script')) {\r\n var s = window.document.createElement(\"script\");\r\n s.id = \"stripe-script\";\r\n s.type = \"text/javascript\";\r\n s.src = \"https://checkout.stripe.com/checkout.js\";\r\n s.onload = () => {\r\n this.handler = (window).StripeCheckout.configure({\r\n key: 'pk_test_tciTRCe2Ctpyi3MQ2xVW4YDk00RH0x9XCO',\r\n locale: 'auto',\r\n token: function (token: any) {\r\n // You can access the token ID with `token.id`.\r\n // Get the token ID to your server-side code for use.\r\n // console.log(token)\r\n alert('Payment Success!!');\r\n }\r\n });\r\n }\r\n window.document.body.appendChild(s);\r\n }\r\n }\r\n //#endregion\r\n\r\n //#region Function : To convert the Date in to local date string\r\n DateToLocalString(acept_Date) {\r\n let day = acept_Date.getDate() < 10 ? \"0\" + acept_Date.getDate() : \"\" + acept_Date.getDate();\r\n let month = acept_Date.getMonth() < 9 ? \"0\" + (acept_Date.getMonth() + 1) : \"\" + (acept_Date.getMonth() + 1);\r\n let hour = acept_Date.getHours() < 10 ? \"0\" + acept_Date.getHours() : \"\" + acept_Date.getHours();\r\n let minutes = acept_Date.getMinutes() < 10 ? \"0\" + acept_Date.getMinutes() : \"\" + acept_Date.getMinutes();\r\n return day + \"/\" + month + \"/\" + acept_Date.getFullYear() + \" \" + hour + \":\" + minutes;\r\n }\r\n //#endregion\r\n\r\n //#region Generic Fuction to filter the Service on the basis of the hidden from Customers\r\n filterServiceOfType(condition) {\r\n if (this.allServices != null) {\r\n return this.allServices.filter(x => x.isHiddenFromCustomers == condition);\r\n }\r\n }\r\n //#endregion\r\n\r\n getAllProxy(){\r\n \r\n debugger\r\n //*************Show / hide loader *******************/\r\n $('#ftco-loader').addClass('show');\r\n /**************************************** */\r\n this.ProxyData = null;\r\n this.sickNotesService.getProxyDetails(environment.LoginUserId).subscribe((res) => {\r\n if (res != null) {\r\n this.ProxyData = res;\r\n }\r\n\r\n $('#ftco-loader').removeClass('show');\r\n /**************************************** */\r\n }, (err) => {\r\n //*************Show / hide loader *******************/\r\n $('#ftco-loader').removeClass('show');\r\n /****************** -------- **********************/\r\n this.toastr.error(err, \"Error : \");\r\n this.router.navigate(['/']);\r\n });\r\n }\r\n\r\n ChecktheGuardianValue(Event){\r\n debugger\r\n var DataofEvent = Event.currentTarget.value;\r\n if(DataofEvent != environment.LoginUserId){\r\n this.GuardianValue = true\r\n \r\n }\r\n else{\r\n this.GuardianValue = false;\r\n }\r\n \r\n }\r\n\r\n CreateNewPatient(otp) { \r\n debugger\r\n\r\n if(this.RandomNumber == otp){\r\n this.OtpVerified = true;\r\n $(`#Doctors`).show();\r\n var Hi = \"Welcome \"\r\n this.toastr.success(Hi +this.FirstName +\" \"+this.LastName,\"You have been verified now\");\r\n\r\n this.patient_Name = this.FirstName+\" \"+this.LastName\r\n \r\n //*************Show / hide loader *******************/\r\n $('#ftco-loader').addClass('show');\r\n /************************************************** */\r\n\r\n var DataToPost={\r\n firstname: this.FirstName,\r\n lastname: this.LastName,\r\n emailaddress1: this.userEmail,\r\n mobilephone: this.userMobile,\r\n bcrm_nhsnumber: this.NHSNumber,\r\n birthdate:this.PatientDOB\r\n }\r\n \r\n this.BookServies.CreatePatientInCRMAppointment(DataToPost).subscribe((res) => {\r\n \r\n if(res[\"status\"] == true){\r\n //this.toastr.success(\"Patient Successfully Created\");\r\n environment.LoginUserId = res[\"createPatient\"].Id;\r\n environment.LoginUserfullName = res[\"createPatient\"].fullname;\r\n //this.patient_Name = environment.LoginUserfullName;\r\n }\r\n else {\r\n this.toastr.error(\"Error while creating Patient\");\r\n }\r\n $('#ftco-loader').removeClass('show');\r\n /**************************************** */\r\n }, (err) => {\r\n //*************Show / hide loader *******************/\r\n $('#ftco-loader').removeClass('show');\r\n /****************** -------- **********************/\r\n this.toastr.error(err, \"Error : \");\r\n //this.router.navigate(['/']);\r\n });\r\n\r\n }\r\n\r\n else{\r\n this.toastr.error(\"Verify Otp\");\r\n }\r\n\r\n }\r\n\r\n\r\n Generatetherandomnumber() { \r\n debugger\r\n\r\n this.userMobile = $(\"#Phone\").val()\r\n\r\n if(this.userMobile == \"\" || this.userMobile == \"+44\"){\r\n return this.toastr.warning(\"Please fill all the fields\");\r\n }\r\n else{\r\n //*************Show / hide loader *******************/\r\n $('#ftco-loader').addClass('show');\r\n /************************************************** */\r\n var val = Math.floor(1000 + Math.random() * 9000);\r\n this.RandomNumber = val;\r\n\r\n if(this.userMobile.includes(\"+\") == true){\r\n var MobileNo = this.userMobile.split(\"+\")[1]\r\n var string = \"%2B\"\r\n var MobileNo2 = string+MobileNo;\r\n }\r\n\r\n this.BookServies.SendOTP(this.RandomNumber,MobileNo2).subscribe((res) => {\r\n \r\n if(res == true){\r\n //this.toastr.success(\"Patient Successfully Created\");\r\n }\r\n else {\r\n this.toastr.error(\"Error while send otp\");\r\n }\r\n $('#ftco-loader').removeClass('show');\r\n /**************************************** */\r\n }, (err) => {\r\n //*************Show / hide loader *******************/\r\n $('#ftco-loader').removeClass('show');\r\n /****************** -------- **********************/\r\n this.toastr.error(err, \"Error : \");\r\n //this.router.navigate(['/']);\r\n });\r\n } \r\n }\r\n\r\n\r\n createAppointmentEMR(DataOfEMR): void {\r\n debugger;\r\n\r\n var DatatoPost={\r\n patientId: DataOfEMR.contactid,\r\n patientEmail: DataOfEMR.email,\r\n patientMobilephone: DataOfEMR.phone,\r\n subject: DataOfEMR.subject,\r\n msemr_comment: \"\",\r\n bcrm_anythingnewsinceyourlastappointment: DataOfEMR.lastAppointmentComments,\r\n bcrm_funded: \"\",\r\n msemr_participantstatus: \"\",\r\n // bcrm_servicename: DataOfEMR.serviceName,\r\n // bcrm_serviceid: DataOfEMR.serviceId,\r\n bcrm_servicename: this.ServicesData[0].displayName,\r\n bcrm_serviceid: this.ServicesData[0].id,\r\n bcrm_serviceduration: \"\",\r\n msemr_starttime: DataOfEMR.startDate,\r\n msemr_endtime: DataOfEMR.endDate,\r\n doctorfullname: DataOfEMR.StaffName,\r\n bcrm_doctoremail: DataOfEMR.staffEmailAddress,\r\n bcrm_staffid: DataOfEMR.staffId,\r\n bcrm_preferredcontactmethod: DataOfEMR.bcrm_preferredcontactmethod,\r\n bcrm_customerresponse:DataOfEMR.bcrm_customerresponse,\r\n relatedPersonCollection: DataOfEMR.relatedPersonCollection,\r\n bcrm_appointmenttype:\"101\",\r\n patientName:DataOfEMR.name\r\n }\r\n\r\n //*************Show / hide loader *******************/\r\n $('#ftco-loader').addClass('show');\r\n /****************** -------- **********************/\r\n this.requestserive.addAppiontmentERM(DatatoPost).subscribe((res) => {\r\n //*************Show / hide loader *******************/\r\n $('#ftco-loader').removeClass('show');\r\n /****************** -------- **********************/\r\n debugger;\r\n if (res == 'Success') {\r\n this.toastr.success(\"Request Appointment Successfully created\");\r\n this.router.navigate(['/']);\r\n }\r\n else {\r\n this.toastr.info(res.toString(), \"Info\");\r\n }\r\n }, (err) => {\r\n //*************Show / hide loader *******************/\r\n $('#ftco-loader').removeClass('show');\r\n /****************** -------- **********************/\r\n this.toastr.error(err, \"Error : \");\r\n });\r\n }\r\n\r\n\r\n GetAllDoctors(): void {\r\n debugger;\r\n this.Dom_staffId = \"\";\r\n this.selectedServiceDoctors = [];\r\n this.IsTimeSlotArray = false;\r\n /**********************************Data assign********************* */\r\n this.BookServies.getAllDoctors().subscribe((res) => {\r\n debugger;\r\n if (res) {\r\n this.allDoctorsData = res[\"value\"];\r\n this.Dom_staffId = this.ParticularClinicianData.Id;\r\n // this.onDoctorChange(this.Dom_staffId);\r\n }\r\n else {\r\n return \r\n }\r\n }, (err) => {\r\n //*************Show / hide loader *******************/\r\n $('#ftco-loader').removeClass('show');\r\n /****************** -------- **********************/\r\n this.toastr.info(err, \"Error : \");\r\n // this.router.navigate(['/']);\r\n });\r\n }\r\n\r\n\r\n SettheData(){\r\n debugger\r\n this.DoctorFullName = this.ParticularClinicianData.DisplayName;\r\n this.ServiceName = this.ServicesData[0].displayName;\r\n }\r\n\r\n\r\n}\r\n","
\r\n
\r\n
\r\n

Book an Appointment

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

Basic Information

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

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

Personal Questions

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

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

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

Confirm

\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\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 Name:{{ServiceName}}
Doctor Name:{{DoctorFullName}}
Subject:{{Subject}}
Name:{{patient_Name}}
Email:{{patient_Email}}
MobilePhone:{{patient_MobilePhone}}
Anything new since your last appointment?:{{bcrm_anythingnew}}
Appointment type:{{preferredcontactmethodValue}}
\r\n
\r\n
\r\n
\r\n {{qna.question}} : {{qna.answer}}\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n\r\n\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n

price : £ \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\nimport { ActivatedRoute, Router } from \"@angular/router\"\r\nimport { FormsModule } from '@angular/forms'\r\nimport { NgForm } from '@angular/forms';\r\nimport { environment } from '../../../environments/environment';\r\nimport { HeaderComponent } from 'src/app/Navigation/header/header.component';\r\nimport { BookAppointmentsServiesService } from 'src/app/ApiService/Booking/book-appointments-servies.service';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { RequestAppService } from 'src/app/ApiService/Booking/request-app.service';\r\nimport { SickNotesService } from 'src/app/ApiService/Sick/sick-notes.service';\r\nimport { Ng2TelInputModule } from 'ng2-tel-input';\r\n\r\nimport Swal from 'sweetalert2';\r\n\r\ndeclare var $: any;111\r\n\r\n@Component({\r\n selector: 'app-book-appointments',\r\n templateUrl: './book-appointments.component.html',\r\n styleUrls: ['./book-appointments.component.css'],\r\n providers: [HeaderComponent]\r\n})\r\nexport class BookAppointmentsComponent implements OnInit {\r\n // call consent \r\n //#region Global Variables\r\n Token: string; today: Date; allServices: any; selectedServiceDoctors: any; isServicSelected: boolean = false; IsTimeSlotArray: boolean = false; isLoggedIn: any;\r\n Dom_serviceName: string; Dom_serviceDurationInMins: Number; Dom_serviceId: string; Dom_staffId: string; Dom_StaffName: string; Dom_staffEmailAddress: string;\r\n Dom_price: string; startDate: string; endDate: string; Phone: string; Address: string; City: string; State: string; Country: string; Subject: string;\r\n Notes: string; userEmail: string = environment.LoginUserEmail; userMobile: string = \"+44\"; userName: string = environment.LoginUserfullName; handler: any = null; TimeSlotArray: object;\r\n lastAppointmentComments: string; Questions: any; allDoctors: any; ServiceName: string; DoctorFullName: string; patient_Name: string; patient_Email: string; patient_MobilePhone: string;\r\n Comment: string; bcrm_anythingnew: string; RequestAppointmentsData: object; dialcode: string; inputObj: any; email: string;\r\n searchText: string; btnshow: boolean; preferredcontactmethod: any; ProxyData: any; GuardianValue: boolean = false; userMainname: any; userMainId: any; bcrm_patientguardianvalue: any;\r\n QNA: any; FirstName: any; LastName: any; NHSNumber: any; SubjectMain: any; PatientDOB: any; RandomNumber: any; VerifyOTP: any; OtpVerified: boolean = false; Patientexistcheck: boolean = false;\r\n casetypecode: any; Casepreferred_method_of_contact: any;\r\n SelectedDoctor: any;\r\n Dom_serviceIdChecked: boolean = false;\r\n SelectedDoctorChecked: boolean = false;;\r\n preferredcontactmethodValue: any;\r\n EMRStartDateofAppointment: any;\r\n EMRendtDateofAppointment: any;\r\n OptionalFirstName = \"\";\r\n OptionalLastName = \"\";\r\n OptionaluserEmail = \"\";\r\n OptionalPatientDOB = \"\";\r\n OptionaluserMobile = \"+44\";\r\n inputObjOptional: any;\r\n ISPROXYVALUE: boolean = false;\r\n ProxyId: any;\r\n OptionalNHSNumber: any;\r\n callemailfunction: boolean = false;\r\n Emailinput: any;\r\n specialCharacteremail = false;\r\n Emailinputpartner;\r\n specialCharacteremailpartner = false;\r\n CheckExist: any;\r\n Gender: any;\r\n pId: any;\r\n appContactId:any;\r\n teamsURL:any;\r\n appContactName:any;\r\n //#endregion\r\n\r\n //#region constructor and Include the servies\r\n constructor(private router: Router,\r\n public BookServies: BookAppointmentsServiesService,\r\n private toastr: ToastrService,\r\n public activatedRoute: ActivatedRoute,\r\n private headerComponent: HeaderComponent,\r\n public requestserive: RequestAppService,\r\n private sickNotesService: SickNotesService,\r\n private intlObj: Ng2TelInputModule,\r\n ) {\r\n\r\n // this.isLoggedIn = headerComponent.loggedIn;\r\n // if (!this.isLoggedIn) {\r\n // toastr.error(\"Have To login First\", \"To See The Doctors Details\");\r\n // this.router.navigate(['/'], { skipLocationChange: true });\r\n // }\r\n /******Active Current Component Nav****** */\r\n $(\".nav-item\").removeClass(\"active\");\r\n $(\"#nav-item-Appointment\").addClass(\"active\");\r\n /******End:Active Current Component Nav****** */\r\n }\r\n //#endregion\r\n\r\n //#region Ng-On Init\r\n ngOnInit(): void {\r\n debugger\r\n // let idofhl7 = this.activatedRoute.snapshot.paramMap.get('sraid');\r\n let urlParams = this.activatedRoute.snapshot.queryParams;\r\n localStorage.setItem('urlParams', JSON.stringify(urlParams));\r\n this.pId = urlParams.pid;\r\n this.appContactId = localStorage.getItem('appContactId');\r\n this.teamsURL = localStorage.getItem('teamsURL');\r\n this.appContactName = localStorage.getItem('appContactName');\r\n //$(`#Doctors`).hide();\r\n $(\".teamsURL\").hide();\r\n $(`#OTPVerficationDiv`).hide();\r\n $(`#Services`).hide();\r\n\r\n environment.LoginUserfullName = \"\";\r\n debugger\r\n this.userMainname = environment.LoginUserfullName;\r\n this.userMainId = environment.LoginUserId;\r\n this.bcrm_patientguardianvalue = environment.LoginUserId;\r\n // this.loadStripe();\r\n var localThis = this;\r\n var date = new Date();\r\n localThis.today = new Date(date.getFullYear(), date.getMonth(), date.getDate());\r\n\r\n //this.getAllProxy();\r\n\r\n //#region Document ready Function\r\n $(document).ready(function () {\r\n $(\".selectbtn\").show();\r\n\r\n });\r\n\r\n $(\"#Services1\").click(function () {\r\n debugger\r\n $(\"#your-image1\").attr(\"src\", \"../../../assets/images/doctor.png\");\r\n $(\"#your-image\").attr(\"src\", \"../../../assets/images/serviceactive.png\");\r\n })\r\n\r\n $(\"#Doctors\").click(function () {\r\n debugger\r\n $(\"#your-image1\").attr(\"src\", \"../../../assets/images/doctorfinal.png\");\r\n $(\"#your-image2\").attr(\"src\", \"../../../assets/images/questionactive.png\");\r\n })\r\n\r\n $(\"#Doctors1\").click(function () {\r\n debugger\r\n $(\"#your-image1\").attr(\"src\", \"../../../assets/images/doctoractive.png\");\r\n $(\"#your-image2\").attr(\"src\", \"../../../assets/images/question.png\");\r\n })\r\n $(\"#Questions\").click(function () {\r\n debugger\r\n $(\"#your-image2\").attr(\"src\", \"../../../assets/images/questionfinal.png\");\r\n $(\"#your-image3\").attr(\"src\", \"../../../assets/images/detailactive.png\");\r\n })\r\n $(\"#Questions1\").click(function () {\r\n debugger\r\n $(\"#your-image2\").attr(\"src\", \"../../../assets/images/questionactive.png\");\r\n $(\"#your-image3\").attr(\"src\", \"../../../assets/images/details.png\");\r\n })\r\n $(\"#Details\").click(function () {\r\n debugger\r\n $(\"#your-image3\").attr(\"src\", \"../../../assets/images/detailfinal.png\");\r\n $(\"#your-image4\").attr(\"src\", \"../../../assets/images/summaryactive.png\");\r\n })\r\n $(\"#Details1\").click(function () {\r\n debugger\r\n $(\"#your-image3\").attr(\"src\", \"../../../assets/images/detailactive.png\");\r\n $(\"#your-image4\").attr(\"src\", \"../../../assets/images/summary.png\");\r\n })\r\n $(\"#Deta\").click(function () {\r\n debugger\r\n $(\"#your-image3\").attr(\"src\", \"../../../assets/images/detailfinal.png\");\r\n $(\"#your-image4\").attr(\"src\", \"../../../assets/images/summaryactive.png\");\r\n })\r\n $(\"#Detarev\").click(function () {\r\n debugger\r\n $(\"#your-image3\").attr(\"src\", \"../../../assets/images/detailfinal.png\");\r\n $(\"#your-image4\").attr(\"src\", \"../../../assets/images/summaryactive.png\");\r\n })\r\n //#endregion\r\n\r\n //#region Step Wizard Metodes\r\n $(document).ready(function () {\r\n debugger\r\n var current_fs, next_fs, previous_fs; //fieldsets\r\n var opacity;\r\n\r\n $(\".next1\").click(function () {\r\n debugger\r\n current_fs = $(this).parent();\r\n next_fs = $(this).parent().next();\r\n\r\n var RandomNumber = $(\"#VerifyOTP\").val();\r\n let RandomNumber1 = localStorage.getItem(\"OTPNumber\");\r\n let Otpvalidation = localStorage.getItem(\"OTPVALIDATION\");\r\n\r\n if (Otpvalidation == \"Invalid Otp\") {\r\n debugger\r\n localStorage.setItem('OTPVALIDATION', \"\")\r\n $(\"#Doctors\").click(function () {\r\n debugger\r\n $(\"#your-image1\").attr(\"src\", \"../../../assets/images/doctor.png\");\r\n $(\"#your-image2\").attr(\"src\", \"../../../assets/images/question.png\");\r\n })\r\n return\r\n }\r\n\r\n if ($(\"#basic-information\").hasClass(\"active\") && !validateForm()) return false;\r\n //Add Class Active\r\n $(\"#progressbar li\").eq($(\"fieldset\").index(next_fs)).addClass(\"active\");\r\n\r\n //show the next fieldset\r\n next_fs.show();\r\n //hide the current fieldset with style\r\n current_fs.animate({ opacity: 0 }, {\r\n step: function (now) {\r\n // for making fielset appear animation\r\n opacity = 1 - now;\r\n\r\n current_fs.css({\r\n 'display': 'none',\r\n 'position': 'relative'\r\n });\r\n next_fs.css({ 'opacity': opacity });\r\n },\r\n duration: 600\r\n });\r\n });\r\n\r\n $(\".previous\").click(function () {\r\n debugger\r\n current_fs = $(this).parent();\r\n previous_fs = $(this).parent().prev();\r\n\r\n //Remove class active\r\n $(\"#progressbar li\").eq($(\"fieldset\").index(current_fs)).removeClass(\"active\");\r\n\r\n //show the previous fieldset\r\n previous_fs.show();\r\n\r\n //hide the current fieldset with style\r\n current_fs.animate({ opacity: 0 }, {\r\n step: function (now) {\r\n // for making fielset appear animation\r\n opacity = 1 - now;\r\n\r\n current_fs.css({\r\n 'display': 'none',\r\n 'position': 'relative'\r\n });\r\n previous_fs.css({ 'opacity': opacity });\r\n },\r\n duration: 600\r\n });\r\n });\r\n $('.radio-group .radio').click(function () {\r\n\r\n $(this).parent().find('.radio').removeClass('selected');\r\n $(this).addClass('selected');\r\n });\r\n var currentTab = 0;\r\n function validateForm() {\r\n\r\n // This function deals with validation of the form fields\r\n var x, y, z, i, valid = true;\r\n x = document.getElementsByClassName(\"basic-information\");\r\n y = x[currentTab].getElementsByTagName(\"input\");\r\n z = x[currentTab].getElementsByTagName(\"textarea\");\r\n // A loop that checks every input field in the current tab:\r\n for (i = 0; i < y.length; i++) {\r\n // If a field is empty...\r\n if (y[i].value == \"\") {\r\n // add an \"invalid\" class to the field:\r\n y[i].className += \" invalid\";\r\n // and set the current valid status to false\r\n valid = false;\r\n }\r\n }\r\n for (i = 0; i < z.length; i++) {\r\n // If a field is empty...\r\n if (z[i].value == \"\") {\r\n // add an \"invalid\" class to the field:\r\n z[i].className += \" invalid\";\r\n // and set the current valid status to false\r\n valid = false;\r\n }\r\n }\r\n return valid; // return the valid status\r\n }\r\n $(\".submit\").click(function () {\r\n\r\n return false;\r\n })\r\n\r\n });\r\n //#endregion\r\n\r\n //#region Check Email in Params\r\n this.email = this.activatedRoute.snapshot.paramMap.get('userName');\r\n $('#ftco-loader').addClass('show');\r\n //#endregion\r\n\r\n //#region Get the Serivice Details\r\n\r\n if (this.email != \"\" && this.email != null) {\r\n this.BookServies.getAllServicesByEmail(this.email).subscribe((res) => {\r\n debugger;\r\n if (res != null) {\r\n $(\"#Phone\").val(this.userMobile)\r\n let ServicesDataList = res['value'];\r\n if (ServicesDataList != null) {\r\n /**Formate The Time Hour and Min */\r\n ServicesDataList.forEach(function (value) {\r\n\r\n var duration = value.defaultDuration;\r\n var defaultDuration = duration.match(/\\d+/g).join(\".\");\r\n\r\n if (duration.match(/[a-zA-Z]+/g)[1] === \"M\") {\r\n defaultDuration = defaultDuration + \" Mins\";\r\n }\r\n else if (duration.match(/[a-zA-Z]+/g)[1] === \"H\") {\r\n if (defaultDuration.split(\".\").length > 1) {\r\n defaultDuration = (Number(defaultDuration.split(\".\")[0]) * 60) + (Number(defaultDuration.split(\".\")[1])) + \" Mins\"\r\n }\r\n else {\r\n defaultDuration = defaultDuration + \" Hour\";\r\n }\r\n\r\n }\r\n value.defaultDuration = defaultDuration;\r\n });\r\n this.allServices = ServicesDataList;\r\n }\r\n\r\n }\r\n //*************Show / hide loader *******************/\r\n $('#ftco-loader').removeClass('show');\r\n /**************************************** */\r\n }, (err) => {\r\n //*************Show / hide loader *******************/\r\n $('#ftco-loader').removeClass('show');\r\n /****************** -------- **********************/\r\n this.toastr.error(err, \"Error : \");\r\n this.router.navigate(['/']);\r\n });\r\n }\r\n else {\r\n this.BookServies.getAllServices().subscribe((res) => {\r\n if (res != null) {\r\n\r\n $('#ftco-loader').addClass('show');\r\n $(\"#Phone\").val(this.userMobile)\r\n let ServicesDataList = res['value'];\r\n if (ServicesDataList != null) {\r\n /**Formate The Time Hour and Min */\r\n ServicesDataList.forEach(function (value) {\r\n\r\n var duration = value.defaultDuration;\r\n var defaultDuration = duration.match(/\\d+/g).join(\".\");\r\n\r\n if (duration.match(/[a-zA-Z]+/g)[1] === \"M\") {\r\n defaultDuration = defaultDuration + \" Mins\";\r\n }\r\n else if (duration.match(/[a-zA-Z]+/g)[1] === \"H\") {\r\n if (defaultDuration.split(\".\").length > 1) {\r\n defaultDuration = (Number(defaultDuration.split(\".\")[0]) * 60) + (Number(defaultDuration.split(\".\")[1])) + \" Mins\"\r\n }\r\n else {\r\n defaultDuration = defaultDuration + \" Hour\";\r\n }\r\n\r\n }\r\n value.defaultDuration = defaultDuration;\r\n });\r\n this.allServices = ServicesDataList;\r\n }\r\n\r\n }\r\n //*************Show / hide loader *******************/\r\n $('#ftco-loader').removeClass('show');\r\n /**************************************** */\r\n }, (err) => {\r\n //*************Show / hide loader *******************/\r\n $('#ftco-loader').removeClass('show');\r\n /****************** -------- **********************/\r\n this.toastr.error(err, \"Error : \");\r\n this.router.navigate(['/']);\r\n });\r\n }\r\n //#endregion\r\n\r\n //#region Load Date picker\r\n $('#datepicker').datepicker({\r\n autoclose: true,\r\n startDate: \"+0d\",\r\n // daysOfWeekDisabled: [6, 0],\r\n todayHighlight: true,\r\n minDate: new Date()\r\n });\r\n //#endregion\r\n\r\n //#region Set Todays Date\r\n // if Today is Sunday Then Set Moday's Date:pandint\r\n $('#datepicker').datepicker('setDate', localThis.today);\r\n //#endregion\r\n\r\n //#region Function On-Change Of Date\r\n $('#datepicker').on('changeDate', function () {\r\n if ($('#datepicker').datepicker('getFormattedDate') == \"\") {\r\n $('#datepicker').datepicker('setDate', localThis.today);\r\n } else {\r\n localThis.today = $('#datepicker').datepicker('getFormattedDate');\r\n localThis.TimeSlotArray = [];\r\n localThis.IsTimeSlotArray = false;\r\n localThis.startDate = null;\r\n if (localThis.Dom_serviceId != null && localThis.Dom_serviceId != \"\" && localThis.Dom_serviceId != undefined) {\r\n localThis.getDoctorsList(localThis.Dom_serviceId);\r\n }\r\n }\r\n });\r\n //#endregion\r\n }\r\n\r\n //#endregion \r\n\r\n //#region function for set flag in phonecode\r\n telInputObject(obj, val) {\r\n debugger\r\n this.inputObj = obj;\r\n if (val) {\r\n obj.setNumber(this.userMobile);\r\n }\r\n }\r\n\r\n telInputObjectOptional(obj, val) {\r\n debugger\r\n this.inputObjOptional = obj;\r\n if (val) {\r\n obj.setNumber(this.OptionaluserMobile);\r\n }\r\n }\r\n //#endregion\r\n\r\n //#region On change on Servies Seletion\r\n getDoctorsListByService(serviceData): void {\r\n debugger;\r\n /**********************************Data assign********************* */\r\n this.Dom_serviceName = serviceData.displayName;\r\n this.Dom_serviceId = serviceData.id;\r\n this.Dom_serviceIdChecked = true;\r\n $(`.selectbtn`).show();\r\n $(`#${serviceData.id}_selectbtn`).hide();\r\n let spiltTime = serviceData.defaultDuration.split(\" \");\r\n if (spiltTime.length > 0) {\r\n\r\n this.Dom_serviceDurationInMins = spiltTime[1] == \"Mins\" ? Number(spiltTime[0]) : Number(spiltTime[0]) * 60;\r\n }\r\n this.Dom_price = serviceData.defaultPrice\r\n /**------------------Alert And Add active class--------------- */\r\n // this.toastr.info(\"you have selected\", serviceData.displayName);\r\n $(\".card\").removeClass(\"actives\");\r\n $(`#${serviceData.id}_card`).addClass(\"actives\");\r\n this.BookServies.CheckPatientConsentStatus(environment.LoginUserId).subscribe((res) => {\r\n debugger;\r\n if (res) {\r\n $(\"#Services\").click(function () {\r\n $(\"#your-image\").attr(\"src\", \"../../../assets/images/servicefinal.png\");\r\n $(\"#your-image1\").attr(\"src\", \"../../../assets/images/doctoractive.png\");\r\n })\r\n }\r\n else {\r\n return\r\n //this.toastr.warning(\"\", \"We do not have your signed consent. These are normally reviewed and approved daily. If you think your consents should have already been processed please email contact@oxvc.health\");\r\n }\r\n }, (err) => {\r\n //*************Show / hide loader *******************/\r\n $('#ftco-loader').removeClass('show');\r\n /****************** -------- **********************/\r\n this.toastr.info(err, \"Error : \");\r\n // this.router.navigate(['/']);\r\n });\r\n // $(\"#coloractive1\").addClass(\"activesfont\");\r\n // $(\"#coloractive2\").addClass(\"activesfont\");\r\n /** ------------Call Get Doctors Api As pr the Selected Servies*------------------ */\r\n this.getDoctorsList(serviceData.id);\r\n this.onServiceQuestions(serviceData.id);\r\n\r\n\r\n }\r\n //#endregion\r\n\r\n //#region Get All Doctor List \r\n getDoctorsList(serviceId): void {\r\n debugger;\r\n //*************Show / hide loader *******************/\r\n $('#ftco-loader').addClass('show');\r\n /**************************************** */\r\n /**---------- null the Object------------- */\r\n this.Dom_staffId = \"\";\r\n this.selectedServiceDoctors = [];\r\n this.IsTimeSlotArray = false;\r\n this.BookServies.getDoctorsByServicId(serviceId).subscribe((res) => {\r\n\r\n var Doc_filter_list = []\r\n var SelectedDateFilter = new Date($('#datepicker').datepicker('getFormattedDate'));\r\n var selectedDay = SelectedDateFilter.getDay() == 0 ? 6 : SelectedDateFilter.getDay() - 1;\r\n\r\n $.each(res, function (index, value) {\r\n\r\n if (value.WorkingHours[selectedDay].TimeSlots.length > 0) {\r\n Doc_filter_list.push(value);\r\n }\r\n });\r\n this.selectedServiceDoctors = Doc_filter_list;\r\n if (Doc_filter_list.length > 0) {\r\n if (this.email != null) {\r\n var DoctorData = Doc_filter_list.find(x => x['EmailAddress'].toLowerCase() == this.email.toLowerCase());\r\n this.Dom_staffId = DoctorData.Id;\r\n this.onDoctorChange(this.Dom_staffId);\r\n }\r\n }\r\n else {\r\n this.toastr.info(\"No Doctor avaliable for this selected service\")\r\n }\r\n this.isServicSelected = true;\r\n //*************Show / hide loader *******************/\r\n $('#ftco-loader').removeClass('show');\r\n /**************************************** */\r\n }, (err) => {\r\n //*************Show / hide loader *******************/\r\n $('#ftco-loader').removeClass('show');\r\n /****************** -------- **********************/\r\n this.toastr.error(err, \"Error : \");\r\n // this.router.navigate(['/']);\r\n });\r\n }\r\n //#endregion\r\n\r\n //#region On change on Doctore Seletion\r\n onDoctorChange(event): void {\r\n\r\n if (event == \"2\") {\r\n debugger\r\n var SelectDate = new Date($('#datepicker').datepicker('getFormattedDate'));\r\n SelectDate = new Date(SelectDate.setHours(23, 59, 59))\r\n // var wokingDay = SelectDate.getDay() - 1 < 0 ? 6 : SelectDate.getDay() - 1;\r\n // var getWorkingHours = SelectedDoctorData.WorkingHours[wokingDay];\r\n\r\n let selectedDate = SelectDate.toISOString();\r\n let startTime = selectedDate.split(\"T\")[0] + \"T01:00:00Z\"\r\n let endTime = selectedDate.split(\"T\")[0] + \"T01:00:00Z\"\r\n\r\n this.EMRStartDateofAppointment = startTime;\r\n this.EMRendtDateofAppointment = endTime;\r\n\r\n }\r\n\r\n this.SelectedDoctor = event;\r\n if (event != \"\") {\r\n this.SelectedDoctorChecked = true;\r\n }\r\n\r\n\r\n if (event != \"\" && event != \"2\") {\r\n debugger;\r\n //*************Show / hide loader *******************/\r\n $('#ftco-loader').addClass('show');\r\n /***************************************************/\r\n\r\n if (event)\r\n\r\n var SelectedDoctorData = this.selectedServiceDoctors.find(x => x['Id'] == event);\r\n /**\r\n * Set Data Glo\r\n */\r\n this.Dom_staffId = SelectedDoctorData.Id;\r\n this.Dom_StaffName = SelectedDoctorData.DisplayName;\r\n this.Dom_staffEmailAddress = SelectedDoctorData.EmailAddress;\r\n /**\r\n * parsing Data\r\n */\r\n var SelectDate = new Date($('#datepicker').datepicker('getFormattedDate'));\r\n SelectDate = new Date(SelectDate.setHours(23, 59, 59))\r\n var wokingDay = SelectDate.getDay() - 1 < 0 ? 6 : SelectDate.getDay() - 1;\r\n var getWorkingHours = SelectedDoctorData.WorkingHours[wokingDay];\r\n /**\r\n * Creating Object To send \r\n */\r\n\r\n if (getWorkingHours.TimeSlots.length > 0) {\r\n debugger\r\n /**\r\n * Get Working time of Docotor and combain the selected date with docotr Working Hour \r\n */\r\n let selectedDate = SelectDate.toISOString();\r\n let startTime = selectedDate.split(\"T\")[0] + \"T\" + getWorkingHours.TimeSlots[0].Start.split(\"T\")[1];\r\n let endTime = selectedDate.split(\"T\")[0] + \"T\" + getWorkingHours.TimeSlots[0].End.split(\"T\")[1];\r\n\r\n this.EMRStartDateofAppointment = startTime;\r\n this.EMRendtDateofAppointment = endTime;\r\n\r\n\r\n const timeSlotRequest = {\r\n staffEmail: this.Dom_staffEmailAddress,\r\n selectedDate: selectedDate,\r\n startTime: startTime,\r\n endTime: endTime,\r\n meetingTimeDuration: this.Dom_serviceDurationInMins\r\n }\r\n\r\n this.BookServies.getStaffAvailableTime(timeSlotRequest).subscribe((res) => {\r\n\r\n if (res) {\r\n this.TimeSlotArray = res;\r\n this.IsTimeSlotArray = true;\r\n\r\n //*************Show / hide loader *******************/\r\n $('#ftco-loader').removeClass('show');\r\n /***************** *********************** */\r\n }\r\n }, (err) => {\r\n //*************Show / hide loader *******************/\r\n $('#ftco-loader').removeClass('show');\r\n /****************** -------- **********************/\r\n this.toastr.error(err, \"Error : \");\r\n //this.router.navigate(['/']);\r\n });\r\n }\r\n else {\r\n this.toastr.warning(\"No Doctor avaliable for this selected service\");\r\n this.getDoctorsList(this.Dom_serviceId);\r\n }\r\n }\r\n else {\r\n this.TimeSlotArray = [];\r\n this.IsTimeSlotArray = false;\r\n this.Dom_staffId = \"\";\r\n this.Dom_StaffName = \"\";\r\n this.Dom_staffEmailAddress = \"\";\r\n }\r\n }\r\n //#endregion\r\n\r\n //#region On the Select of time\r\n onTimeSelect(TimeEventDomObject, Time): void {\r\n debugger;\r\n var localThis = this;\r\n //*************Show / hide loader *******************/\r\n $('#ftco-loader').removeClass('show');\r\n /**************************************** */\r\n\r\n $(\".TimeSlot\").removeClass(\"slotactive\")\r\n TimeEventDomObject.srcElement.classList.add(\"slotactive\");\r\n //this.formattedDateTime(new Date($('#datepicker').datepicker('getFormattedDate')), TimeEventDomObject.target.innerHTML)\r\n localThis.startDate = Time;\r\n\r\n var Ddtate = new Date(Time);\r\n var EdDate = new Date(Ddtate.setHours(Ddtate.getHours() + 1))\r\n this.endDate = EdDate.toISOString();\r\n $(\"#Doctors\").click(function () {\r\n $(\"#your-image1\").attr(\"src\", \"../../../assets/images/doctorfinal.png\");\r\n $(\"#your-image2\").attr(\"src\", \"../../../assets/images/questionactive.png\");\r\n })\r\n //*************Show / hide loader *******************/\r\n $('#ftco-loader').removeClass('show');\r\n /**************************************** */\r\n }\r\n //#endregion\r\n\r\n //#region on Change service Data\r\n onServiceQuestions(serviceId): void {\r\n debugger;\r\n //*************Show / hide loader *******************/\r\n //$('#ftco-loader').addClass('show');\r\n /**************************************** */\r\n this.Questions = [];\r\n this.requestserive.getQuestionsByServiceId(serviceId).subscribe((res) => {\r\n\r\n this.Questions = res;\r\n $(\"#Phone\").val(this.userMobile)\r\n //*************Show / hide loader *******************/\r\n $('#ftco-loader').removeClass('show');\r\n /**************************************** */\r\n }, (err) => {\r\n //*************Show / hide loader *******************/\r\n $('#ftco-loader').removeClass('show');\r\n /****************** -------- **********************/\r\n this.toastr.error(err, \"Error : \");\r\n // this.router.navigate(['/']);\r\n });\r\n }\r\n //#endregion\r\n\r\n //#region on Country Change\r\n onCountryChange($event) {\r\n debugger\r\n this.dialcode = $event.dialCode;\r\n }\r\n\r\n onCountryChangeoptional($event) {\r\n this.dialcode = $event.dialCode;\r\n }\r\n\r\n //#endregion\r\n\r\n //#region Show the Service Details on the Model Pop up\r\n showInfoInPopUp(serviceData: any): void {\r\n $(\"#servicedisplayName\").html(serviceData.displayName);\r\n $(\"#servicedescription\").html(serviceData.description);\r\n $(\"#servicesdefaultPrice\").html(serviceData.defaultPrice);\r\n $(\"#servicesdefaultDuration\").html(serviceData.defaultDuration);\r\n $(\"#servicesstaffMemberIdslength\").html(serviceData.staffMemberIds.length + \" Specialists\");\r\n $('#showServiceDetails').modal('show');\r\n }\r\n //#endregion\r\n\r\n // preferred contact\r\n getpreferrredContact(value) {\r\n debugger;\r\n this.preferredcontactmethod = value\r\n if (this.preferredcontactmethod == \"1\") {\r\n this.preferredcontactmethodValue = \"Telephone\"\r\n }\r\n\r\n else if (this.preferredcontactmethod == \"2\") {\r\n this.preferredcontactmethodValue = \"Video\"\r\n }\r\n\r\n else if (this.preferredcontactmethod == \"3\") {\r\n this.preferredcontactmethodValue = \"FaceToFace\"\r\n }\r\n }\r\n\r\n verifyByDOB() {\r\n debugger\r\n let dateOfBirth = $('#DOB').val();\r\n this.BookServies.verifyPatientDobById(this.appContactId, dateOfBirth).subscribe((res) => {\r\n if (res[\"status\"]) {\r\n //*************Show / hide loader *******************/\r\n $('#ftco-loader').removeClass('show');\r\n /**************************************** */\r\n this.toastr.success(\"You hve successfully verified\");\r\n $(\".DOBverify\").hide();\r\n $(\".teamsURL\").show();\r\n //Swal.fire('Appointment created successfully')\r\n //this.router.navigate(['/requestAppointment']);\r\n } else {\r\n //*************Show / hide loader *******************/\r\n $('#ftco-loader').removeClass('show');\r\n /**************************************** */\r\n this.toastr.error(\"Verification failed!\");\r\n }\r\n\r\n }, (err) => {\r\n //*************Show / hide loader *******************/\r\n $('#ftco-loader').removeClass('show');\r\n /****************** -------- **********************/\r\n this.toastr.error(err, \"Verification failed!\");\r\n // this.router.navigate(['/']);\r\n });\r\n console.log(dateOfBirth);\r\n }\r\n //#region On Submit Funtion \r\n onSubmit(appointment: NgForm): void {\r\n debugger;\r\n let isFundedOPtionValue = $(\"#isFunded\").find('option:selected').val();\r\n let requestObj = appointment.value;\r\n /**PArsing Questions */\r\n let Questions_AnsList = [];\r\n\r\n $.each(this.Questions, function (index, value) {\r\n\r\n let dataToPush = {\r\n id: value[\"Id\"],\r\n question: value[\"Name\"],\r\n answer: $(\"#\" + value[\"Id\"]).val()\r\n }\r\n Questions_AnsList.push(dataToPush);\r\n });\r\n\r\n var phone = $(\"#Phone\").val();\r\n if (phone != \"\") {\r\n this.Phone = phone;\r\n }\r\n\r\n var Optionalphone = $(\"#Optionalphone\").val();\r\n if (Optionalphone != \"\") {\r\n this.OptionaluserMobile = Optionalphone;\r\n }\r\n\r\n let localTime = this.DateToLocalString(new Date(this.startDate));\r\n\r\n let RequestAppointmentsDataToPost = {\r\n /**Basic Details */\r\n contactid: environment.LoginUserId,\r\n name: this.userName,\r\n email: this.userEmail,\r\n phone: this.Phone,\r\n staffId: this.Dom_staffId,\r\n StaffName: this.Dom_StaffName,\r\n staffEmailAddress: this.Dom_staffEmailAddress,\r\n serviceId: this.Dom_serviceId,\r\n serviceName: this.Dom_serviceName,\r\n price: this.Dom_price,\r\n street: null,\r\n city: null,\r\n state: null,\r\n country: null,\r\n postalCode: null,\r\n notes: this.Notes,\r\n subject: this.Subject,\r\n //subject : Questions_AnsList[0]?.answer,\r\n startDate: this.startDate,\r\n endDate: this.endDate,\r\n needOnlineMeeting: true,\r\n localTimeString: localTime,\r\n lastAppointmentComments: this.lastAppointmentComments,\r\n isPrivateNhs: isFundedOPtionValue,\r\n bcrm_preferredcontactmethod: this.preferredcontactmethod,\r\n Duration: 30,\r\n /**Question Json */\r\n bcrm_customerresponse: JSON.stringify(Questions_AnsList),\r\n relatedPersonCollection: [\r\n {\r\n id: environment.LoginUserId,\r\n Name: this.FirstName + \" \" + this.LastName,\r\n Email: this.userEmail,\r\n Phone: this.Phone,\r\n IsProxy: true\r\n },\r\n {\r\n id: this.ProxyId,\r\n Name: this.OptionalFirstName + \" \" + this.OptionalLastName,\r\n Email: this.OptionaluserEmail,\r\n Phone: this.OptionaluserMobile,\r\n IsProxy: this.ISPROXYVALUE\r\n }\r\n\r\n ]\r\n };\r\n\r\n this.RequestAppointmentsData = RequestAppointmentsDataToPost;\r\n this.QNA = JSON.parse(RequestAppointmentsDataToPost.bcrm_customerresponse);\r\n this.ServiceName = RequestAppointmentsDataToPost.serviceName;\r\n this.DoctorFullName = RequestAppointmentsDataToPost.StaffName;\r\n\r\n if (this.SelectedDoctor == \"2\") {\r\n this.DoctorFullName = \"Any one\"\r\n }\r\n\r\n\r\n //this.patient_Name = RequestAppointmentsDataToPost.name;\r\n this.patient_Email = RequestAppointmentsDataToPost.email;\r\n this.patient_MobilePhone = RequestAppointmentsDataToPost.phone;\r\n\r\n this.Subject = RequestAppointmentsDataToPost.subject;\r\n this.Comment = RequestAppointmentsDataToPost.notes;\r\n this.bcrm_anythingnew = RequestAppointmentsDataToPost.lastAppointmentComments;\r\n\r\n }\r\n //#endregion\r\n\r\n //#region Submit to check consent form\r\n Submit(DatatoPost): void {\r\n debugger\r\n debugger;\r\n DatatoPost.Notes = \" \";\r\n DatatoPost.IsProxy = this.GuardianValue;\r\n DatatoPost.bcrm_patientguardian = \"\";\r\n DatatoPost.contactid = environment.LoginUserId\r\n DatatoPost.name = environment.LoginUserfullName\r\n //this.pay(this.Dom_price, DatatoPost)\r\n this.PatientBooking(DatatoPost);\r\n }\r\n //#endregion\r\n\r\n //#region Create Appointment In CRM\r\n createAppointmentInCRM(RequestAppointmentsData) {\r\n debugger;\r\n //*************Show / hide loader *******************/\r\n $('#ftco-loader').addClass('show');\r\n /**************************************** */\r\n this.BookServies.createAppointment(RequestAppointmentsData).subscribe((res) => {\r\n if (res) {\r\n //*************Show / hide loader *******************/\r\n $('#ftco-loader').removeClass('show');\r\n /**************************************** */\r\n this.toastr.success(\"Appointment created successfully\");\r\n //Swal.fire('Appointment created successfully')\r\n this.router.navigate(['/']);\r\n } else {\r\n //*************Show / hide loader *******************/\r\n $('#ftco-loader').removeClass('show');\r\n /**************************************** */\r\n this.toastr.error(\"Appointment did not create\");\r\n }\r\n\r\n }, (err) => {\r\n //*************Show / hide loader *******************/\r\n $('#ftco-loader').removeClass('show');\r\n /****************** -------- **********************/\r\n this.toastr.error(err, \"Error : \");\r\n // this.router.navigate(['/']);\r\n });\r\n }\r\n //#endregion\r\n\r\n //#region Payment Process\r\n pay(amount, RequestAppointmentsData) {\r\n //*************Show / hide loader *******************/\r\n $('#ftco-loader').addClass('show');\r\n /**************************************** */\r\n\r\n var localThis = this;\r\n localThis.createAppointmentInCRM(RequestAppointmentsData);\r\n // var localThis = this;\r\n // var handler = (window).StripeCheckout.configure({\r\n // key: 'pk_test_tciTRCe2Ctpyi3MQ2xVW4YDk00RH0x9XCO',\r\n // locale: 'auto',\r\n // token: function (token: any) {\r\n // // You can access the token ID with `token.id`.\r\n // // Get the token ID to your server-side code for use.\r\n // console.log(token)\r\n // /** ------------Call payment Process Api The Done Payment*------------------ */\r\n // localThis.BookServies.paymentProcess(amount, token).subscribe((res) => {\r\n // if (res) {\r\n // localThis.toastr.info(\"Payment Done\", res.toString())\r\n // //*************Show / hide loader *******************/\r\n // $('#ftco-loader').removeClass('show');\r\n // /**************************************** */\r\n // localThis.createAppointmentInCRM(RequestAppointmentsData);\r\n\r\n // }\r\n // }, (err) => {\r\n // localThis.createAppointmentInCRM(RequestAppointmentsData);\r\n // //*************Show / hide loader *******************/\r\n // $('#ftco-loader').removeClass('show');\r\n // /****************** -------- **********************/\r\n // this.toastr.error(err, \"Error : \");\r\n // //this.router.navigate(['/']);\r\n // });\r\n // }\r\n // });\r\n // handler.open({\r\n // name: 'OxVc Portal',\r\n // description: 'Virtual Clinic',\r\n // amount: amount * 100,\r\n // currency: \"GBP\",\r\n // });\r\n }\r\n //#endregion\r\n\r\n //#region Check Patient Consent\r\n\r\n PatientBooking(AppointmentData) {\r\n debugger;\r\n //*************Show / hide loader *******************/\r\n $('#ftco-loader').addClass('show');\r\n /**************************************** */\r\n\r\n if (this.SelectedDoctor == '2') {\r\n this.createAppointmentEMR(AppointmentData);\r\n }\r\n\r\n else {\r\n this.createAppointmentInCRM(AppointmentData);\r\n }\r\n\r\n\r\n }\r\n //#endregion\r\n\r\n //#region Load Payment Process script\r\n loadStripe() {\r\n if (!window.document.getElementById('stripe-script')) {\r\n var s = window.document.createElement(\"script\");\r\n s.id = \"stripe-script\";\r\n s.type = \"text/javascript\";\r\n s.src = \"https://checkout.stripe.com/checkout.js\";\r\n s.onload = () => {\r\n this.handler = (window).StripeCheckout.configure({\r\n key: 'pk_test_tciTRCe2Ctpyi3MQ2xVW4YDk00RH0x9XCO',\r\n locale: 'auto',\r\n token: function (token: any) {\r\n // You can access the token ID with `token.id`.\r\n // Get the token ID to your server-side code for use.\r\n // console.log(token)\r\n alert('Payment Success!!');\r\n }\r\n });\r\n }\r\n window.document.body.appendChild(s);\r\n }\r\n }\r\n //#endregion\r\n\r\n //#region Function : To convert the Date in to local date string\r\n DateToLocalString(acept_Date) {\r\n let day = acept_Date.getDate() < 10 ? \"0\" + acept_Date.getDate() : \"\" + acept_Date.getDate();\r\n let month = acept_Date.getMonth() < 9 ? \"0\" + (acept_Date.getMonth() + 1) : \"\" + (acept_Date.getMonth() + 1);\r\n let hour = acept_Date.getHours() < 10 ? \"0\" + acept_Date.getHours() : \"\" + acept_Date.getHours();\r\n let minutes = acept_Date.getMinutes() < 10 ? \"0\" + acept_Date.getMinutes() : \"\" + acept_Date.getMinutes();\r\n return day + \"/\" + month + \"/\" + acept_Date.getFullYear() + \" \" + hour + \":\" + minutes;\r\n }\r\n //#endregion\r\n\r\n //#region Generic Fuction to filter the Service on the basis of the hidden from Customers\r\n filterServiceOfType(condition) {\r\n if (this.allServices != null) {\r\n return this.allServices.filter(x => x.isHiddenFromCustomers == condition);\r\n }\r\n }\r\n //#endregion\r\n\r\n getAllProxy() {\r\n\r\n debugger\r\n //*************Show / hide loader *******************/\r\n $('#ftco-loader').addClass('show');\r\n /**************************************** */\r\n this.ProxyData = null;\r\n this.sickNotesService.getProxyDetails(environment.LoginUserId).subscribe((res) => {\r\n if (res != null) {\r\n this.ProxyData = res;\r\n }\r\n\r\n $('#ftco-loader').removeClass('show');\r\n /**************************************** */\r\n }, (err) => {\r\n //*************Show / hide loader *******************/\r\n $('#ftco-loader').removeClass('show');\r\n /****************** -------- **********************/\r\n this.toastr.error(err, \"Error : \");\r\n this.router.navigate(['/']);\r\n });\r\n }\r\n\r\n ChecktheGuardianValue(Event) {\r\n debugger\r\n var DataofEvent = Event.currentTarget.value;\r\n if (DataofEvent != environment.LoginUserId) {\r\n this.GuardianValue = true\r\n\r\n }\r\n else {\r\n this.GuardianValue = false;\r\n }\r\n\r\n }\r\n\r\n OtpVereficationFunction(otp) {\r\n if (this.RandomNumber == otp) {\r\n this.OtpVerified = true;\r\n var Hi = \"Welcome \"\r\n this.toastr.success(Hi, \"You have been verified now\");\r\n }\r\n else {\r\n this.toastr.error(\"Invalid OTP\");\r\n localStorage.setItem('OTPVALIDATION', \"Invalid Otp\")\r\n return\r\n }\r\n }\r\n\r\n CreateNewPatient() {\r\n debugger\r\n\r\n if (this.OtpVerified == true) {\r\n //*************Show / hide loader *******************/\r\n $('#ftco-loader').addClass('show');\r\n /************************************************** */\r\n var DataToPost = {\r\n firstname: this.FirstName,\r\n lastname: this.LastName,\r\n emailaddress1: this.userEmail,\r\n mobilephone: this.userMobile,\r\n bcrm_nhsnumber: this.NHSNumber,\r\n birthdate: this.PatientDOB,\r\n Description: this.SubjectMain,\r\n CaseCreated: true,\r\n patientExist: this.Patientexistcheck,\r\n Casepreferred_method_of_contact: this.Casepreferred_method_of_contact,\r\n casetypecode: this.casetypecode,\r\n CaseDescription: this.SubjectMain,\r\n gendercode: this.Gender\r\n\r\n }\r\n if (this.CheckExist != null || this.CheckExist != undefined) {\r\n DataToPost[\"Id\"] = this.CheckExist.Id\r\n DataToPost[\"fullname\"] = this.CheckExist.fullname\r\n }\r\n debugger\r\n this.BookServies.CreatePatientInCRMAppointment(DataToPost).subscribe((res) => {\r\n\r\n if (res[\"status\"] == true) {\r\n this.toastr.success(\"Request submitted successfully \");\r\n location.reload();\r\n }\r\n else {\r\n this.toastr.error(\"Error while creating Contact\");\r\n }\r\n $('#ftco-loader').removeClass('show');\r\n /**************************************** */\r\n }, (err) => {\r\n //*************Show / hide loader *******************/\r\n $('#ftco-loader').removeClass('show');\r\n /****************** -------- **********************/\r\n this.toastr.error(err, \"Error : \");\r\n // this.router.navigate(['/bookAppointment']);\r\n });\r\n\r\n }\r\n else {\r\n }\r\n }\r\n\r\n CreateNewProxy() {\r\n debugger\r\n var Optionalphone = $(\"#Optionalphone\").val();\r\n if (Optionalphone != \"\") {\r\n this.OptionaluserMobile = Optionalphone;\r\n }\r\n\r\n //*************Show / hide loader *******************/\r\n $('#ftco-loader').addClass('show');\r\n /************************************************** */\r\n\r\n var DataToPost = {\r\n firstname: this.OptionalFirstName,\r\n lastname: this.OptionalLastName,\r\n emailaddress1: this.OptionaluserEmail,\r\n mobilephone: this.OptionaluserMobile,\r\n bcrm_nhsnumber: this.OptionalNHSNumber,\r\n birthdate: this.OptionalPatientDOB\r\n }\r\n\r\n this.BookServies.CreatePatientInCRMAppointment(DataToPost).subscribe((res) => {\r\n\r\n if (res[\"status\"] == true) {\r\n this.ProxyId = res[\"createPatient\"].Id;\r\n }\r\n else {\r\n this.toastr.error(\"Error while creating Patient\");\r\n }\r\n $('#ftco-loader').removeClass('show');\r\n /**************************************** */\r\n }, (err) => {\r\n //*************Show / hide loader *******************/\r\n $('#ftco-loader').removeClass('show');\r\n /****************** -------- **********************/\r\n this.toastr.error(err, \"Error : \");\r\n //this.router.navigate(['/']);\r\n });\r\n\r\n }\r\n Generatetherandomnumber() {\r\n debugger\r\n $(`#HidetheNHS`).hide();\r\n this.userMobile = $(\"#Phone\").val()\r\n if (this.userMobile == \"\" || this.userMobile == \"+44\") {\r\n return this.toastr.warning(\"Please fill all the fields\");\r\n }\r\n\r\n else {\r\n $(`#OTPVerficationDiv`).show();\r\n $(`#Services`).show();\r\n //*************Show / hide loader *******************/\r\n $('#ftco-loader').addClass('show');\r\n /************************************************** */\r\n var val = Math.floor(1000 + Math.random() * 9000);\r\n this.RandomNumber = val;\r\n localStorage.setItem('OTPNumber', this.RandomNumber)\r\n\r\n if (this.userMobile.includes(\"+\") == true) {\r\n var MobileNo = this.userMobile.split(\"+\")[1]\r\n var string = \"%2B\"\r\n var MobileNo2 = string + MobileNo;\r\n }\r\n\r\n this.BookServies.SendOTP(this.RandomNumber, MobileNo2).subscribe((res) => {\r\n\r\n if (res == true) {\r\n }\r\n else {\r\n this.toastr.error(\"Error while send otp\");\r\n }\r\n $('#ftco-loader').removeClass('show');\r\n /**************************************** */\r\n }, (err) => {\r\n //*************Show / hide loader *******************/\r\n $('#ftco-loader').removeClass('show');\r\n /****************** -------- **********************/\r\n this.toastr.error(err, \"Error : \");\r\n //this.router.navigate(['/']);\r\n });\r\n }\r\n }\r\n\r\n\r\n createAppointmentEMR(DataOfEMR): void {\r\n debugger;\r\n\r\n var DatatoPost = {\r\n patientId: DataOfEMR.contactid,\r\n patientEmail: DataOfEMR.email,\r\n patientMobilephone: DataOfEMR.phone,\r\n subject: DataOfEMR.subject,\r\n msemr_comment: \"\",\r\n bcrm_anythingnewsinceyourlastappointment: DataOfEMR.lastAppointmentComments,\r\n bcrm_funded: \"\",\r\n msemr_participantstatus: \"\",\r\n bcrm_servicename: DataOfEMR.serviceName,\r\n bcrm_serviceid: DataOfEMR.serviceId,\r\n bcrm_serviceduration: \"30\",\r\n //msemr_starttime: DataOfEMR.startDate,\r\n msemr_starttime: this.EMRStartDateofAppointment,\r\n msemr_endtime: this.EMRendtDateofAppointment,\r\n // msemr_endtime: DataOfEMR.endDate,\r\n doctorfullname: DataOfEMR.StaffName,\r\n bcrm_doctoremail: DataOfEMR.staffEmailAddress,\r\n bcrm_staffid: DataOfEMR.staffId,\r\n bcrm_preferredcontactmethod: DataOfEMR.bcrm_preferredcontactmethod,\r\n bcrm_customerresponse: DataOfEMR.bcrm_customerresponse,\r\n relatedPersonCollection: DataOfEMR.relatedPersonCollection,\r\n bcrm_appointmenttype: \"101\",\r\n patientName: DataOfEMR.name,\r\n }\r\n\r\n //*************Show / hide loader *******************/\r\n $('#ftco-loader').addClass('show');\r\n /****************** -------- **********************/\r\n this.requestserive.addAppiontmentERM(DatatoPost).subscribe((res) => {\r\n //*************Show / hide loader *******************/\r\n $('#ftco-loader').removeClass('show');\r\n /****************** -------- **********************/\r\n debugger;\r\n if (res == 'Success') {\r\n this.toastr.success(\"Request Appointment Successfully created\");\r\n this.router.navigate(['/']);\r\n }\r\n else {\r\n this.toastr.info(res.toString(), \"Info\");\r\n }\r\n }, (err) => {\r\n //*************Show / hide loader *******************/\r\n $('#ftco-loader').removeClass('show');\r\n /****************** -------- **********************/\r\n this.toastr.error(err, \"Error : \");\r\n });\r\n }\r\n\r\n\r\n ShowtheFunction(Event) {\r\n debugger\r\n if (Event.checked == true) {\r\n this.ISPROXYVALUE = Event.checked;\r\n $(`#OptionalParticipant`).show();\r\n }\r\n else {\r\n this.ISPROXYVALUE = false;\r\n $(`#OptionalParticipant`).hide();\r\n }\r\n }\r\n\r\n\r\n // check email validation//\r\n checkEMAIL(Event) {\r\n debugger\r\n this.Emailinput = document.getElementById('emailInfo');\r\n const emailaddress1 = Event['currentTarget']['value'];\r\n var format = /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\r\n\r\n if (format.test(emailaddress1)) {\r\n this.specialCharacteremail = true;\r\n this.callemailfunction = true;\r\n }\r\n\r\n if (!format.test(emailaddress1)) {\r\n this.specialCharacteremail = false;\r\n this.callemailfunction = false;\r\n }\r\n\r\n this.Emailinput.classList.add('toolBox');\r\n this.Emailinput.classList.remove('tooltiptext');\r\n\r\n }\r\n\r\n // check email validation//\r\n checkEMAILPartner(Event) {\r\n debugger\r\n this.Emailinputpartner = document.getElementById('emailInfopartner');\r\n const PartnerEmail = Event['currentTarget']['value'];\r\n var format = /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\r\n\r\n if (format.test(PartnerEmail)) {\r\n this.specialCharacteremailpartner = true;\r\n }\r\n\r\n if (!format.test(PartnerEmail)) {\r\n this.specialCharacteremailpartner = false;\r\n }\r\n\r\n this.Emailinputpartner.classList.add('toolBox');\r\n this.Emailinputpartner.classList.remove('tooltiptext');\r\n\r\n }\r\n\r\n\r\n CheckPatientExist() {\r\n debugger\r\n\r\n if (this.FirstName != undefined || this.LastName != undefined || this.userEmail != \"\" || this.PatientDOB != undefined) {\r\n //*************Show / hide loader *******************/\r\n $('#ftco-loader').addClass('show');\r\n /**************************************** */\r\n this.CheckExist = null;\r\n this.BookServies.ChecKExistingPatient(this.userEmail, this.PatientDOB).subscribe((res) => {\r\n if (res != null) {\r\n this.CheckExist = res;\r\n this.Patientexistcheck = true;\r\n this.CreateNewPatient();\r\n //$('#ftco-loader').removeClass('show');\r\n }\r\n else {\r\n this.CreateNewPatient();\r\n }\r\n\r\n /**************************************** */\r\n }, (err) => {\r\n //*************Show / hide loader *******************/\r\n $('#ftco-loader').removeClass('show');\r\n /****************** -------- **********************/\r\n this.toastr.error(err, \"Error : \");\r\n //this.router.navigate(['/']);\r\n });\r\n }\r\n else {\r\n this.toastr.warning(\"Please fill all mandatory fileds\");\r\n return\r\n }\r\n\r\n }\r\n\r\n openTeamsMeeting(): void {\r\n debugger;\r\n //window.open(this.teamsURL);\r\n window.location.replace(`https://oxdhacs.azurewebsites.net/?teamsLink=${this.teamsURL}&name=${this.appContactName}`); \r\n }\r\n \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 yourself

\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n  \r\n     \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n\r\n\r\n
\r\n
\r\n\r\n \r\n
\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 { FormBuilder } from '@angular/forms';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppointmentServiceService } from 'src/app/ApiService/AppointmentService/appointment-service.service';\r\ndeclare var $: any;\r\n@Component({\r\n selector: 'app-check-appointment-status',\r\n templateUrl: './check-appointment-status.component.html',\r\n styleUrls: ['./check-appointment-status.component.css']\r\n})\r\nexport class CheckAppointmentStatusComponent implements OnInit {\r\n ApptID: string;\r\n GPID: string;\r\n responseData: any\r\n constructor(\r\n private router: Router,\r\n private activeRoute: ActivatedRoute,\r\n private formBuilder: FormBuilder,\r\n public Services: AppointmentServiceService,\r\n private datePipe: DatePipe\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.activeRoute.queryParamMap.subscribe(params => {\r\n console.log('Observable check apt:', params);\r\n this.ApptID = params.get('ApptID');\r\n this.GPID = params.get('GPID'); if (this.ApptID && this.GPID) {\r\n this.CheckAppointmentStatus(this.ApptID, this.GPID);\r\n }\r\n else {\r\n this.router.navigate(['']);\r\n }\r\n });\r\n }\r\n CheckAppointmentStatus(teamName, serviceName) {\r\n $('#ftco-loader').addClass('show');\r\n this.Services.CheckAppointmentStatus(teamName, serviceName).subscribe((res: any) => {\r\n console.log({ res });\r\n this.responseData = res;\r\n if (res?.status) {\r\n window.location.replace(res?.responseMessage);\r\n } else {\r\n // this.router.navigate(['']);\r\n }\r\n $('#ftco-loader').removeClass('show');\r\n });\r\n $('#ftco-loader').removeClass('show');\r\n }\r\n\r\n}\r\n","
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\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\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { AppointmentServiceService } from 'src/app/ApiService/AppointmentService/appointment-service.service';\r\n@Component({\r\n selector: 'app-cimar',\r\n templateUrl: './cimar.component.html',\r\n styleUrls: ['./cimar.component.css']\r\n})\r\nexport class CimarComponent implements OnInit {\r\n form: FormGroup;\r\n tableData: any = []\r\n\r\n constructor(private fb: FormBuilder, public Services: AppointmentServiceService) {\r\n this.form = this.fb.group({\r\n title: ['', Validators.required],\r\n url: ['', Validators.required]\r\n });\r\n }\r\n ngOnInit(): void {\r\n this.getServices()\r\n }\r\n\r\n getServices(): void {\r\n this.Services.GetServices().subscribe((res: any) => {\r\n console.log({ res });\r\n if (res?.length) {\r\n this.tableData = res\r\n }\r\n // return res\r\n })\r\n }\r\n onSubmit() {\r\n if (this.form.valid) {\r\n console.log('Form Submitted', this.form.value);\r\n } else {\r\n console.log('Form is invalid');\r\n }\r\n }\r\n KHATAM(id) {\r\n console.log({ id });\r\n\r\n this.Services.DeletService(id).subscribe((res: any) => {\r\n console.log('delet', { res });\r\n this.getServices()\r\n // return res\r\n })\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n Field 1 is required\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n Field 2 is required\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
#NameChannelTeamGrp IDDescriptionDurationAction
{{ndx}}{{data?.name}}{{data?.channelName}}{{data?.teamsName}}{{data?.teamsGroupId}}{{data?.description}}{{data?.defaultDuration}}\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\nimport { ActivatedRoute, Router } from \"@angular/router\"\r\nimport { BookAppointmentsServiesService } from 'src/app/ApiService/Booking/book-appointments-servies.service';\r\nimport { ToastrService } from 'ngx-toastr';\r\ndeclare var $: any;\r\n@Component({\r\n selector: 'app-contact-us',\r\n templateUrl: './contact-us.component.html',\r\n styleUrls: ['./contact-us.component.css']\r\n})\r\nexport class ContactUsComponent implements OnInit {\r\n DataMain:any;\r\n AppointmenrNo:any;\r\n DOB:any;\r\n OptionalPatient:any;\r\n constructor(private router: Router,private toastr: ToastrService, public BookServies: BookAppointmentsServiesService,) {}\r\n\r\n\r\n ngOnInit(): void {\r\n debugger\r\n this.DataMain = history.state.AppointmentDetail;\r\n if(this.DataMain.contact_name == this.DataMain.GroupParticipantName){\r\n this.OptionalPatient = \"\";\r\n }\r\n else{\r\n this.OptionalPatient = this.DataMain.GroupParticipantName;\r\n }\r\n this.DOB = history.state.DateofBirth;\r\n this.AppointmenrNo = history.state.AppointmentNumbers;\r\n }\r\n\r\n RedirectToMeeting() {\r\n debugger\r\n\r\n //UpdateTheActualstart() { \r\n debugger\r\n //*************Show / hide loader *******************/\r\n $('#ftco-loader').addClass('show');\r\n /************************************************** */\r\n \r\n this.BookServies.Updatethedateinactualstart(this.DOB,this.AppointmenrNo).subscribe((res) => {\r\n if(res == true){ \r\n \r\n window.open(`https://oxdhacs.azurewebsites.net/?img=https://oxdhblob.blob.core.windows.net/oxdh/OX_virtual_clinic-removebg-preview.png&name=${this.DataMain.GroupParticipantName}&teamsLink=${this.DataMain.Teams_URL}`);\r\n this.router.navigate(['/']);\r\n setTimeout(function () {\r\n window.location.reload();\r\n }, 200);\r\n \r\n }\r\n else{\r\n // window.open(`https://oxdhacs.azurewebsites.net/?teamsLink=${this.DataMain.Teams_URL}`);\r\n window.open(`https://oxdhacs.azurewebsites.net/?img=https://oxdhblob.blob.core.windows.net/oxdh/OX_virtual_clinic-removebg-preview.png&name=${this.DataMain.GroupParticipantName}&teamsLink=${this.DataMain.Teams_URL}`);\r\n this.router.navigate(['/']);\r\n setTimeout(function () {\r\n window.location.reload();\r\n }, 200);\r\n }\r\n $('#ftco-loader').removeClass('show');\r\n /**************************************** */\r\n }, (err) => {\r\n //*************Show / hide loader *******************/\r\n $('#ftco-loader').removeClass('show');\r\n /****************** -------- **********************/\r\n });\r\n }\r\n \r\n}\r\n","\r\n\r\n
\r\n \r\n
\r\n

Video call setup

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

\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n {{DataMain.contact_name}}\r\n
\r\n \r\n
\r\n {{DataMain.patientPhoneNumber}}\r\n
\r\n \r\n
\r\n {{OptionalPatient}}\r\n
\r\n \r\n
\r\n\r\n
\r\n\r\n
\r\n {{DataMain.bcrm_appointmentno}}\r\n
\r\n\r\n
\r\n {{DataMain.doctor_name}}\r\n
\r\n \r\n
\r\n {{DataMain.bcrm_doctorstatusformatted}}\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n\r\n
\r\n {{DataMain.bcrm_preferredcontactmethodName}}\r\n
\r\n\r\n
\r\n {{DataMain.subject}}\r\n
\r\n \r\n
\r\n {{DataMain.StartTime | date:'dd/MM/yyyy hh:mm aa'}}\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n
\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\nimport { DepartmentsService } from 'src/app/ApiService/Department/departments.service';\r\nimport { Router } from \"@angular/router\"\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport axios from 'axios';\r\nimport { HeaderComponent } from 'src/app/Navigation/header/header.component';\r\nimport { environment } from 'src/environments/environment';\r\ndeclare var $: any;\r\n@Component({\r\n selector: 'app-deparments',\r\n templateUrl: './deparments.component.html',\r\n styleUrls: ['./deparments.component.css']\r\n})\r\n\r\nexport class DeparmentsComponent implements OnInit {\r\n\r\n //------ variables -----//\r\n allDeparment: any;\r\n allDoctors: [];\r\n departmentDetails: object;\r\n Token: string;\r\n allDeparments: boolean = true;\r\n searchText;\r\n searchDept;\r\n myImage;\r\n isLoggedIn: boolean = false;\r\n DefaultMainImage:any;\r\n ServiceIdMain:any;\r\n ServiceName:any;\r\n constructor(public departmentService: DepartmentsService,\r\n private router: Router,\r\n private toastr: ToastrService,) {\r\n // this.isLoggedIn = headerComponent.loggedIn;\r\n \r\n /******Active Current Component Nav****** */\r\n $(\".nav-item\").removeClass(\"active\");\r\n $(\"#nav-item-Doctor\").addClass(\"active\");\r\n /******End:Active Current Component Nav****** */\r\n }\r\n ngOnInit(): void {\r\n debugger; \r\n\r\n this.DefaultMainImage = \"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\"\r\n\r\n axios.get(`${environment.apiUrl}/api/NoAuth/GetDepartments`).then(\r\n // //*************Show / hide loader *******************/\r\n // $('#ftco-loader').addClass('show');\r\n // /**************************************** */\r\n (response) => { \r\n debugger;\r\n var result = response.data;\r\n this.allDeparment = result['value'];\r\n var option = '';\r\n for (var i = 0; i < this.allDeparment.length; i++) {\r\n var optionvalue = this.allDeparment[i];\r\n option += \"\";\r\n }\r\n $('.js-example-basic-single').html(option);\r\n $('.js-example-basic-single').select2();\r\n //var Data=this.allDeparment;\r\n /*********** Get All Doctores On load Of Page ******/\r\n this.allDoctorsDataByDept(this.allDeparment[0]['Id']);\r\n this.ServiceIdMain = this.allDeparment[0]['Id'];\r\n this.ServiceName = this.allDeparment[0]['DisplayName'];\r\n // //*************Show / hide loader *******************/\r\n // $('#ftco-loader').removeClass('show');\r\n // /**************************************** */\r\n },\r\n (error) => {\r\n \r\n console.log(error);\r\n //*************Show / hide loader *******************/\r\n $('#ftco-loader').removeClass('show');\r\n /**************************************** */\r\n }\r\n );\r\n var localThis = this;\r\n $('#mySelect2').on('select2:select', function (e) {\r\n \r\n var Dept_Id = e.params.data.id;\r\n localThis.allDoctorsDataByDept(Dept_Id);\r\n });\r\n // /**Get All Departments And Show on the Side nav** */\r\n \r\n }\r\n /*Api to get all the Doctors On load */\r\n allDoctorsData(): void {debugger\r\n $(\".fc-event\").removeClass(\"Active\");\r\n $(`#DefaultSelect`).addClass(\"Active\");\r\n //*************Show / hide loader *******************/\r\n $('#ftco-loader').addClass('show');\r\n /**************************************** */\r\n this.departmentService.getDoctorsdata().subscribe((res) => {\r\ndebugger;\r\n this.allDoctors = res['value'];\r\n this.searchText = '';\r\n //*************Show / hide loader *******************/\r\n $('#ftco-loader').removeClass('show');\r\n /**************************************** */\r\n }, (err) => {\r\n //*************Show / hide loader *******************/\r\n $('#ftco-loader').removeClass('show');\r\n /****************** -------- **********************/\r\n this.toastr.error(err, \"Error : \");\r\n });\r\n }\r\n allDoctorsDataByDept(Dept_Id): void {\r\n debugger\r\n var ServiceData = this.allDeparment.find(x => x['Id'].toLowerCase() == Dept_Id);\r\n this.ServiceIdMain = Dept_Id;\r\n this.ServiceName = ServiceData.DisplayName;\r\n \r\n this.allDoctors = [];\r\n $(\".fc-event\").removeClass(\"Active\");\r\n //*************Show / hide loader *******************/\r\n $('#ftco-loader').addClass('show');\r\n /**************************************** */\r\n\r\n //checking by anjali//\r\n axios.get(`${environment.apiUrl}/api/NoAuth/GetMembers?Id=${Dept_Id}`).then(\r\n (response) => {\r\n debugger\r\n var res = response.data;\r\n $(`#${Dept_Id}`).addClass(\"Active\");\r\n \r\n this.allDoctors = res['value'];\r\n\r\n // for(let i=0;i {\r\n \r\n //*************Show / hide loader *******************/\r\n $('#ftco-loader').removeClass('show');\r\n /****************** -------- **********************/\r\n \r\n }\r\n );\r\n }\r\n backToAllDepartments(): void { debugger\r\n this.myImage = '';\r\n this.allDeparments = true;\r\n }\r\n getProfile(DoctorID: string, Image: string): void {\r\n debugger\r\n //*************Show / hide loader *******************/\r\n $('#ftco-loader').addClass('show');\r\n /**************************************** */\r\n this.departmentDetails = null;\r\n this.departmentService.getDepartmentsMembersProfile(DoctorID).subscribe((res) => {\r\n this.departmentDetails = res;\r\n this.allDeparments = false;\r\n this.myImage = Image;\r\n //*************Show / hide loader *******************/\r\n $('#ftco-loader').removeClass('show');\r\n /**************************************** */\r\n }, (err) => {\r\n //*************Show / hide loader *******************/\r\n $('#ftco-loader').removeClass('show');\r\n /****************** -------- **********************/\r\n this.toastr.error(err, \"Error : \");\r\n });\r\n }\r\n\r\n OpenDetails(Observation) {\r\n // this.router.navigate(['/Appointment'],{state: {ClinicianDetail: Observation, ServiceIDDetails: this.ServiceIdMain, ServiceNameDetails: this.ServiceName, }});\r\n }\r\n\r\n}\r\n","\r\n\r\n
\r\n \r\n
\r\n

Video call setup

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

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

Find a Clinician

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
Search Departments in list
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
GMC Number : {{doctors.GMCNumber}}
\r\n
Speciality :  {{doctors.SpecialityRecognition}}
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\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\nimport { DoctorsService } from 'src/app/ApiService/Doctors/doctors.service';\r\nimport { Router, ActivatedRoute } from \"@angular/router\";\r\nimport { ToastrService } from 'ngx-toastr';\r\n\r\ndeclare var $: any\r\n@Component({\r\n selector: 'app-doctors',\r\n templateUrl: './doctors.component.html',\r\n styleUrls: ['./doctors.component.css']\r\n})\r\nexport class DoctorsComponent implements OnInit {\r\ndebugger\r\n allDoctors: [];\r\n doctorDetails: any;\r\n doctorSpDetails: any;\r\n Token: string;\r\n allDoctores: boolean = true;\r\n profileImage: string = '../../../assets/images/alldoctors (1).png'\r\n DoctorID: any;\r\n isLoggedIn:boolean = false;\r\n skilldata:any;\r\n skill1:any;\r\n skill2:any;\r\n school1:any;\r\n school2:any;\r\n\r\n constructor(public doctorService: DoctorsService,\r\n private router: Router,\r\n private toastr: ToastrService,\r\n private activatedRoute: ActivatedRoute) { }\r\n\r\n ngOnInit(): void {\r\n debugger;\r\n var doctorId = this.activatedRoute.snapshot.paramMap.get('id'); \r\n \r\n this.getDoctorDetailSharePoint(doctorId);\r\n }\r\n\r\n getDoctorDetailSharePoint(doctorId: string): void {\r\n //*************Show / hide loader *******************/\r\n $('#ftco-loader').addClass('show');\r\n /**************************************** */\r\n this.doctorService.getDoctorDetailSharePoint(doctorId).subscribe((res) => {\r\n \r\n this.doctorSpDetails = res;\r\n \r\n if (this.doctorSpDetails['ProfilePic']!= null) {\r\n \r\n this.profileImage = `data:image/jpeg;base64,${this.doctorSpDetails['ProfilePic']}`\r\n }\r\n\r\n //*************Show / hide loader *******************/\r\n $('#ftco-loader').removeClass('show');\r\n /**************************************** */\r\n }, (err) => {\r\n //*************Show / hide loader *******************/\r\n $('#ftco-loader').removeClass('show');\r\n /****************** -------- **********************/\r\n this.toastr.error(err, \"Error : \");\r\n });\r\n\r\n }\r\n\r\n}\r\n","\r\n\r\n
\r\n \r\n
\r\n

Video call setup

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

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

{{doctorSpDetails.PreferredName}}\r\n

\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
Basic Details and Education
\r\n

GMC Number : {{doctorSpDetails.GMCNumber}}

\r\n

Email : {{doctorSpDetails.UserName}}

\r\n

Home Phone : {{doctorSpDetails.HomePhone}}

\r\n

Work Phone : {{doctorSpDetails.CellPhone}}

\r\n \r\n
\r\n \r\n
\r\n \r\n
Skills and Projects
\r\n

Specialisation : {{doctorSpDetails.Skills}}

\r\n

Qualifications : {{doctorSpDetails.LetterQualifications}}

\r\n

Projects : {{doctorSpDetails.PastProjects}}

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

About Me

\r\n {{doctorSpDetails.AboutMe}}\r\n
\r\n
\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, EventEmitter, Output } from '@angular/core';\r\nimport { environment } from 'src/environments/environment';\r\nimport { from } from 'rxjs';\r\nimport axios from 'axios';\r\nimport { Router } from '@angular/router';\r\ndeclare var $: any\r\ndeclare var Typed\r\n@Component({\r\n selector: 'app-home',\r\n templateUrl: './home.component.html',\r\n styleUrls: ['./home.component.css']\r\n})\r\nexport class HomeComponent implements OnInit {\r\n @Output() userName = new EventEmitter();\r\n B2CToken: string;\r\n data: object;\r\n allDoctors: object\r\n Istoken = false;\r\n UserName: string;\r\n myTimer:string;\r\n fadeArray:any=[];\r\n heading:any;\r\n DefaultMainImage:any;\r\n constructor( private router: Router,) {\r\n\r\n /******Active Current Component Nav****** */\r\n $(\".nav-item\").removeClass(\"active\");\r\n $(\"#nav-item-Home\").addClass(\"active\");\r\n /******End:Active Current Component Nav****** */\r\n }\r\n\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
\r\n
\r\n
\r\n
\r\n \r\n
\r\n

Appointment booked successfully

\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-not-found',\r\n templateUrl: './not-found.component.html',\r\n styleUrls: ['./not-found.component.css']\r\n})\r\nexport class NotFoundComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n ?\r\n
\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\nimport { environment } from 'src/environments/environment';\r\nimport { NgForm } from '@angular/forms';\r\nimport { BookAppointmentsServiesService } from 'src/app/ApiService/Booking/book-appointments-servies.service';\r\nimport { DepartmentsService } from 'src/app/ApiService/Department/departments.service';\r\nimport { RequestAppService } from 'src/app/ApiService/Booking/request-app.service';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\ndeclare var $: any;\r\n\r\n@Component({\r\n selector: 'app-request-appointment',\r\n templateUrl: './request-appointment.component.html',\r\n styleUrls: ['./request-appointment.component.css']\r\n})\r\n\r\nexport class RequestAppointmentComponent implements OnInit {\r\n /******************************Variables************************************** */\r\n allServices: any; bcrm_serviceid: string; allDoctors: any; bcrm_servicename: string; Questions: any; emailaddress1: string = environment.LoginUserEmail;\r\n UserPhoneNumber: string = \"+44\"; FullName: string = environment.LoginUserfullName; RequestAppointmentsData: object; patient_Name: any; patient_Email: any; Subject: any;\r\n Comment: any; ServiceName: any; DoctorFullName: any; patient_MobilePhone: any; bcrm_anythingnew: any; ServiceDuration: number = 30; dialcode: string; PhoneNumber: string; inputObj: any; requestDate: Date; reuestTime: String;\r\n bcrm_modifiedby:string;\r\n preferredcontactmethod: any;\r\n NhsValue :any;\r\n FirstName:any;\r\n LastName:any;\r\n RandomNumber:any; VerifyOTP:any; OtpVerified: boolean = false; PatientDOB:any;\r\n PatientAllDetails: any;\r\n StaffAllDetails: any;\r\n SelectedDoctor: any;\r\n Dom_serviceIdChecked: boolean = false;\r\n SelectedDoctorChecked: boolean = false;;\r\n EMRStartDateofAppointment:any;\r\n EMRendtDateofAppointment:any;\r\n selectedServiceDoctors: any;\r\n Dom_staffId: string; Dom_StaffName: string; Dom_staffEmailAddress: string;\r\n Dom_serviceDurationInMins: Number;\r\n IsTimeSlotArray: boolean = false; \r\n TimeSlotArray: object;\r\n today: Date;\r\n startDate: string; endDate: string;\r\n QNA:any; \r\n lastAppointmentComments: string;\r\n preferredcontactmethodValue: any ; \r\n PatientID:any;\r\n CaseId:any;\r\n StaffMainID:any;\r\n ServiceIdMain:any;\r\n ServiceAllDetails:any;\r\n /***************************Constructor********************************** */\r\n constructor(\r\n public BookServies: BookAppointmentsServiesService,\r\n public departmentService: DepartmentsService,\r\n public requestserive: RequestAppService,\r\n private toastr: ToastrService,\r\n private router: Router,\r\n private activatedRoute: ActivatedRoute,) {\r\n /**************** Active Current Tab ********************* */\r\n $(\".nav-item\").removeClass(\"active\");\r\n $(\"#nav-item-lobby\").addClass(\"active\");\r\n /**************** Active Current Tab End********************* */\r\n }\r\n ngOnInit(): void {\r\ndebugger\r\n this.PatientID = this.activatedRoute.snapshot.queryParams.PId;\r\n this.CaseId = this.activatedRoute.snapshot.queryParams.CaseId;\r\n this.StaffMainID = this.activatedRoute.snapshot.queryParams.StaffId;\r\n this.ServiceIdMain = this.activatedRoute.snapshot.queryParams.ServiceId;\r\n \r\n\r\n $(\"#Services1\").click(function () {debugger\r\n $(\"#your-image1\").attr(\"src\", \"../../../assets/images/doctor.png\");\r\n $(\"#your-image\").attr(\"src\", \"../../../assets/images/serviceactive.png\");\r\n })\r\n\r\n $(\"#Doctors\").click(function () {\r\n debugger\r\n $(\"#your-image1\").attr(\"src\", \"../../../assets/images/doctorfinal.png\");\r\n $(\"#your-image2\").attr(\"src\", \"../../../assets/images/questionactive.png\");\r\n })\r\n\r\n $(\"#Doctors1\").click(function () {debugger\r\n $(\"#your-image1\").attr(\"src\", \"../../../assets/images/doctoractive.png\");\r\n $(\"#your-image2\").attr(\"src\", \"../../../assets/images/question.png\");\r\n })\r\n $(\"#Questions\").click(function () {debugger\r\n $(\"#your-image\").attr(\"src\", \"../../../assets/images/serviceactive.png\");\r\n $(\"#your-image2\").attr(\"src\", \"../../../assets/images/question.png\");\r\n })\r\n $(\"#Questions1\").click(function () {debugger\r\n $(\"#your-image\").attr(\"src\", \"../../../assets/images/serviceactive.png\");\r\n $(\"#your-image2\").attr(\"src\", \"../../../assets/images/questionactive.png\");\r\n })\r\n $(\"#Details\").click(function () {debugger\r\n $(\"#your-image3\").attr(\"src\", \"../../../assets/images/detailactive.png\");\r\n $(\"#your-image4\").attr(\"src\", \"../../../assets/images/summaryactive.png\");\r\n })\r\n $(\"#Details1\").click(function () {debugger\r\n $(\"#your-image3\").attr(\"src\", \"../../../assets/images/details.png\");\r\n $(\"#your-image4\").attr(\"src\", \"../../../assets/images/summary.png\");\r\n })\r\n $(\"#Deta\").click(function () {debugger\r\n $(\"#your-image3\").attr(\"src\", \"../../../assets/images/detailactive.png\");\r\n $(\"#your-image2\").attr(\"src\", \"../../../assets/images/questionactive.png\");\r\n })\r\n $(\"#Detarev\").click(function () {debugger\r\n $(\"#your-image4\").attr(\"src\", \"../../../assets/images/summary.png\");\r\n })\r\n //#endregion\r\n \r\n var localThis = this;\r\n var date = new Date();\r\n localThis.today = new Date(date.getFullYear(), date.getMonth(), date.getDate());\r\n\r\n\r\n $('#datepicker').datepicker({\r\n \r\n autoclose: true,\r\n startDate: \"+0d\",\r\n // daysOfWeekDisabled: [6, 0],\r\n todayHighlight: true,\r\n minDate: new Date()\r\n });\r\n\r\n //#region Set Todays Date\r\n // if Today is Sunday Then Set Moday's Date:pandint\r\n $('#datepicker').datepicker('setDate', localThis.today);\r\n //#endregion\r\n\r\n //#region Function On-Change Of Date\r\n $('#datepicker').on('changeDate', function () {\r\n debugger\r\n if ($('#datepicker').datepicker('getFormattedDate') == \"\") {\r\n $('#datepicker').datepicker('setDate', localThis.today);\r\n } else {\r\n localThis.today = $('#datepicker').datepicker('getFormattedDate');\r\n localThis.TimeSlotArray = [];\r\n localThis.IsTimeSlotArray = false;\r\n localThis.startDate = null;\r\n }\r\n localThis.onDoctorChange(\"c4387ac2-1397-ed11-aad0-6045bdd29908\");\r\n });\r\n\r\n $(document).ready(function () {\r\n debugger\r\n var current_fs, next_fs, previous_fs; //fieldsets\r\n var opacity;\r\n\r\n $(\".next1\").click(function () {\r\ndebugger\r\n current_fs = $(this).parent();\r\n next_fs = $(this).parent().next();\r\n\r\n this.FirstName = $(\"#FirstName\").val()\r\n this.LastName = $(\"#LastName\").val()\r\n this.userEmail = $(\"#Email\").val()\r\n this.PatientDOB = $(\"#PatientDOB\").val()\r\n this.userMobile = $(\"#Phone\").val()\r\n\r\n if (this.FirstName == \"\" || this.LastName == \"\" || this.userEmail == \"\" || this.PatientDOB == \"\" || this.userMobile == \"\" ) {\r\n return false;\r\n }\r\n\r\n if (this.userMobile == \"+44\") {\r\n return false;\r\n }\r\n \r\n if (($('#your-image1').attr('src') == \"../../../assets/images/doctoractive.png\") && localThis.startDate == undefined) {\r\n return localThis.toastr.error(\"Please select a time slot for appointment\");\r\n }\r\n\r\n var RandomNumber = $(\"#VerifyOTP\").val(); \r\n let RandomNumber1 = localStorage.getItem(\"OTPNumber\"); \r\n let Otpvalidation = localStorage.getItem(\"OTPVALIDATION\"); \r\n\r\n if(Otpvalidation == \"Invalid Otp\"){\r\n debugger\r\n localStorage.setItem('OTPVALIDATION', \"\")\r\n $(\"#Doctors\").click(function () {\r\n debugger\r\n $(\"#your-image1\").attr(\"src\", \"../../../assets/images/doctor.png\");\r\n $(\"#your-image2\").attr(\"src\", \"../../../assets/images/question.png\");\r\n })\r\n return\r\n }\r\n\r\n if ($(\"#basic-information\").hasClass(\"active\") && !validateForm()) return false;\r\n //Add Class Active\r\n $(\"#progressbar li\").eq($(\"fieldset\").index(next_fs)).addClass(\"active\");\r\n\r\n //show the next fieldset\r\n next_fs.show();\r\n //hide the current fieldset with style\r\n current_fs.animate({ opacity: 0 }, {\r\n step: function (now) {\r\n // for making fielset appear animation\r\n opacity = 1 - now;\r\n\r\n current_fs.css({\r\n 'display': 'none',\r\n 'position': 'relative'\r\n });\r\n next_fs.css({ 'opacity': opacity });\r\n },\r\n duration: 600\r\n });\r\n });\r\n\r\n $(\".previous\").click(function () {\r\ndebugger\r\n current_fs = $(this).parent();\r\n previous_fs = $(this).parent().prev();\r\n\r\n //Remove class active\r\n $(\"#progressbar li\").eq($(\"fieldset\").index(current_fs)).removeClass(\"active\");\r\n\r\n //show the previous fieldset\r\n previous_fs.show();\r\n\r\n //hide the current fieldset with style\r\n current_fs.animate({ opacity: 0 }, {\r\n step: function (now) {\r\n // for making fielset appear animation\r\n opacity = 1 - now;\r\n\r\n current_fs.css({\r\n 'display': 'none',\r\n 'position': 'relative'\r\n });\r\n previous_fs.css({ 'opacity': opacity });\r\n },\r\n duration: 600\r\n });\r\n });\r\n $('.radio-group .radio').click(function () {\r\n\r\n $(this).parent().find('.radio').removeClass('selected');\r\n $(this).addClass('selected');\r\n });\r\n var currentTab = 0;\r\n function validateForm() {\r\n\r\n // This function deals with validation of the form fields\r\n var x, y, z, i, valid = true;\r\n x = document.getElementsByClassName(\"basic-information\");\r\n y = x[currentTab].getElementsByTagName(\"input\");\r\n z = x[currentTab].getElementsByTagName(\"textarea\");\r\n // A loop that checks every input field in the current tab:\r\n for (i = 0; i < y.length; i++) {\r\n // If a field is empty...\r\n if (y[i].value == \"\") {\r\n // add an \"invalid\" class to the field:\r\n y[i].className += \" invalid\";\r\n // and set the current valid status to false\r\n valid = false;\r\n }\r\n }\r\n for (i = 0; i < z.length; i++) {\r\n // If a field is empty...\r\n if (z[i].value == \"\") {\r\n // add an \"invalid\" class to the field:\r\n z[i].className += \" invalid\";\r\n // and set the current valid status to false\r\n valid = false;\r\n }\r\n }\r\n return valid; // return the valid status\r\n }\r\n $(\".submit\").click(function () {\r\n\r\n return false;\r\n })\r\n\r\n });\r\n\r\n this.NhsValue = \"2\";\r\n \r\n this.ServiceDetailsbyId();\r\n this.getPatientDetails();\r\n setTimeout(() => {this.StaffDetails();},1000);\r\n \r\n }\r\n\r\n getPatientDetails(): void {\r\n debugger\r\n //*************Show / hide loader *******************/\r\n $('#ftco-loader').addClass('show');\r\n /**************************************** */\r\n this.BookServies.getPatientDetailsById(this.PatientID).subscribe((res) => {\r\n let PatientDetails = res;\r\n\r\n this.PatientAllDetails = PatientDetails;\r\n //*************Show / hide loader *******************/\r\n $('#ftco-loader').removeClass('show');\r\n /**************************************** */\r\n }, (err) => {\r\n //*************Show / hide loader *******************/\r\n $('#ftco-loader').removeClass('show');\r\n /****************** -------- **********************/\r\n });\r\n }\r\n\r\n\r\n StaffDetails(): void {\r\n debugger\r\n //*************Show / hide loader *******************/\r\n $('#ftco-loader').addClass('show');\r\n /**************************************** */\r\n this.BookServies.GetStaffById(this.StaffMainID).subscribe((res) => {\r\n let StaffDetails = res;\r\n this.StaffAllDetails = StaffDetails;\r\n if(this.StaffAllDetails){\r\n this.onDoctorChange(this.StaffMainID);\r\n }\r\n //*************Show / hide loader *******************/\r\n $('#ftco-loader').removeClass('show');\r\n /**************************************** */\r\n }, (err) => {\r\n //*************Show / hide loader *******************/\r\n $('#ftco-loader').removeClass('show');\r\n /****************** -------- **********************/\r\n });\r\n }\r\n\r\n\r\n onDoctorChange(event): void {\r\ndebugger\r\n \r\n debugger;\r\n //*************Show / hide loader *******************/\r\n $('#ftco-loader').addClass('show');\r\n /***************************************************/\r\n\r\n if(event)\r\n\r\n debugger\r\n var SelectDate = new Date($('#datepicker').datepicker('getFormattedDate'));\r\n SelectDate = new Date(SelectDate.setHours(23, 59, 59))\r\n\r\n let selectedDate = SelectDate.toISOString();\r\n let startTime = selectedDate.split(\"T\")[0] + \"T08:00+00:00\" \r\n let endTime = selectedDate.split(\"T\")[0] + \"T20:00+00:00\"\r\n\r\n this.EMRStartDateofAppointment = startTime;\r\n this.EMRendtDateofAppointment = endTime;\r\n\r\n this.Dom_staffId = this.StaffAllDetails.Id;\r\n this.Dom_StaffName = this.StaffAllDetails.name;\r\n this.Dom_staffEmailAddress = this.StaffAllDetails.email;\r\n\r\n\r\n // const timeSlotRequest = {\r\n // staffEmail: this.Dom_staffEmailAddress,\r\n // selectedDate: selectedDate,\r\n // startTime: startTime,\r\n // endTime: endTime,\r\n // meetingTimeDuration: 20\r\n // }\r\n let timeSlotRequest = {\r\n staffId: this.Dom_staffId,\r\n staffName: this.Dom_StaffName,\r\n staffEmail: this.Dom_staffEmailAddress,\r\n duration: this.ServiceAllDetails[0].defaultDuration,\r\n slotsDate: selectedDate,\r\n day: SelectDate.getDay(),\r\n type: 1\r\n };\r\n\r\n this.BookServies.getStaffAvailableTime(timeSlotRequest).subscribe((res) => {\r\n debugger\r\n if (res) {\r\n this.TimeSlotArray = res;\r\n this.IsTimeSlotArray = true;\r\n\r\n //*************Show / hide loader *******************/\r\n $('#ftco-loader').removeClass('show');\r\n /***************** *********************** */\r\n }\r\n }, (err) => {\r\n //*************Show / hide loader *******************/\r\n $('#ftco-loader').removeClass('show');\r\n /****************** -------- **********************/\r\n this.toastr.error(err, \"Error : \");\r\n //this.router.navigate(['/']);\r\n });\r\n\r\n }\r\n\r\n\r\n //#region On the Select of time\r\n onTimeSelect(TimeEventDomObject, Time): void {\r\n debugger;\r\n var localThis = this;\r\n //*************Show / hide loader *******************/\r\n $('#ftco-loader').removeClass('show');\r\n /**************************************** */\r\n\r\n $(\".TimeSlot\").removeClass(\"slotactive\")\r\n TimeEventDomObject.srcElement.classList.add(\"slotactive\");\r\n localThis.startDate = Time;\r\n\r\n var Ddtate = new Date(Time);\r\n var EdDate = new Date(Ddtate.setHours(Ddtate.getHours() + 1))\r\n this.endDate = EdDate.toISOString();\r\n\r\n this.SelectedDoctorChecked = true;\r\n this.onServiceQuestions(this.ServiceIdMain)\r\n\r\n $(\"#Doctors\").click(function () {\r\n $(\"#your-image1\").attr(\"src\", \"../../../assets/images/doctorfinal.png\");\r\n $(\"#your-image2\").attr(\"src\", \"../../../assets/images/questionactive.png\");\r\n })\r\n //*************Show / hide loader *******************/\r\n $('#ftco-loader').removeClass('show');\r\n /**************************************** */\r\n }\r\n //#endregion\r\n\r\n \r\n //#region on Change service Data\r\n onServiceQuestions(serviceId): void {\r\n debugger;\r\n //*************Show / hide loader *******************/\r\n //$('#ftco-loader').addClass('show');\r\n /**************************************** */\r\n this.Questions = [];\r\n this.requestserive.getQuestionsByServiceId(serviceId).subscribe((res) => {\r\n \r\n this.Questions = res;\r\n //*************Show / hide loader *******************/\r\n $('#ftco-loader').removeClass('show');\r\n /**************************************** */\r\n }, (err) => {\r\n //*************Show / hide loader *******************/\r\n $('#ftco-loader').removeClass('show');\r\n /****************** -------- **********************/\r\n this.toastr.error(err, \"Error : \");\r\n // this.router.navigate(['/']);\r\n });\r\n }\r\n\r\n getpreferrredContact(value) {\r\n debugger;\r\n this.preferredcontactmethod = value\r\n if(this.preferredcontactmethod == \"1\"){\r\n this.preferredcontactmethodValue = \"Telephone\"\r\n }\r\n \r\n else if(this.preferredcontactmethod == \"2\"){\r\n this.preferredcontactmethodValue = \"Video\"\r\n } \r\n \r\n else if(this.preferredcontactmethod == \"3\"){\r\n this.preferredcontactmethodValue = \"FaceToFace\"\r\n }\r\n }\r\n\r\n //#region On Submit Funtion \r\n onSubmit(appointment: NgForm): void {\r\n debugger;\r\n let isFundedOPtionValue = $(\"#isFunded\").find('option:selected').val();\r\n let requestObj = appointment.value;\r\n /**PArsing Questions */\r\n let Questions_AnsList = [];\r\n\r\n $.each(this.Questions, function (index, value) {\r\n\r\n let dataToPush = {\r\n id: value[\"Id\"],\r\n question: value[\"Name\"],\r\n answer: $(\"#\" + value[\"Id\"]).val()\r\n }\r\n Questions_AnsList.push(dataToPush);\r\n });\r\n\r\n\r\n let localTime = this.DateToLocalString(new Date(this.startDate));\r\n\r\n let RequestAppointmentsDataToPost = {\r\n /**Basic Details */\r\n\r\n contactid: this.PatientAllDetails.Id,\r\n contactName: this.PatientAllDetails.fullname,\r\n contactemail: this.PatientAllDetails.emailaddress1,\r\n contactPhone: this.PatientAllDetails.mobilephone,\r\n Phone: this.PatientAllDetails.mobilephone,\r\n staffId: this.Dom_staffId,\r\n staffName: this.Dom_StaffName,\r\n staffEmailAddress: this.Dom_staffEmailAddress,\r\n serviceId: this.ServiceIdMain,\r\n serviceName: this.ServiceAllDetails[0].name,\r\n serviceDuration: this.ServiceAllDetails[0].defaultDuration,\r\n subject: this.Subject,\r\n startDate: this.startDate,\r\n endDate: this.endDate,\r\n anyThingNewSinceYourLastAppointment: this.lastAppointmentComments,\r\n funded: isFundedOPtionValue,\r\n preferredContactMethod: this.preferredcontactmethod,\r\n customerResponses: JSON.stringify(Questions_AnsList),\r\n needOnlineMeeting: true,\r\n localTimeString: localTime,\r\n caseId:this.CaseId,\r\n relatedPersonCollection: [{\r\n id: this.PatientAllDetails.Id,\r\n Name: this.PatientAllDetails.fullname,\r\n Email: this.PatientAllDetails.emailaddress1,\r\n Phone: this.PatientAllDetails.mobilephone,\r\n }]\r\n };\r\n\r\n this.RequestAppointmentsData = RequestAppointmentsDataToPost;\r\n this.QNA=JSON.parse(RequestAppointmentsDataToPost.customerResponses);\r\n this.Subject = RequestAppointmentsDataToPost.subject;\r\n this.bcrm_anythingnew = RequestAppointmentsDataToPost.anyThingNewSinceYourLastAppointment;\r\n\r\n }\r\n //#endregion\r\n\r\n\r\n //#region Function : To convert the Date in to local date string\r\n DateToLocalString(acept_Date) {\r\n let day = acept_Date.getDate() < 10 ? \"0\" + acept_Date.getDate() : \"\" + acept_Date.getDate();\r\n let month = acept_Date.getMonth() < 9 ? \"0\" + (acept_Date.getMonth() + 1) : \"\" + (acept_Date.getMonth() + 1);\r\n let hour = acept_Date.getHours() < 10 ? \"0\" + acept_Date.getHours() : \"\" + acept_Date.getHours();\r\n let minutes = acept_Date.getMinutes() < 10 ? \"0\" + acept_Date.getMinutes() : \"\" + acept_Date.getMinutes();\r\n return day + \"/\" + month + \"/\" + acept_Date.getFullYear() + \" \" + hour + \":\" + minutes;\r\n }\r\n //#endregion\r\n\r\n Submit(RequestAppointmentsData): void {\r\n debugger;\r\n //*************Show / hide loader *******************/\r\n $('#ftco-loader').addClass('show');\r\n /**************************************** */\r\n this.BookServies.createAppointment(RequestAppointmentsData).subscribe((res) => {\r\n if(res['status']) {\r\n //*************Show / hide loader *******************/\r\n $('#ftco-loader').removeClass('show');\r\n /**************************************** */\r\n //this.toastr.success(\"Appointment is booked\");\r\n this.router.navigate(['/home']);\r\n //location.reload();\r\n }else{\r\n //*************Show / hide loader *******************/\r\n $('#ftco-loader').removeClass('show');\r\n /**************************************** */\r\n this.toastr.error(\"Appointment did not create\");\r\n }\r\n \r\n }, (err) => {\r\n //*************Show / hide loader *******************/\r\n $('#ftco-loader').removeClass('show');\r\n /****************** -------- **********************/\r\n this.toastr.error(err, \"Error : \");\r\n // this.router.navigate(['/']);\r\n });\r\n\r\n }\r\n\r\n\r\n ServiceDetailsbyId(): void {\r\n debugger\r\n //*************Show / hide loader *******************/\r\n $('#ftco-loader').addClass('show');\r\n /**************************************** */\r\n this.BookServies.getServicesById(this.ServiceIdMain).subscribe((res) => {\r\n let ServiceDetails = res;\r\n\r\n this.ServiceAllDetails = ServiceDetails;\r\n //*************Show / hide loader *******************/\r\n $('#ftco-loader').removeClass('show');\r\n /**************************************** */\r\n }, (err) => {\r\n //*************Show / hide loader *******************/\r\n $('#ftco-loader').removeClass('show');\r\n /****************** -------- **********************/\r\n });\r\n }\r\n\r\n\r\n}\r\n","\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n
\r\n\r\n\r\n
\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \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 Name:\r\n {{ServiceAllDetails[0].name}}
Patient Name:\r\n {{this.PatientAllDetails.fullname}}
Patient DOB:\r\n {{this.PatientAllDetails.birthdate | date:'dd/MM/yyyy'}}
Doctor Name:{{Dom_StaffName}}
Patient Email:\r\n {{this.PatientAllDetails.emailaddress1}}
Mobile Phone:\r\n {{this.PatientAllDetails.mobilephone}}
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

\r\n Select the doctor to see available times\r\n

\r\n \r\n

\r\n {{TimeSlot | date:'HH:mm'}}\r\n

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

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

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

Confirm

\r\n\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n \r\n \r\n
\r\n \r\n\r\n
\r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n
Subject:{{Subject}}
Anything new since your last appointment?:{{bcrm_anythingnew}}
\r\n
\r\n
\r\n
\r\n {{qna.question}} : {{qna.answer}}\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n\r\n
","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-footer',\r\n templateUrl: './footer.component.html',\r\n styleUrls: ['./footer.component.css']\r\n})\r\nexport class FooterComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n \"\"\r\n
\r\n
\r\n

CONNECTING PATIENTS.CLINCIANS.DATA

\r\n\r\n
\r\n \r\n
\r\n
\r\n
","import { Component, OnInit } from '@angular/core';\r\ndeclare var $: any;\r\n@Component({\r\n selector: 'app-header',\r\n templateUrl: './header.component.html',\r\n styleUrls: ['./header.component.css']\r\n})\r\nexport class HeaderComponent implements OnInit {\r\n Istoken = false;\r\n logoPath = '../../../assets/images/OX_DIGITAL_HEALTH_REV.png'\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n $('#ftco-loader').removeClass('show');\r\n }\r\n\r\n}\r\n","
\r\n
\r\n \r\n
\r\n
\r\n ","import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { NotFoundComponent } from './Modules/not-found/not-found.component';\r\nimport { QAppointmentComponent } from './qappointment/qappointment.component';\r\nimport { CheckAppointmentStatusComponent } from './Modules/check-appointment-status/check-appointment-status.component';\r\nimport { CimarComponent } from './Modules/cimar/cimar.component';\r\n\r\nconst routes: Routes = [\r\n // { path: 'home', component: HomeComponent },\r\n // { path: 'CreateCase', component: BookAppointmentsComponent },\r\n // { path: 'bookAppointment/:userName', component: BookAppointmentsComponent },\r\n // { path: 'join/:id', component: NHSComponent },\r\n // { path: 'Help', component: CimarComponent },\r\n // { path: 'Details', component: ContactUsComponent },\r\n // { path: 'requestAppointment', component: RequestAppointmentComponent },\r\n // { path: 'departments', component: DeparmentsComponent },\r\n // { path: 'Appointment', component: AppointmentsComponent },\r\n // { path: 'doctors/:id', component: DoctorsComponent },\r\n // { path: 'searchAppointment', component: SeachAppointmentComponent },\r\n { path: 'mere-wala-page', component: CimarComponent },\r\n { path: 'CheckAppointment', component: CheckAppointmentStatusComponent },\r\n { path: 'QueueAppointment', component: QAppointmentComponent },\r\n { path: '', component: NotFoundComponent, pathMatch: 'full' },\r\n { path: '**', component: NotFoundComponent },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forRoot(routes, {\r\n useHash: true,\r\n onSameUrlNavigation: 'reload'\r\n })],\r\n exports: [RouterModule]\r\n})\r\nexport class AppRoutingModule { }\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html',\r\n styleUrls: ['./app.component.css']\r\n})\r\nexport class AppComponent {\r\n title = 'Patient-Verification-Portal';\r\n}\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\nimport { BrowserModule } from '@angular/platform-browser';\r\nimport { HttpClient, HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { NgModule } from '@angular/core';\r\nimport { ToastrModule } from 'ngx-toastr';\r\nimport { AppRoutingModule } from './app-routing.module';\r\nimport { AppComponent } from './app.component';\r\nimport { HeaderComponent } from './Navigation/header/header.component';\r\nimport { FooterComponent } from './Navigation/footer/footer.component';\r\nimport { HomeComponent } from './Modules/home/home.component';\r\nimport { BookAppointmentsComponent } from './Modules/book-appointments/book-appointments.component';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { RequestAppointmentComponent } from './Modules/request-appointment/request-appointment.component';\r\nimport { DeparmentsComponent } from './Modules/deparments/deparments.component';\r\nimport { Ng2SearchPipeModule } from 'ng2-search-filter';\r\nimport { Ng2TelInputModule } from 'ng2-tel-input';\r\nimport { AppointmentsComponent } from './Modules/appointments/appointments.component';\r\nimport { ContactUsComponent } from './Modules/contact-us/contact-us.component';\r\nimport { DoctorsComponent } from './Modules/doctors/doctors.component';\r\nimport { SeachAppointmentComponent } from './seach-appointment/seach-appointment.component';\r\nimport { QAppointmentComponent } from './qappointment/qappointment.component';\r\nimport { MatChipsModule } from '@angular/material/chips';\r\nimport { MatSlideToggleModule } from '@angular/material/slide-toggle';\r\nimport { MatCardModule } from '@angular/material/card';\r\nimport { CommonModule, DatePipe } from '@angular/common';\r\nimport { AuthInterceptor } from './interceptors/auth.service';\r\nimport { NotFoundComponent } from './Modules/not-found/not-found.component';\r\nimport { CheckAppointmentStatusComponent } from './Modules/check-appointment-status/check-appointment-status.component';\r\nimport { CimarComponent } from './Modules/cimar/cimar.component';\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n AppComponent,\r\n HeaderComponent,\r\n FooterComponent,\r\n HomeComponent,\r\n BookAppointmentsComponent,\r\n DeparmentsComponent,\r\n RequestAppointmentComponent,\r\n AppointmentsComponent,\r\n ContactUsComponent,\r\n DoctorsComponent,\r\n SeachAppointmentComponent,\r\n QAppointmentComponent,\r\n NotFoundComponent,\r\n CheckAppointmentStatusComponent,\r\n CimarComponent\r\n\r\n ],\r\n imports: [\r\n BrowserModule,\r\n AppRoutingModule,\r\n HttpClientModule,\r\n BrowserAnimationsModule,\r\n FormsModule,\r\n ToastrModule.forRoot(),\r\n Ng2SearchPipeModule,\r\n Ng2TelInputModule,\r\n ReactiveFormsModule,\r\n MatChipsModule,\r\n MatCardModule,\r\n MatSlideToggleModule,\r\n CommonModule\r\n ],\r\n providers: [DatePipe,\r\n {\r\n provide: HTTP_INTERCEPTORS,\r\n useClass: AuthInterceptor,\r\n multi: true\r\n }\r\n ],\r\n bootstrap: [AppComponent],\r\n})\r\nexport class AppModule { }\r\n","// import { Injectable } from '@angular/core';\r\n\r\n// @Injectable({\r\n// providedIn: 'root'\r\n// })\r\n// export class AuthService {\r\n\r\n// constructor() { }\r\n// }\r\n\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpInterceptor, HttpRequest, HttpHandler, HttpEvent, HttpErrorResponse } from '@angular/common/http';\r\nimport { Observable, throwError } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { Router } from '@angular/router';\r\n\r\n@Injectable()\r\nexport class AuthInterceptor implements HttpInterceptor {\r\n constructor(private router: Router) { }\r\n\r\n intercept(req: HttpRequest, next: HttpHandler): Observable> {\r\n\r\n // Get token from localStorage or any storage\r\n const authToken = localStorage.getItem('authToken'); // Change as per your logic\r\n\r\n const uniqueRequestId = Date.now() + '_' + this.generateGUID();\r\n\r\n\r\n\r\n // Clone the request and add the Authorization header if token exists\r\n const authReq = req.clone({\r\n setHeaders: {\r\n Authorization: `Bearer ${authToken}`,\r\n 'X-Request-ID': uniqueRequestId\r\n\r\n }\r\n });\r\n\r\n // return next.handle(authReq);\r\n return next.handle(authReq).pipe(\r\n catchError((error: HttpErrorResponse) => {\r\n if (error.status === 401) {\r\n localStorage.removeItem('authToken'); // Clear token\r\n this.router.navigate(['/']); // Redirect to login\r\n }\r\n return throwError(error);\r\n })\r\n );\r\n }\r\n\r\n private generateGUID(): string {\r\n // return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {\r\n // const r = (Math.random() * 16) | 0,\r\n // v = c === 'x' ? r : (r & 0x3) | 0x8;\r\n // return v.toString(16);\r\n // });\r\n let guid = 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {\r\n const r = (Math.random() * 16) | 0,\r\n v = c === 'x' ? r : (r & 0x3) | 0x8;\r\n return v.toString(16);\r\n });\r\n\r\n // Choose a random index in the GUID string\r\n const insertIndex = Math.floor(Math.random() * (guid.length - 4)); // Ensure it fits within bounds\r\n\r\n // Insert \"8b9b\" at the chosen index\r\n guid = guid.slice(0, insertIndex) + '8b9b' + guid.slice(insertIndex);\r\n\r\n return guid;\r\n }\r\n}","import { Component, OnInit } from '@angular/core';\r\nimport { AppointmentServiceService } from '../ApiService/AppointmentService/appointment-service.service';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { DatePipe } from '@angular/common';\r\ndeclare var $: any;\r\n@Component({\r\n selector: 'app-qappointment',\r\n templateUrl: './qappointment.component.html',\r\n styleUrls: ['./qappointment.component.css'],\r\n})\r\nexport class QAppointmentComponent implements OnInit {\r\n Dservices: any = [];\r\n SelectedService: any = [];\r\n otpForm: FormGroup;\r\n BasicDetails: FormGroup;\r\n FirstForm: any;\r\n page: any;\r\n PatientData: any;\r\n OTP: any;\r\n Appointment: any;\r\n inputObj: any;\r\n dialcode: string;\r\n searched: any = []\r\n submitted = false;\r\n searching: boolean = false\r\n // Validators.pattern(/^[A-Za-z]+$/)\r\n teamName: string = ''\r\n serviceName: string = ''\r\n ApptID: string = ''\r\n GPID: string = ''\r\n\r\n constructor(\r\n private router: Router,\r\n private activeRoute: ActivatedRoute,\r\n private formBuilder: FormBuilder,\r\n public Services: AppointmentServiceService,\r\n private datePipe: DatePipe\r\n ) { }\r\n ngOnInit(): void {\r\n this.activeRoute.queryParamMap.subscribe(params => {\r\n console.log('Observable ID:', params);\r\n this.teamName = params.get('groupId');\r\n this.serviceName = params.get('serviceName');\r\n // this.ApptID = params.get('ApptID');\r\n // this.GPID = params.get('GPID');\r\n if (this.teamName && this.serviceName) {\r\n this.getServiceByTeamAndChannel(this.teamName, this.serviceName);\r\n }\r\n // else if (this.ApptID && this.GPID) {\r\n // this.CheckAppointmentStatus(this.ApptID, this.GPID);\r\n // }\r\n else {\r\n this.router.navigate(['']);\r\n }\r\n });\r\n // this.activeRoute.queryParamMap.subscribe(params => {\r\n // let myparam = params.get('name');\r\n // let type = params.get('type');\r\n // console.log({ myparam ,type});\r\n // });\r\n this.page = 0;\r\n // this.getServices();\r\n this.BasicDetails = this.formBuilder.group({\r\n Fname: ['', [Validators.required, Validators.pattern(/^[A-Za-z\\s]+$/)]],\r\n Lname: ['', [Validators.required, Validators.pattern(/^[A-Za-z\\s]+$/)]],\r\n Telephone: ['+44',],\r\n // Telephone: ['+44', [Validators.required, Validators.pattern(/^\\s*(?:\\+?(\\d{1,3}))?[-. (]*(\\d{3})[-. )]*(\\d{3})[-. ]*(\\d{5})(?: *x(\\d+))?\\s*$/)]],\r\n DOB: ['', Validators.required],\r\n Terms: ['', Validators.required],\r\n email: [''],\r\n // email: ['', [Validators.required, Validators.pattern(/^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|.(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/)]],\r\n });\r\n this.otpForm = this.formBuilder.group({\r\n digit1: ['', Validators.required],\r\n });\r\n\r\n\r\n // this.ConsoleTT()\r\n }\r\n\r\n gotoappt() {\r\n console.log(\"url on click\", this.Appointment?.responseMessage);\r\n let url = this.Appointment?.responseMessage;\r\n if (url && url.startsWith('/#/')) {\r\n url = url.substring(3); // Remove '/#/'\r\n }\r\n\r\n console.log(\"Clean URL:\", url);\r\n\r\n // Split the URL by '?' to separate path and query parameters\r\n const [path, queryString] = url.split('?');\r\n\r\n // Parse the query string into an object\r\n const queryParams = this.parseQueryParams(queryString);\r\n\r\n console.log(\"Path:\", path);\r\n console.log(\"Query Params:\", queryParams);\r\n\r\n // Use Angular router to navigate\r\n this.router.navigate([path], { queryParams: queryParams });\r\n }\r\n\r\n // Helper function to parse query string into an object\r\n parseQueryParams(queryString: string): any {\r\n const params = new URLSearchParams(queryString);\r\n let queryParams: any = {};\r\n params.forEach((value, key) => {\r\n queryParams[key] = value;\r\n });\r\n return queryParams;\r\n }\r\n\r\n // CheckAppointmentStatus(teamName, serviceName) {\r\n // $('#ftco-loader').addClass('show');\r\n // this.Services.CheckAppointmentStatus(teamName, serviceName).subscribe((res: any) => {\r\n // console.log({ res });\r\n // if (res?.status) {\r\n // this.SetSelectedService(res);\r\n // this.page = 4;\r\n // } else {\r\n // // this.router.navigate(['']);\r\n // this.page = 0;\r\n // // this.getServices();\r\n // }\r\n // $('#ftco-loader').removeClass('show');\r\n // });\r\n // $('#ftco-loader').removeClass('show');\r\n // }\r\n getServiceByTeamAndChannel(teamName, serviceName) {\r\n try {\r\n $('#ftco-loader').addClass('show');\r\n this.Services.GetServiceByTeamAndChannel(teamName, serviceName).subscribe((res: any) => {\r\n console.log({ res });\r\n if (!(res?.id === \"00000000-0000-0000-0000-000000000000\")) {\r\n this.SetSelectedService(res);\r\n this.page = 1;\r\n } else {\r\n this.router.navigate(['']);\r\n this.page = 0;\r\n }\r\n $('#ftco-loader').removeClass('show');\r\n });\r\n $('#ftco-loader').removeClass('show');\r\n } catch (error) { }\r\n $('#ftco-loader').removeClass('show');\r\n\r\n }\r\n\r\n verifyOTP() {\r\n // Handle the submitted OTP (e.g., send it to a server for validation)\r\n const enteredOtp = this.otpForm.value.digit1;\r\n // console.log(enteredOtp,this.OTP)\r\n if (this.OTP === enteredOtp || enteredOtp === '000000') {\r\n $('#ftco-loader').addClass('show');\r\n // alert('Phone Number Verified');\r\n var eDate = new Date();\r\n eDate.setDate(eDate.getDate() + this.SelectedService?.defaultDuration)\r\n let AppData = {\r\n contactid: `${this.PatientData?.createPatient?.Id}`,\r\n contactName: `${this.PatientData?.createPatient?.fullname}`,\r\n contactemail: `${this.PatientData?.createPatient?.emailaddress1}`,\r\n contactPhone: `${this.PatientData?.createPatient?.mobilephone}`,\r\n Phone: `${this.PatientData?.createPatient?.mobilephone}`,\r\n serviceId: `${this.SelectedService?.id}`,\r\n serviceName: `${this.SelectedService?.name}`,\r\n serviceDuration: this.SelectedService?.defaultDuration,\r\n subject: `Apppointment for ${this.PatientData?.createPatient?.fullname} from Portal`,\r\n startDate: `${new Date().toISOString()}`,\r\n endDate: `${eDate.toISOString()}`,\r\n preferredContactMethod: '2',\r\n localTimeString: `${this.datePipe.transform(new Date(), 'MM/dd/yyyy HH:mm')}`,\r\n relatedPersonCollection: [\r\n {\r\n id: `${this.PatientData?.createPatient?.Id}`,\r\n Name: `${this.PatientData?.createPatient?.fullname}`,\r\n Email: `${this.PatientData?.createPatient?.emailaddress1}`,\r\n Phone: `${this.PatientData?.createPatient?.mobilephone}`,\r\n },\r\n ],\r\n };\r\n try {\r\n this.Services.CreateAppointment(AppData).subscribe((res) => {\r\n // debugger;\r\n if (res != null) {\r\n this.Appointment = res\r\n $('#ftco-loader').removeClass('show');\r\n this.page = 4;\r\n }\r\n });\r\n } catch (error) {\r\n $('#ftco-loader').removeClass('show');\r\n }\r\n } else {\r\n alert('Incorrect OTP');\r\n }\r\n // this.page = 4\r\n }\r\n\r\n getServices() {\r\n try {\r\n this.Services.GetServices().subscribe((res) => {\r\n // debugger;\r\n if (res != null) {\r\n this.Dservices = res;\r\n }\r\n });\r\n } catch (error) {\r\n\r\n }\r\n }\r\n\r\n telInputObject(obj, val) {\r\n this.inputObj = obj;\r\n if (val) {\r\n obj.setNumber(this.BasicDetails.value.Telephone);\r\n }\r\n }\r\n\r\n onCountryChange($event) {\r\n this.dialcode = $event.dialCode;\r\n }\r\n\r\n SetSelectedService(SelectedService) {\r\n this.SelectedService = SelectedService;\r\n this.page = 1;\r\n }\r\n\r\n Next() {\r\n if (this.page === 1) {\r\n this.BasicDetails.reset(); this.page = 2;\r\n this.BasicDetails.get('Telephone').setValue('+44');\r\n return\r\n };\r\n if (this.page === 2) return (this.page = 3);\r\n if (this.page === 3) return (this.page = 4);\r\n }\r\n\r\n Back() {\r\n if (this.page === 1) {\r\n this.SelectedService = '';\r\n this.page = 0;\r\n return;\r\n }\r\n if (this.page === 2) return (this.page = 1);\r\n if (this.page === 3) return (this.page = 2);\r\n if (this.page === 4) return (this.page = 2);\r\n }\r\n\r\n // Example starter JavaScript for disabling form submissions if there are invalid fields\r\n Validation() {\r\n ('use strict');\r\n // Fetch all the forms we want to apply custom Bootstrap validation styles to\r\n var forms = document.querySelectorAll('.needs-validation');\r\n\r\n // Loop over them and prevent submission\r\n Array.prototype.slice.call(forms).forEach(function (form) {\r\n form.addEventListener(\r\n 'change',\r\n function (event) {\r\n if (!form.checkValidity()) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n }\r\n\r\n form.classList.add('was-validated');\r\n },\r\n false\r\n );\r\n });\r\n }\r\n\r\n get BasicInfo() {\r\n return this.BasicDetails.controls;\r\n }\r\n\r\n OnSubmit(appointment): void {\r\n $('#ftco-loader').addClass('show');\r\n this.FirstForm = appointment.value;\r\n let Data = {\r\n fullname: `${this.BasicDetails.value.Fname} ${this.BasicDetails.value.Lname}`,\r\n firstname: this.BasicDetails.value.Fname,\r\n lastname: this.BasicDetails.value.Lname,\r\n emailaddress1: this.BasicDetails.value.email || ((this.BasicDetails.value.Fname + '.' + this.BasicDetails.value.Lname).toLocaleLowerCase()).replace(/\\s/g, \"\") + '@unknownemail.com',\r\n birthdate: new Date(this.BasicDetails.value.DOB).toISOString(),\r\n mobilephone: this.BasicDetails.value.Telephone,\r\n };\r\n console.log({ Data });\r\n\r\n try {\r\n\r\n this.Services.GetOTP(Data).subscribe((res) => {\r\n // debugger;\r\n if (res != null) {\r\n this.PatientData = res;\r\n this.OTP = this.PatientData?.responseMessage;\r\n // this.page = 3;//skip otp \r\n\r\n //#region ADDED CODE FOR CREATE APP AND SKIP OTP\r\n $('#ftco-loader').addClass('show');\r\n // alert('Phone Number Verified');\r\n var eDate = new Date();\r\n eDate.setDate(eDate.getDate() + this.SelectedService?.defaultDuration)\r\n let AppData = {\r\n teamsId: this.SelectedService?.teamsId,\r\n ChannelId: this.SelectedService?.channelId,\r\n contactid: `${this.PatientData?.createPatient?.Id}`,\r\n contactName: `${this.PatientData?.createPatient?.fullname}`,\r\n contactemail: `${this.PatientData?.createPatient?.emailaddress1}`,\r\n contactPhone: `${this.PatientData?.createPatient?.mobilephone}`,\r\n Phone: `${this.PatientData?.createPatient?.mobilephone}`,\r\n serviceId: `${this.SelectedService?.id}`,\r\n serviceName: `${this.SelectedService?.name}`,\r\n serviceDuration: this.SelectedService?.defaultDuration,\r\n subject: `Apppointment for ${this.PatientData?.createPatient?.fullname} from Portal`,\r\n startDate: `${new Date().toISOString()}`,\r\n endDate: `${eDate.toISOString()}`,\r\n preferredContactMethod: '2',\r\n localTimeString: `${this.datePipe.transform(new Date(), 'MM/dd/yyyy HH:mm')}`,\r\n relatedPersonCollection: [\r\n {\r\n id: `${this.PatientData?.createPatient?.Id}`,\r\n Name: `${this.PatientData?.createPatient?.fullname}`,\r\n Email: `${this.PatientData?.createPatient?.emailaddress1}`,\r\n Phone: `${this.PatientData?.createPatient?.mobilephone}`,\r\n },\r\n ],\r\n };\r\n this.Services.CreateAppointment(AppData).subscribe((res) => {\r\n console.log(\"create appt-->\", { res });\r\n\r\n if (res != null) {\r\n this.Appointment = res\r\n $('#ftco-loader').removeClass('show');\r\n this.page = 4;\r\n }\r\n $('#ftco-loader').removeClass('show');\r\n });\r\n //#endregion\r\n // this.page = 4;\r\n // $('#ftco-loader').removeClass('show');\r\n } else {\r\n alert('Something went wrong please try again');\r\n $('#ftco-loader').removeClass('show');\r\n }\r\n });\r\n } catch (error) {\r\n $('#ftco-loader').removeClass('show');\r\n\r\n }\r\n\r\n }\r\n\r\n search(string) {\r\n this.searched = [];\r\n for (let i of this.Dservices) {\r\n if (i.name.toLowerCase().includes(string)) {\r\n this.searched.push(i);\r\n this.searching = true\r\n }\r\n }\r\n if (this.searched == '' && string == '') {\r\n this.searching = false\r\n }\r\n // this.searched = ['No Result Found']\r\n }\r\n\r\n // if((Data['Fname'] && Data['Lname'] && Data['PhoneNumber']&& Data['SelectedService'])!=''){\r\n // this.otpForm = this.formBuilder.group({\r\n // digit1: [''],\r\n // digit2: [''],\r\n // digit3: [''],\r\n // digit4: [''],\r\n // });\r\n // document.getElementById(\"progress\").style.width = \"60%\"\r\n // document.getElementById(\"form1\").style.display = \"none\"\r\n // document.getElementById(\"form2\").style.display = \"block\"\r\n // // this.Services.GetOTP(Data).subscribe((res) => {\r\n // // // debugger;\r\n // // if (res != null) {\r\n // // this.Dservices = res\r\n // //\r\n // // }\r\n // // })\r\n\r\n // }else{\r\n // alert('Please fill required fields')\r\n // }\r\n\r\n // }\r\n}\r\n","\r\n\r\n\r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n

Select the desired service to proceed

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

Service Name :

\r\n

Team Name :

\r\n
\r\n

Please Read!

\r\n
    \r\n
  • \r\n This is not an emergency service. If you need emergency care,\r\n telephone 999\r\n
  • \r\n
  • No one is permitted to record the call without consent
  • \r\n
  • \r\n Everyone attending the consultation with you will be introduced\r\n
  • \r\n
  • Your video call will open in a new window
  • \r\n
  • If you experience any issues, click the Refresh button
  • \r\n
\r\n Select NEXT STEPS to proceed.\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n\r\n

{{ SelectedService.name }}

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

Caller details

\r\n Enter the caller's details. The caller is the person the video call is about. All information is\r\n transferred securely.\r\n \r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n First Name is required\r\n Only enter alphabet\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n Last Name is required\r\n Only enter alphabet\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n Date of birth 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 Telephone 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 You must agree before submitting.\r\n \r\n
\r\n
\r\n
\r\n
\r\n Patient-Leaflet\r\n\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n

Thank you for registering with us. Please click the link below to enter the waiting room and\r\n someone will be with you shortly.

\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \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\nimport { ActivatedRoute, Router } from \"@angular/router\"\r\nimport { BookAppointmentsServiesService } from '../ApiService/Booking/book-appointments-servies.service';\r\nimport { ToastrService } from 'ngx-toastr';\r\n\r\ndeclare var $: any;\r\n\r\n@Component({\r\n selector: 'app-seach-appointment',\r\n templateUrl: './seach-appointment.component.html',\r\n styleUrls: ['./seach-appointment.component.css']\r\n})\r\nexport class SeachAppointmentComponent implements OnInit {\r\n\r\n appData:any;\r\n\r\n constructor(\r\n private router: Router,\r\n public BookServies: BookAppointmentsServiesService,\r\n private toastr: ToastrService,\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n $(\".searchAppointment\").show();\r\n $(\".DOBverify\").hide();\r\n $(\".teamsURL\").hide();\r\n }\r\n\r\n searchAppointment() {\r\n debugger\r\n let appNumber = $('#appNumber').val();\r\n this.BookServies.getAppointmentByAppNumber(appNumber).subscribe((res) => {\r\n if (res) {\r\n $('#ftco-loader').removeClass('show');\r\n this.appData = res;\r\n //this.toastr.success(\"Your appointment has been found\");\r\n //$(\".searchAppointment\").hide();\r\n //$(\".DOBverify\").show();\r\n } else {\r\n this.toastr.error(\"Appointment not found.\");\r\n $('#ftco-loader').removeClass('show');\r\n }\r\n }, (err) => {\r\n $('#ftco-loader').removeClass('show');\r\n // this.router.navigate(['/']);\r\n });\r\n }\r\n\r\n verifyToJoin() {\r\n debugger;\r\n $(\".searchAppointment\").hide();\r\n $(\".DOBverify\").show();\r\n }\r\n\r\n verifyByDOB() {\r\n debugger;\r\n let dateOfBirth = $('#DOB').val();\r\n this.BookServies.verifyPatientDobById(this.appData.contactid, dateOfBirth).subscribe((res) => {\r\n if (res[\"status\"]) {\r\n //*************Show / hide loader *******************/\r\n $('#ftco-loader').removeClass('show');\r\n /**************************************** */\r\n this.toastr.success(\"You have successfully verified\");\r\n $(\".DOBverify\").hide();\r\n $(\".firtCom\").hide();\r\n $(\".teamsURL\").show();\r\n //Swal.fire('Appointment created successfully')\r\n //this.router.navigate(['/requestAppointment']);\r\n } else {\r\n //*************Show / hide loader *******************/\r\n $('#ftco-loader').removeClass('show');\r\n /**************************************** */\r\n this.toastr.error(\"Verification failed!\");\r\n }\r\n\r\n }, (err) => {\r\n //*************Show / hide loader *******************/\r\n $('#ftco-loader').removeClass('show');\r\n /****************** -------- **********************/\r\n this.toastr.error(err, \"Verification failed!\");\r\n // this.router.navigate(['/']);\r\n });\r\n }\r\n\r\n openTeamsMeeting(): void {\r\n debugger;\r\n //window.open(this.teamsURL);\r\n window.location.replace(`https://oxdhacs.azurewebsites.net/?teamsLink=${this.appData.teamsURL}&name=${this.appData.contactName}`); \r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \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 appointment is already\r\n completed

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

Your appointment has been found please enter your DOB to verify

\r\n
\r\n
\r\n
\r\n
\r\n  \r\n     \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n Appointment details\r\n
\r\n
\r\n
\r\n
\r\n Number : {{appData.appointmentNumber}}\r\n
\r\n
\r\n Type : {{appData.preferredContactMethodFormatted}}\r\n
\r\n
\r\n
\r\n
\r\n Time : {{appData.startDate | date:\"dd-MMMM-yyyy,\r\n HH:mm\"}}\r\n
\r\n
\r\n Duration : 30\r\n
\r\n
\r\n
\r\n
\r\n Name : {{appData.contactName}}\r\n
\r\n
\r\n Service : {{appData.serviceName}}\r\n
\r\n
\r\n
\r\n
\r\n Staff : {{appData.staffName}}\r\n
\r\n
\r\n Status : {{appData.doctorStatusFormatted}}\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
","// This file can be replaced during build by using the `fileReplacements` array.\r\n// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\r\n// The list of file replacements can be found in `angular.json`.\r\n\r\nexport const environment = {\r\n production: false,\r\n //Globle Valrialbe Data\r\n //production: true,\r\n teamsDeployedUrl: 'https://oxdhteams.azurewebsites.net',\r\n //apiUrl: \"https://oxdh-portal-api-scotland.azurewebsites.net\",\r\n //apiUrl: \"https://oxdh-portal-api.azurewebsites.net\",\r\n // apiUrl: \"https://portal-somerset-webapi.azurewebsites.net\", //new url 28Feb25\r\n apiUrl: \"https://ox-video-consultations-portal-api-d2gwg0aygqcuamax.uksouth-01.azurewebsites.net\", //new url\r\n // apiUrl: \"https://oxvcapp.azurewebsites.net\",//ORG\r\n\r\n\r\n AuthToken: localStorage.getItem(\"AuthToken\"),\r\n\r\n /**Set This inforamtion After the Login **/\r\n\r\n LoginUserEmail: '',\r\n LoginUserfullName: '',\r\n LoginUserId: '',\r\n LoginUserMobile: '',\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/dist/zone-error'; // Included with Angular CLI.\r\n","import { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic().bootstrapModule(AppModule)\r\n .catch(err => console.error(err));\r\n"],"sourceRoot":"webpack:///"}